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

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

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

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

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

\n

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

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

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

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

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

\nPossible values include:\n

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

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

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

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

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

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

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

organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/attributes", + "request": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates an API product in an organization.\nYou create API products after\nyou have proxied backend services using API proxies.\nAn API product is a\ncollection of API resources combined with quota settings and metadata that\nyou can use to deliver customized and productized API bundles to your\ndeveloper community. This metadata can include:\n\n- Scope\n- Environments\n- API proxies\n- Extensible profile\n\nAPI products enable you repackage APIs\non-the-fly, without having to do any additional coding or configuration.\nApigee recommends that you start with a simple API product including only\nrequired elements. You then provision credentials to apps to enable them to\nstart testing your APIs.\n\nAfter you have authentication and authorization\nworking against a simple API product, you can iterate to create finer\ngrained API products, defining different sets of API resources for each API\nproduct.\n\n\n\nFor more information, see {{what_api_product}}", + "flatPath": "v1/organizations/{organizationsId}/apiproducts", + "httpMethod": "POST", + "id": "apigee.organizations.apiproducts.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent organization name under which the API product will\nbe created. Must be in the following form:\n
organizations/organization_ID
", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apiproducts", + "request": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an API product from an organization.\n\nDeleting an API product\ncauses app requests to the resource URIs defined in the API product to\nfail.\n\nEnsure that you create a new API product to serve existing apps, unless\nyour intention is to disable access to the resources defined in the API\nproduct.\n\nThe API product name required in the request URL is the internal name of\nthe product, not the display name. While they may be the same, it depends\non whether the API product was created via the UI or the API. View the list\nof API products to verify the internal name.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apiproducts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets configuration details for an API product.\n\nThe API product name required in the request URL is the internal name of\nthe product, not the display name. While they may be the same, it depends\non whether the API product was created via the UI or the API. View the list\nof API products to verify the internal name.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all API product names for an organization.\nFilter the list by passing an `attributename` and `attibutevalue`.\n\nThe limit on the number of API products returned by the API is 1000. You\ncan paginate the list of API products returned using the `startKey` and\n`count` query parameters.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "attributename": { + "description": "The name of the attribute to search.", + "location": "query", + "type": "string" + }, + "attributevalue": { + "description": "The value of the attribute.", + "location": "query", + "type": "string" + }, + "count": { + "description": "Enter the number of API products you want returned in the API call. The\nlimit is 1000.", + "format": "int64", + "location": "query", + "type": "string" + }, + "expand": { + "description": "Set to `true` to get expanded details about each API.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "**Required.** The parent organization name in the following form:\n
organizations/organization_ID
", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "startKey": { + "description": "Gets a list of API products starting with a specific API product in the\nlist. For example, if you're returning 50 API products at a time (using the\n`count` query parameter), you can view products 50-99 by entering the name\nof the 50th API product in the first API (without using `startKey`).\nProduct name is case sensitive.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/apiproducts", + "response": { + "$ref": "GoogleCloudApigeeV1ListApiProductsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing API product. You must include all required values,\nwhether or not you are updating them, as well as any optional values that\nyou are updating.\n\nThe API product name required in the request URL is the\ninternal name of the product, not the Display Name. While they may be the\nsame, it depends on whether the API product was created via UI or API. View\nthe list of API products to identify their internal names.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.apiproducts.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "attributes": { + "methods": { + "delete": { + "description": "Deletes an API product attribute.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes/{attributesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apiproducts.attributes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name/attributes/attribute_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the value of an API product attribute.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes/{attributesId}", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.attributes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name/attributes/attribute_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns a list of all API product attributes.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.attributes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent organization name. Must be in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attributes", + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateApiProductAttribute": { + "description": "Updates the value of an API product attribute. Limitations are:\n\nOAuth access tokens and Key Management Service (KMS) entities (apps,\ndevelopers, and API products) are cached for 180 seconds (current default).\nAny custom attributes associated with entities also get cached for at least\n180 seconds after entity is accessed during runtime.\nIn this case, the `ExpiresIn` element on the OAuthV2 policy won't be able\nto expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes/{attributesId}", + "httpMethod": "POST", + "id": "apigee.organizations.apiproducts.attributes.updateApiProductAttribute", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "apis": { + "methods": { + "create": { + "description": "Creates an API proxy.\nThe API proxy created will not be accessible at runtime until it is\ndeployed to an environment.\n\nCreate a new API proxy by setting the `name` query parameter to the\nname of the API proxy.\n\nImport an API proxy configuration bundle stored in zip format\non your local machine to your organization by doing the following:\n\n* Set the `name` query parameter to the name of the API proxy.\n* Set the `action` query parameter to `import`.\n* Set the `Content-Type` header to `multipart/form-data`.\n* Pass as a file the name of API proxy\n configuration bundle stored in zip format on your local machine using\n the `file` form field.\n\n**Note**: To validate the API proxy configuration bundle only\n without importing it, set the `action` query\n parameter to `validate`.\n\nWhen importing an API proxy configuration bundle, if the API proxy\ndoes not exist, it will be created.\nIf the API proxy exists, then a new revision is created. Invalid API\nproxy configurations are rejected, and a list of validation errors is\nreturned to the client.", + "flatPath": "v1/organizations/{organizationsId}/apis", + "httpMethod": "POST", + "id": "apigee.organizations.apis.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "action": { + "description": "Action to perform when importing an API proxy configuration bundle. Set\nthis parameter to one of the following values:\n\n* `import` to import the API proxy configuration bundle.\n* `validate` to validate the API proxy configuration bundle without\n importing it.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Name of the API proxy. Restrict the characters used to: A-Za-z0-9._-", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the organization in the following format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "validate": { + "description": "Ignored. All uploads are validated regardless of the value of this\nfield. Maintained for compatibility with Apigee Edge API.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/apis", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxyRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an API proxy and all associated endpoints, policies, resources, and\nrevisions. The API proxy must be undeployed before you can delete it.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apis.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the API proxy in the following format:\n `organizations/{org}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an API proxy including a list of existing revisions.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}", + "httpMethod": "GET", + "id": "apigee.organizations.apis.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the API proxy in the following format:\n `organizations/{org}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the names of all API proxies in an organization. The names returned\ncorrespond to the names defined in the configuration files for each API\nproxy.", + "flatPath": "v1/organizations/{organizationsId}/apis", + "httpMethod": "GET", + "id": "apigee.organizations.apis.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "includeMetaData": { + "description": "Flag that specifies whether to include API proxy metadata in the response.", + "location": "query", + "type": "boolean" + }, + "includeRevisions": { + "description": "Flag that specifies whether to include a list of revisions in the response.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. Name of the organization in the following format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apis", + "response": { + "$ref": "GoogleCloudApigeeV1ListApiProxiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of an API proxy.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.apis.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the API proxy for which to return deployment information in the\nfollowing format:\n `organizations/{org}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "keyvaluemaps": { + "methods": { + "create": { + "description": "Creates a key value map in an api proxy.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps", + "httpMethod": "POST", + "id": "apigee.organizations.apis.keyvaluemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the environment in which to create the key value map.\nMust be of the form\n`organizations/{organization}/apis/{api}`.", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keyvaluemaps", + "request": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a key value map in an api proxy.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apis.keyvaluemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the key value map.\nMust be of the form\n`organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`.", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "revisions": { + "methods": { + "delete": { + "description": "Deletes an API proxy revision and all policies, resources, endpoints,\nand revisions associated with it. The API proxy revision must be undeployed\nbefore you can delete it.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apis.revisions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API proxy revision in the following format:\n `organizations/{org}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxyRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an API proxy revision.\n\nTo download the API proxy configuration bundle for the specified revision\nas a zip file, do the following:\n\n * Set the `format` query parameter to `bundle`.\n * Set the `Accept` header to `application/zip`.\n\nIf you are using curl, specify `-o filename.zip` to save the output to a\nfile; otherwise, it displays to `stdout`. Then, develop the API proxy\nconfiguration locally and upload the updated API proxy configuration\nrevision, as described in\n[updateApiProxyRevision](updateApiProxyRevision).", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}", + "httpMethod": "GET", + "id": "apigee.organizations.apis.revisions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "format": { + "description": "Format used when downloading the API proxy configuration revision.\nSet to `bundle` to download the API proxy configuration revision as a zip\nfile.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. API proxy revision in the following format:\n `organizations/{org}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateApiProxyRevision": { + "description": "Updates an existing API proxy revision by uploading the API proxy\nconfiguration bundle as a zip file from your local machine.\n\nYou can update only API proxy revisions\nthat have never been deployed. After deployment, an API proxy revision\nbecomes immutable, even if it is undeployed.\n\nSet the `Content-Type` header to either\n`multipart/form-data` or `application/octet-stream`.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}", + "httpMethod": "POST", + "id": "apigee.organizations.apis.revisions.updateApiProxyRevision", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API proxy revision to update in the following format:\n `organizations/{org}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "validate": { + "description": "Ignored. All uploads are validated regardless of the value of this field.\nMaintained for compatibility with Apigee Edge API.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxyRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of an API proxy revision.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.apis.revisions.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the API proxy revision for which to return deployment information\nin the following format:\n `organizations/{org}/apis/{api}/revisions/{rev}`.", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "apps": { + "methods": { + "get": { + "description": "Gets the app profile for the specified app ID.", + "flatPath": "v1/organizations/{organizationsId}/apps/{appsId}", + "httpMethod": "GET", + "id": "apigee.organizations.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. App ID in the following format:\n `organizations/{org}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1App" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists IDs of apps within an organization that have the specified app status\n(approved or revoked) or are of the specified app type\n(developer or company).", + "flatPath": "v1/organizations/{organizationsId}/apps", + "httpMethod": "GET", + "id": "apigee.organizations.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "apiProduct": { + "description": "API product.", + "location": "query", + "type": "string" + }, + "apptype": { + "description": "Optional. Filter by the type of the app. Valid values are `company` or\n`developer`. Defaults to `developer`.", + "location": "query", + "type": "string" + }, + "expand": { + "description": "Optional. Flag that specifies whether to return an expanded list of\napps for the organization. Defaults to `false`.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Optional. Comma-separated list of app IDs on which to filter.", + "location": "query", + "type": "string" + }, + "includeCred": { + "description": "Optional. Flag that specifies whether to include credentials in the\nresponse.", + "location": "query", + "type": "boolean" + }, + "keyStatus": { + "description": "Optional. Key status of the app. Valid values include `approved` or\n`revoked`. Defaults to `approved`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource path of the parent in the following format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "rows": { + "description": "Optional. Maximum number of app IDs to return. Defaults to 10000.", + "format": "int64", + "location": "query", + "type": "string" + }, + "startKey": { + "description": "Returns the list of apps starting from the specified app ID.", + "location": "query", + "type": "string" + }, + "status": { + "description": "Optional. Filter by the status of the app. Valid values are `approved`\nor `revoked`. Defaults to `approved`.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "response": { + "$ref": "GoogleCloudApigeeV1ListAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of API proxies or shared flows.", + "flatPath": "v1/organizations/{organizationsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the organization for which to return deployment information in the\nfollowing format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "sharedFlows": { + "description": "Optional. Flag that specifies whether to return shared flow or API proxy deployments.\nSet to `true` to return shared flow deployments; set to `false`\nto return API proxy deployments. Defaults to `false`.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "developers": { + "methods": { + "attributes": { + "description": "Updates developer attributes.\n\nThis API replaces the\nexisting attributes with those specified in the request.\nAdd new attributes, and include or exclude any existing\nattributes that you want to retain or\nremove, respectively.\n\nThe custom attribute limit is 18.\n\n**Note**: OAuth access tokens and Key Management Service (KMS) entities\n(apps, developers, and API products) are cached for 180 seconds\n(default). Any custom attributes associated with these entities\nare cached for at least 180 seconds after the entity is accessed at\nruntime. Therefore, an `ExpiresIn` element on the OAuthV2 policy\nwon't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes", + "httpMethod": "POST", + "id": "apigee.organizations.developers.attributes", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Email address of the developer for which attributes are being updated in\nthe following format:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attributes", + "request": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a developer. Once created,\nthe developer can register an app and obtain an API key.\n\nAt creation time, a developer is set as `active`. To change the developer\nstatus, use the SetDeveloperStatus API.", + "flatPath": "v1/organizations/{organizationsId}/developers", + "httpMethod": "POST", + "id": "apigee.organizations.developers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the Apigee organization in which the developer is created.\nUse the following structure in your request:\n `organizations/{org}`.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/developers", + "request": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a developer. All apps and API keys associated\nwith the developer are also removed.\n\n**Warning**: This API will permanently delete the developer\nand related artifacts.\n\nTo avoid permanently deleting developers and their artifacts,\nset the developer status to `inactive` using\nthe SetDeveloperStatus API.\n\n**Note**: The delete operation is asynchronous. The developer app is\ndeleted immediately,\nbut its associated resources, such as apps and API keys, may take anywhere\nfrom a few seconds to a few minutes to be deleted.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Email address of the developer. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the developer details, including the\ndeveloper's name, email address, apps, and other information.\n\n**Note**: The response includes only the first 100 developer apps.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Status of the developer. Valid values are `active` or `inactive`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Email address of the developer. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all developers in an organization by email address.\n\nBy default,\nthe response does not include company developers. Set the `includeCompany`\nquery parameter to `true` to include company developers.\n\n**Note**: A maximum of 1000 developers are returned in the response. You\npaginate the list of developers returned using the `startKey` and `count`\nquery parameters.", + "flatPath": "v1/organizations/{organizationsId}/developers", + "httpMethod": "GET", + "id": "apigee.organizations.developers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "count": { + "description": "Optional. Number of developers to return in the API call. Use with the `startKey`\nparameter to provide more targeted filtering.\nThe limit is 1000.", + "format": "int64", + "location": "query", + "type": "string" + }, + "expand": { + "description": "Specifies whether to expand the results. Set to `true`\nto expand the results. This query parameter is not valid if you use\nthe `count` or `startKey` query parameters.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Optional. List of IDs to include, separated by commas.", + "location": "query", + "type": "string" + }, + "includeCompany": { + "description": "Flag that specifies whether to include company details in the response.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. Name of the Apigee organization. Use the following structure in your\nrequest:\n `organizations/{org}`.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "startKey": { + "description": "**Note**: Must be used in conjunction with the `count` parameter.\n\nEmail address of the developer from which to start displaying the list of\ndevelopers. For example, if the an unfiltered list returns:\n\n```\nwestley@example.com\nfezzik@example.com\nbuttercup@example.com\n```\n\nand your `startKey` is `fezzik@example.com`, the list returned will be\n\n```\nfezzik@example.com\nbuttercup@example.com\n```", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/developers", + "response": { + "$ref": "GoogleCloudApigeeV1ListOfDevelopersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setDeveloperStatus": { + "description": "Sets the status of a developer. Valid values are `active` or `inactive`.\n\nA developer is `active` by default. If you set a developer's status to\n`inactive`, the API keys assigned to the developer apps are no longer valid\neven though the API keys are set to `approved`. Inactive developers\ncan still sign in to the developer portal and create apps; however, any\nnew API keys generated during app creation won't work.\n\nIf successful, the API call returns the\nfollowing HTTP status code: `204 No Content`", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.setDeveloperStatus", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Status of the developer. Valid values are `active` and `inactive`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Email address of the developer. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates a developer.\n\nThis API replaces the existing developer details with those specified\nin the request. Include or exclude any existing details that\nyou want to retain or delete, respectively.\n\nThe custom attribute limit is 18.\n\n**Note**: OAuth access tokens and Key Management Service (KMS) entities\n(apps, developers, and API products) are cached for 180 seconds\n(current default). Any custom attributes associated with these entities\nare cached for at least 180 seconds after the entity is accessed at\nruntime. Therefore, an `ExpiresIn` element on the OAuthV2 policy\nwon't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", + "httpMethod": "PUT", + "id": "apigee.organizations.developers.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Email address of the developer. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apps": { + "methods": { + "attributes": { + "description": "Updates attributes for a developer app. This API replaces the\ncurrent attributes with those specified in the request.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.attributes", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/attributes", + "request": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates an app associated with a developer. This API associates the\ndeveloper app with the specified API\nproduct and auto-generates an API key for the app to use in calls to API\nproxies inside that API product.\n\nThe `name` is the unique ID of the app\nthat you can use in API calls. The `DisplayName` (set as an\nattribute) appears in the UI. If you don't set the\n`DisplayName` attribute, the `name` appears in the UI.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the developer. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a developer app.\n\n**Note**: The delete operation is asynchronous. The developer app is\ndeleted immediately,\nbut its associated resources, such as app\nkeys or access tokens, may take anywhere from a few seconds to a\nfew minutes to be deleted.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.apps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateKeyPairOrUpdateDeveloperAppStatus": { + "description": "Manages access to a developer app by enabling you to:\n\n* Approve or revoke a developer app\n* Generate a new consumer key and secret for a developer app\n\nTo approve or revoke a developer app, set the `action` query parameter to\n`approved` or `revoked`, respectively, and the\n`Content-Type` header to `application/octet-stream`. If a developer app is\nrevoked, none of its API keys are valid for API calls even though\nthe keys are still `approved`. If successful, the API call returns the\nfollowing HTTP status code: `204 No Content`\n\nTo generate a new consumer key and secret for a developer\napp, pass the new key/secret details. Rather than\nreplace an existing key, this API generates a new\nkey. In this case, multiple key\npairs may be associated with a single developer app. Each key pair has an\nindependent status (`approved` or `revoked`) and expiration time.\nAny approved, non-expired key can be used in an API call.\n\nFor example, if you're using API key rotation, you can generate new\nkeys with expiration times that overlap keys that are going to expire.\nYou might also generate a new consumer key/secret if the security of the\noriginal key/secret is compromised.\n\nThe `keyExpiresIn` property defines the\nexpiration time for the API key in milliseconds. If you don't set\nthis property or set it to `-1`, the API key never expires.\n\n**Notes**:\n\n* When generating a new key/secret, this API replaces the\nexisting attributes, notes, and callback URLs with those specified in the\nrequest. Include or exclude any existing information that you want to\nretain or delete, respectively.\n* To migrate existing consumer keys and secrets to hybrid from another\nsystem, see the\nCreateDeveloperAppKey API.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.generateKeyPairOrUpdateDeveloperAppStatus", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Action. Valid values are `approve` or `revoke`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the details for a developer app.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "entity": { + "description": "**Note**: Must be used in conjunction with the `query` parameter.\n\nSet to `apiresources`\nto return the number of API resources\nthat have been approved for access by a developer app in the\nspecified Apigee organization.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "query": { + "description": "**Note**: Must be used in conjunction with the `entity` parameter.\n\nSet to `count` to return the number of API resources\nthat have been approved for access by a developer app in the\nspecified Apigee organization.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all apps created by a developer in an Apigee organization.\nOptionally, you can request an expanded view of the developer apps.\n\nA maximum of 100 developer apps are returned per API call. You can paginate\nthe list of deveoper apps returned using the `startKey` and `count` query\nparameters.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "count": { + "description": "Number of developer apps to return in the API call. Use with the `startKey`\nparameter to provide more targeted filtering.\nThe limit is 1000.", + "format": "int64", + "location": "query", + "type": "string" + }, + "expand": { + "description": "Optional. Specifies whether to expand the results. Set to `true`\nto expand the results. This query parameter is not valid if you use\nthe `count` or `startKey` query parameters.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. Name of the developer. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + }, + "shallowExpand": { + "description": "Optional. Specifies whether to expand the results in shallow mode.\nSet to `true` to expand the results in shallow mode.", + "location": "query", + "type": "boolean" + }, + "startKey": { + "description": "**Note**: Must be used in conjunction with the `count` parameter.\n\nName of the developer app from which to start displaying the list of\ndeveloper apps. For example, if you're returning 50 developer apps at\na time (using the `count` query parameter), you can view developer apps\n50-99 by entering the name of the 50th developer app.\nThe developer app name is case sensitive.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeveloperAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates the details for a developer app. In addition, you can\nadd an API product to a developer app and automatically generate\nan API key for the app to use when calling APIs in the API product.\n\nIf you want to use an existing API key for the API product,\nadd the API product to the API key using the\nUpdateDeveloperAppKey\nAPI.\n\nUsing this API, you cannot update the following:\n\n* App name as it is the primary key used to identify the app and cannot\n be changed.\n* Scopes associated with the app. Instead, use the\n ReplaceDeveloperAppKey API.\n\nThis API replaces the\nexisting attributes with those specified in the request.\nInclude or exclude any existing attributes that you want to retain or\ndelete, respectively.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.developers.apps.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "attributes": { + "methods": { + "delete": { + "description": "Deletes a developer app attribute.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes/{attributesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.apps.attributes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps/{app}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns a developer app attribute.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes/{attributesId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.attributes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps/{app}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns a list of all developer app attributes.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.attributes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attributes", + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDeveloperAppAttribute": { + "description": "Updates a developer app attribute.\n\n**Note**: OAuth access tokens and Key Management Service (KMS) entities\n(apps, developers, and API products) are cached for 180 seconds\n(current default). Any custom attributes associated with these entities\nare cached for at least 180 seconds after the entity is accessed at\nruntime. Therefore, an `ExpiresIn` element on the OAuthV2 policy\nwon't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes/{attributesId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.attributes.updateDeveloperAppAttribute", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps/{app}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "keys": { + "methods": { + "create": { + "description": "Creates a custom consumer key and secret for a developer app. This is\nparticularly useful if you want to migrate existing consumer keys and\nsecrets to Apigee hybrid from another system.\n\nConsumer keys and secrets can contain letters, numbers, underscores, and\nhyphens. No other special characters are allowed. To avoid service\ndisruptions, a consumer key and secret should not exceed 2 KBs each.\n\n**Note**: When creating the consumer key and secret, an association to\nAPI products will not be made. Therefore, you should not specify the\nassociated API products in your request. Instead, use the\nUpdateDeveloperAppKey API to\nmake the association after the consumer key and secret are created.\n\nIf a consumer key and secret already exist, you can keep them or\ndelete them using the\nDeleteDeveloperAppKey API.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.keys.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Parent of the developer app key. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keys", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an app's consumer key and removes all API products\nassociated with the app. After the consumer key is deleted,\nit cannot be used to access any APIs.\n\n**Note**: After you delete a consumer key, you may want to:\n1. Create a new consumer key and secret for the developer app using the\nCreateDeveloperAppKey API, and\nsubsequently add an API product to the key using the\nUpdateDeveloperAppKey API.\n2. Delete the developer app, if it is no longer required.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.apps.keys.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the developer app key. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns details for a consumer key for a developer app, including the key\nand secret value, associated API products, and other information.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.keys.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the developer app key. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "replaceDeveloperAppKey": { + "description": "Updates the scope of an app.\n\nThis API replaces the\nexisting scopes with those specified in the request.\nInclude or exclude any existing scopes that you want to retain or\ndelete, respectively. The specified scopes must already\nbe defined for the API products associated with the app.\n\nThis API sets the `scopes` element\nunder the `apiProducts` element in the attributes of the app.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "PUT", + "id": "apigee.organizations.developers.apps.keys.replaceDeveloperAppKey", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the developer app key. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDeveloperAppKey": { + "description": "Adds an API product to a developer app key, enabling the app that holds\nthe key to access the API resources bundled in the API product.\n\nIn addition, you can add\nattributes to a developer app key. This API replaces the\nexisting attributes with those specified in the request.\nInclude or exclude any existing attributes that you want to retain or\ndelete, respectively.\n\nYou can use the same key to access all API products\nassociated with the app.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.keys.updateDeveloperAppKey", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Approve or revoke the consumer key by setting this value to\n`approve` or `revoke`, respectively.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Name of the developer app key. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apiproducts": { + "methods": { + "delete": { + "description": "Removes an API product from an app's consumer key. After the API product is\nremoved, the app cannot access the API resources defined in\nthat API product.\n\n**Note**: The consumer key is not removed, only its association with the\nAPI product.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.apps.keys.apiproducts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the API product in the developer app key in the following\nformat:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}/apiproducts/{apiproduct}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDeveloperAppKeyApiProduct": { + "description": "Approve or revoke an app's consumer key. After a consumer key is approved,\nthe app can use it to access APIs.\n\nA consumer key that is revoked or pending cannot be used to access an API.\nAny access tokens associated with a revoked consumer key will remain\nactive. However, Apigee hybrid checks the status of the consumer key and\nif set to `revoked` will not allow access to the API.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.keys.apiproducts.updateDeveloperAppKeyApiProduct", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Approve or revoke the consumer key by setting this value to\n`approve` or `revoke`, respectively.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Name of the API product in the developer app key in the following\nformat:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}/apiproducts/{apiproduct}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "create": { + "methods": { + "create": { + "description": "Creates a custom consumer key and secret for a developer app. This is\nparticularly useful if you want to migrate existing consumer keys and\nsecrets to Apigee hybrid from another system.\n\nConsumer keys and secrets can contain letters, numbers, underscores, and\nhyphens. No other special characters are allowed. To avoid service\ndisruptions, a consumer key and secret should not exceed 2 KBs each.\n\n**Note**: When creating the consumer key and secret, an association to\nAPI products will not be made. Therefore, you should not specify the\nassociated API products in your request. Instead, use the\nUpdateDeveloperAppKey API to\nmake the association after the consumer key and secret are created.\n\nIf a consumer key and secret already exist, you can keep them or\ndelete them using the\nDeleteDeveloperAppKey API.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/create", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.keys.create.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Parent of the developer app key. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keys/create", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "attributes": { + "methods": { + "delete": { + "description": "Deletes a developer attribute.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes/{attributesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.attributes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the value of the specified developer attribute.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes/{attributesId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.attributes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns a list of all developer attributes.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes", + "httpMethod": "GET", + "id": "apigee.organizations.developers.attributes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Email address of the developer for which attributes are being listed in the\nfollowing format:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attributes", + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDeveloperAttribute": { + "description": "Updates a developer attribute.\n\n**Note**: OAuth access tokens and Key Management Service (KMS) entities\n(apps, developers, and API products) are cached for 180 seconds\n(default). Any custom attributes associated with these entities\nare cached for at least 180 seconds after the entity is accessed at\nruntime. Therefore, an `ExpiresIn` element on the OAuthV2 policy\nwon't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes/{attributesId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.attributes.updateDeveloperAttribute", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "environments": { + "methods": { + "create": { + "description": "Creates an environment in an organization.", + "flatPath": "v1/organizations/{organizationsId}/environments", + "httpMethod": "POST", + "id": "apigee.organizations.environments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "name": { + "description": "Optional. Name of the environment. Alternatively, the name may\nbe specified in the request body in the\nname field.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the organization in which the environment will\nbe created. Use the following structure in your request:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/environments", + "request": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an environment from an organization.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment. Use the following structure in your\nrequest:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets environment details.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDebugmask": { + "description": "Gets the debug mask singleton resource for an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/debugmask", + "httpMethod": "GET", + "id": "apigee.organizations.environments.getDebugmask", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the debug mask. Use the following structure in your request:\n `organizations/{org}/environments/{env}/debugmask`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/debugmask$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DebugMask" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDeployedConfig": { + "description": "Gets the deployed configuration for an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/deployedConfig", + "httpMethod": "GET", + "id": "apigee.organizations.environments.getDeployedConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment deployed configuration resource. Use the following\nstructure in your request:\n `organizations/{org}/environments/{env}/deployedConfig`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/deployedConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1EnvironmentConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM policy on an environment. For more information, see\n[Manage users, roles, and permissions\nusing the API](https://docs.apigee.com/hybrid/latest/manage-users-roles).\n\nYou must have the `apigee.environments.getIamPolicy` permission to call\nthis API.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:getIamPolicy", + "httpMethod": "GET", + "id": "apigee.organizations.environments.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM policy on an environment, if the policy already\nexists it will be replaced. For more information, see\n[Manage users, roles, and permissions\nusing the API](https://docs.apigee.com/hybrid/latest/manage-users-roles).\n\nYou must have the `apigee.environments.setIamPolicy` permission to\ncall this API.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:setIamPolicy", + "httpMethod": "POST", + "id": "apigee.organizations.environments.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "subscribe": { + "description": "Creates a subscription for the environment's Pub/Sub topic.\nThe server will assign a random name for this subscription.\nThe \"name\" and \"push_config\" must *not* be specified.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:subscribe", + "httpMethod": "POST", + "id": "apigee.organizations.environments.subscribe", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:subscribe", + "response": { + "$ref": "GoogleCloudApigeeV1Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests the permissions of a user on an environment,\nand returns a subset of permissions that the user has on the environment.\nIf the environment does not exist, an empty permission set is returned\n(a NOT_FOUND error is not returned).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:testIamPermissions", + "httpMethod": "POST", + "id": "apigee.organizations.environments.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "unsubscribe": { + "description": "Deletes a subscription for the environment's Pub/Sub topic.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:unsubscribe", + "httpMethod": "POST", + "id": "apigee.organizations.environments.unsubscribe", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:unsubscribe", + "request": { + "$ref": "GoogleCloudApigeeV1Subscription" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing environment.\n\nWhen updating properties, you must pass all existing properties to the API,\neven if they are not being changed. If you omit properties from the\npayload, the properties are removed. To get the current list of\nproperties for the environment, use the [Get Environment API](get).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDebugmask": { + "description": "Updates the debug mask singleton resource for an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/debugmask", + "httpMethod": "PATCH", + "id": "apigee.organizations.environments.updateDebugmask", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the debug mask.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/debugmask$", + "required": true, + "type": "string" + }, + "replaceRepeatedFields": { + "description": "Boolean flag that specifies whether to replace existing values in the debug\nmask when doing an update. Set to true to replace existing values.\nThe default behavior is to append the values (false).", + "location": "query", + "type": "boolean" + }, + "updateMask": { + "description": "Field debug mask to support partial updates.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DebugMask" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DebugMask" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateEnvironment": { + "description": "Updates an existing environment.\n\nWhen updating properties, you must pass all existing properties to the API,\neven if they are not being changed. If you omit properties from the\npayload, the properties are removed. To get the current list of\nproperties for the environment, use the [Get Environment API](get).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", + "httpMethod": "POST", + "id": "apigee.organizations.environments.updateEnvironment", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "analytics": { + "resources": { + "admin": { + "methods": { + "getSchemav2": { + "description": "Get a list of metrics and dimensions which can be used for creating\nanalytics queries and reports.\nEach schema element contains the name of the field with its associated type\nand if it is either custom field or standard field.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/analytics/admin/schemav2", + "httpMethod": "GET", + "id": "apigee.organizations.environments.analytics.admin.getSchemav2", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The parent organization and environment names. Must be of the\nform `organizations/{org}/environments/{env}/analytics/admin/schemav2`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/analytics/admin/schemav2$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Type refers to the dataset name whose schema needs to be\nretrieved E.g. type=fact or type=agg_cus1", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Schema" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "apis": { + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of an API proxy in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name representing an API proxy in an environment in the following\nformat:\n `organizations/{org}/environments/{env}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "revisions": { + "methods": { + "deployments": { + "description": "Undeploys an API proxy revision from an environment.\n\nBecause multiple revisions of the same API proxy can be deployed in\nthe same environment if the base paths are different, you must specify the\nrevision number of the API proxy.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.apis.revisions.deployments", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the API proxy revision deployment in the following format:\n `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/deployments", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDeployments": { + "description": "Gets the deployment of an API proxy revision and actual state reported by\nruntime pods.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.revisions.getDeployments", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name representing an API proxy revision in an\nenvironment in the following format:\n `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "debugsessions": { + "methods": { + "create": { + "description": "Creates a debug session for a deployed API Proxy revision.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions", + "httpMethod": "POST", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the API Proxy revision deployment for which\nto create the DebugSession. Must be of the form\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "timeout": { + "description": "Optional. The time in seconds after which this DebugSession should end.\nA timeout specified in DebugSession will overwrite this value.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/debugsessions", + "request": { + "$ref": "GoogleCloudApigeeV1DebugSession" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DebugSession" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deleteData": { + "description": "Deletes the data from a debug session. This does not cancel the debug\nsession or prevent further data from being collected if the session is\nstill active in runtime pods.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}/data", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.deleteData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the debug session to delete.\nMust be of the form:\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{debugsession}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/data", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves a debug session.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the debug session to retrieve.\nMust be of the form:\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DebugSession" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists debug sessions that are currently active in the given API Proxy\nrevision.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of debug sessions to return. The page size defaults\nto 25.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token, returned from a previous ListDebugSessions call, that you\ncan use to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the API Proxy revision deployment for which\nto list debug sessions. Must be of the form:\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/debugsessions", + "response": { + "$ref": "GoogleCloudApigeeV1ListDebugSessionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "data": { + "methods": { + "get": { + "description": "Gets the debug data from a transaction.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}/data/{dataId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.data.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the debug session transaction. Must be of the form:\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}/data/{transaction}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+/data/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DebugSessionTransaction" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, + "caches": { + "methods": { + "delete": { + "description": "Deletes a cache.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/caches/{cachesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.caches.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Cache resource name of the form:\n `organizations/{organization_id}/environments/{environment_id}/caches/{cache_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/caches/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of API proxies or shared flows in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment for which to return deployment information in the\nfollowing format:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "sharedFlows": { + "description": "Optional. Flag that specifies whether to return shared flow or API proxy deployments.\nSet to `true` to return shared flow deployments; set to `false`\nto return API proxy deployments. Defaults to `false`.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "flowhooks": { + "methods": { + "attachSharedFlowToFlowHook": { + "description": "Attaches a shared flow to a flow hook.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/flowhooks/{flowhooksId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.flowhooks.attachSharedFlowToFlowHook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the flow hook to which the shared flow should be\nattached in the following format:\n `organizations/{org}/environments/{env}/flowhooks/{flowhook}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/flowhooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1FlowHook" + }, + "response": { + "$ref": "GoogleCloudApigeeV1FlowHook" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "detachSharedFlowFromFlowHook": { + "description": "Detaches a shared flow from a flow hook.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/flowhooks/{flowhooksId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.flowhooks.detachSharedFlowFromFlowHook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the flow hook to detach in the following format:\n `organizations/{org}/environments/{env}/flowhooks/{flowhook}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/flowhooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1FlowHook" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the name of the shared flow attached to the specified flow hook. If\nthere's no shared flow attached to the flow hook, the API does not return\nan error; it simply does not return a name in the response.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/flowhooks/{flowhooksId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.flowhooks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the flow hook in the following format:\n `organizations/{org}/environments/{env}/flowhooks/{flowhook}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/flowhooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1FlowHook" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "keystores": { + "methods": { + "create": { + "description": "Creates a keystore or truststore:\n * Keystore: Contains certificates and their associated keys.\n * Truststore: Contains trusted certificates used to validate a\n server's certificate. These certificates are typically self-signed\n certificates or certificates that are not signed by a trusted CA.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores", + "httpMethod": "POST", + "id": "apigee.organizations.environments.keystores.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "name": { + "description": "Optional. Overrides the value in Keystore.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the environment in which to create the keystore.\nMust be of the form\n`organizations/{organization}/environments/{environment}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keystores", + "request": { + "$ref": "GoogleCloudApigeeV1Keystore" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Keystore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a keystore or truststore.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.keystores.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of keystore to delete. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Keystore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a keystore or truststore.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.keystores.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of keystore. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Keystore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "aliases": { + "methods": { + "create": { + "description": "Creates an alias from a key, certificate pair.\nThe structure of the request is controlled by the `format` query parameter:\n * `keycertfile` - Separate PEM-encoded key and certificate files are\n uploaded. The request must have `Content-Type: multipart/form-data` and\n include fields `keyFile` and `certFile`. If uploading to a truststore,\n omit `keyFile`.\n* `pkcs12` - A PKCS12 file is uploaded. The request must have\n`Content-Type: multipart/form-data` with the file provided in the only\nfield.\n* `selfsignedcert` - A new private key and certificate are generated. The\nrequest must have `Content-Type: application/json` and a body of\nCertificateGenerationSpec.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases", + "httpMethod": "POST", + "id": "apigee.organizations.environments.keystores.aliases.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "_password": { + "description": "The password for the private key file, if it exists.", + "location": "query", + "type": "string" + }, + "alias": { + "description": "The alias for the key, certificate pair. Values must match\nregular expression `[\\w\\s-.]{1,255}`. This must be provided for all formats\nexcept 'selfsignedcert'; self-signed certs may specify the alias in either\nthis parameter or the JSON body.", + "location": "query", + "type": "string" + }, + "format": { + "description": "Required. The format of the data. Must be either `selfsignedcert`,\n`keycertfile`, or `pkcs12`.", + "location": "query", + "type": "string" + }, + "ignoreExpiryValidation": { + "description": "If `true`, no expiry validation will be performed.", + "location": "query", + "type": "boolean" + }, + "ignoreNewlineValidation": { + "description": "If `true`, do not throw an error when the file contains a chain with no\nnewline between each certificate. By default, a newline is needed between\neach certificate in a chain.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The name of the keystore. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/aliases", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Alias" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "csr": { + "description": "Generates a PKCS #10 Certificate Signing Request for the private key in\nan alias.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}/csr", + "httpMethod": "GET", + "id": "apigee.organizations.environments.keystores.aliases.csr", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/csr", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an alias.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.keystores.aliases.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Alias" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an alias.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.keystores.aliases.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Alias" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getCertificate": { + "description": "Gets the certificate from an alias in PEM-encoded form.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}/certificate", + "httpMethod": "GET", + "id": "apigee.organizations.environments.keystores.aliases.getCertificate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/certificate", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates the certificate in an alias.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.keystores.aliases.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "ignoreExpiryValidation": { + "description": "Required. If `true`, no expiry validation will be performed.", + "location": "query", + "type": "boolean" + }, + "ignoreNewlineValidation": { + "description": "If `true`, do not throw an error when the file contains a chain with no\nnewline between each certificate. By default, a newline is needed between\neach certificate in a chain.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Alias" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "keyvaluemaps": { + "methods": { + "create": { + "description": "Creates a key value map in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps", + "httpMethod": "POST", + "id": "apigee.organizations.environments.keyvaluemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the environment in which to create the key value map.\nMust be of the form\n`organizations/{organization}/environments/{environment}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keyvaluemaps", + "request": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a key value map in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.keyvaluemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the key value map.\nMust be of the form\n`organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keyvaluemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "optimizedStats": { + "methods": { + "get": { + "description": "This api is similar to GetStats\nexcept that the response is less verbose.\nIn the current scheme, a query parameter _optimized instructs\nEdge Analytics to change the response but since this behavior\nis not possible with protocol buffer and since this parameter is\npredominantly used by Edge UI, we are introducing a separate api.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/optimizedStats/{optimizedStatsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.optimizedStats.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "accuracy": { + "description": "Legacy field: not used anymore.", + "location": "query", + "type": "string" + }, + "aggTable": { + "description": "If customers want to query custom aggregate tables, then this parameter\ncan be used to specify the table name. If this parameter is skipped, then\nEdge Query will try to retrieve the data from fact tables which will be\nexpensive.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Enables drill-down on specific dimension values.", + "location": "query", + "type": "string" + }, + "limit": { + "description": "This parameter is used to limit the number of result items.\nDefault and the max value is 14400.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name for which the interactive query will be executed.\nMust be of the form\n `organizations/{organization_id}/environments/{environment_id/stats/{dimensions}`\nDimensions let you view metrics in meaningful groupings. E.g. apiproxy,\ntarget_host. The value of dimensions should be comma separated list as\nshown below\n`organizations/{org}/environments/{env}/stats/apiproxy,request_verb`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/optimizedStats/.*$", + "required": true, + "type": "string" + }, + "offset": { + "description": "Use offset with limit to enable pagination of results. For example,\nto display results 11-20, set limit to '10' and offset to '10'.", + "location": "query", + "type": "string" + }, + "realtime": { + "description": "Legacy field: not used anymore.", + "location": "query", + "type": "boolean" + }, + "select": { + "description": "Required. The select parameter contains a comma separated list of metrics.\nE.g. sum(message_count),sum(error_count)", + "location": "query", + "type": "string" + }, + "sonar": { + "description": "This parameter routes the query to api monitoring service for last hour.", + "location": "query", + "type": "boolean" + }, + "sort": { + "description": "This parameter specifies if the sort order should be ascending or\ndescending Supported values are DESC and ASC.", + "location": "query", + "type": "string" + }, + "sortby": { + "description": "Comma separated list of columns to sort the final result.", + "location": "query", + "type": "string" + }, + "timeRange": { + "description": "Required. Time interval for the interactive query.\nTime range is specified as start~end E.g. 04/15/2017 00:00~05/15/2017 23:59", + "location": "query", + "type": "string" + }, + "timeUnit": { + "description": "A value of second, minute, hour, day, week, month.\nTime Unit specifies the granularity of metrics returned.", + "location": "query", + "type": "string" + }, + "topk": { + "description": "Take 'top k' results from results, for example, to return the top 5\nresults 'topk=5'.", + "location": "query", + "type": "string" + }, + "tsAscending": { + "description": "Lists timestamps in ascending order if set to true. Recommend setting\nthis value to true if you are using sortby with sort=DESC.", + "location": "query", + "type": "boolean" + }, + "tzo": { + "description": "This parameters contains the timezone offset value.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1OptimizedStats" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "queries": { + "methods": { + "create": { + "description": "Submit a query to be processed in the background.\nIf the submission of the query succeeds, the API returns a 201 status and\nan ID that refer to the query. In addition to the HTTP status 201, the\n`state` of \"enqueued\" means that the request succeeded.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/queries", + "httpMethod": "POST", + "id": "apigee.organizations.environments.queries.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name.\nMust be of the form `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/queries", + "request": { + "$ref": "GoogleCloudApigeeV1Query" + }, + "response": { + "$ref": "GoogleCloudApigeeV1AsyncQuery" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get query status\nIf the query is still in progress, the `state` is set to \"running\"\nAfter the query has completed successfully, `state` is set to \"completed\"", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.queries.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the asynchronous query to get. Must be of the form\n`organizations/{org}/environments/{env}/queries/{queryId}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/queries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AsyncQuery" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getResult": { + "description": "After the query is completed, use this API to retrieve the results.\nIf the request succeeds, and there is a non-zero result set, the result is\ndownloaded to the client as a zipped JSON file.\nThe name of the downloaded file will be:\n OfflineQueryResult-.zip\n\nExample: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip`", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}/result", + "httpMethod": "GET", + "id": "apigee.organizations.environments.queries.getResult", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the asynchronous query result to get. Must be of the\nform `organizations/{org}/environments/{env}/queries/{queryId}/result`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/queries/[^/]+/result$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Return a list of Asynchronous Queries", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/queries", + "httpMethod": "GET", + "id": "apigee.organizations.environments.queries.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dataset": { + "description": "Filter response list by dataset.\n\nExample: `api`, `mint`", + "location": "query", + "type": "string" + }, + "from": { + "description": "Filter response list by returning asynchronous queries that\ncreated after this date time.\nTime must be in ISO date-time format like '2011-12-03T10:15:30Z'.", + "location": "query", + "type": "string" + }, + "inclQueriesWithoutReport": { + "description": "Flag to include asynchronous queries that don't have a report denifition.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.\nMust be of the form `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "status": { + "description": "Filter response list by asynchronous query status.", + "location": "query", + "type": "string" + }, + "submittedBy": { + "description": "Filter response list by user who submitted queries.", + "location": "query", + "type": "string" + }, + "to": { + "description": "Filter response list by returning asynchronous queries that\ncreated before this date time.\nTime must be in ISO date-time format like '2011-12-03T10:16:30Z'.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/queries", + "response": { + "$ref": "GoogleCloudApigeeV1ListAsyncQueriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "references": { + "methods": { + "create": { + "description": "Creates a Reference in the specified environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/references", + "httpMethod": "POST", + "id": "apigee.organizations.environments.references.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent environment name under which the Reference will\nbe created. Must be of the form `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/references", + "request": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Reference from an environment. Returns the deleted\nReference resource.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/references/{referencesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.references.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Reference to delete. Must be\nof the form `organizations/{org}/environments/{env}/references/{ref}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/references/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a Reference resource.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/references/{referencesId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.references.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Reference to get. Must be of the form\n`organizations/{org}/environments/{env}/references/{ref}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/references/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing Reference. Note that this operation has PUT\nsemantics; it will replace the entirety of the existing Reference with\nthe resource in the request body.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/references/{referencesId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.references.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Reference to update. Must be of the form\n`organizations/{org}/environments/{env}/references/{ref}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/references/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "resourcefiles": { + "methods": { + "create": { + "description": "Creates a resource file.\n\nSpecify the `Content-Type` as `application/octet-stream` or\n`multipart/form-data`.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles", + "httpMethod": "POST", + "id": "apigee.organizations.environments.resourcefiles.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource file. Must match the regular expression:\n[a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255}", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the environment in which to create the resource file in the\nfollowing format:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Resource file type. {{ resource_file_type }}", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a resource file.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}/{name}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.resourcefiles.delete", + "parameterOrder": [ + "parent", + "type", + "name" + ], + "parameters": { + "name": { + "description": "Required. ID of the resource file to delete. Must match the regular\nexpression: [a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255}", + "location": "path", + "required": true, + "type": "string" + }, + "parent": { + "description": "Required. Name of the environment in the following format:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Resource file type. {{ resource_file_type }}", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles/{type}/{name}", + "response": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the contents of a resource file.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}/{name}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.resourcefiles.get", + "parameterOrder": [ + "parent", + "type", + "name" + ], + "parameters": { + "name": { + "description": "Required. ID of the resource file. Must match the regular\nexpression: [a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255}", + "location": "path", + "required": true, + "type": "string" + }, + "parent": { + "description": "Required. Name of the environment in the following format:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Resource file type. {{ resource_file_type }}", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles/{type}/{name}", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all resource files.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles", + "httpMethod": "GET", + "id": "apigee.organizations.environments.resourcefiles.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment in which to list resource files in the following\nformat:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Optional. Type of resource files to list.\n{{ resource_file_type }}", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles", + "response": { + "$ref": "GoogleCloudApigeeV1ListEnvironmentResourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "listEnvironmentResources": { + "description": "Lists all resource files.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.resourcefiles.listEnvironmentResources", + "parameterOrder": [ + "parent", + "type" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment in which to list resource files in the following\nformat:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Optional. Type of resource files to list.\n{{ resource_file_type }}", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles/{type}", + "response": { + "$ref": "GoogleCloudApigeeV1ListEnvironmentResourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates a resource file.\n\nSpecify the `Content-Type` as `application/octet-stream` or\n`multipart/form-data`.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}/{name}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.resourcefiles.update", + "parameterOrder": [ + "parent", + "type", + "name" + ], + "parameters": { + "name": { + "description": "Required. ID of the resource file to update. Must match the regular\nexpression: [a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255}", + "location": "path", + "required": true, + "type": "string" + }, + "parent": { + "description": "Required. Name of the environment in the following format:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Resource file type. {{ resource_file_type }}", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles/{type}/{name}", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sharedflows": { + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of a shared flow in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.sharedflows.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name representing a shared flow in an environment in the following\nformat:\n `organizations/{org}/environments/{env}/sharedflows/{sharedflow}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "revisions": { + "methods": { + "deployments": { + "description": "Undeploys a shared flow revision from an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.sharedflows.revisions.deployments", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the shared flow revision to undeploy in the following format:\n `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/deployments", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDeployments": { + "description": "Gets the deployment of a shared flow revision and actual state reported by\nruntime pods.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.sharedflows.revisions.getDeployments", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name representing a shared flow in an environment in the following\nformat:\n `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "stats": { + "methods": { + "get": { + "description": "Retrieve metrics grouped by dimensions.\nThe types of metrics you can retrieve include traffic, message counts,\nAPI call latency, response size, and cache hits and counts.\nDimensions let you view metrics in meaningful groups.\nThe stats api does accept dimensions as path params. The dimensions are\noptional in which case the metrics are computed on the entire data\nfor the given timerange.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/stats/{statsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.stats.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "accuracy": { + "description": "Legacy field: not used anymore.\nThis field is present to support UI calls which still use this parameter.", + "location": "query", + "type": "string" + }, + "aggTable": { + "description": "If customers want to query custom aggregate tables, then this parameter\ncan be used to specify the table name. If this parameter is skipped, then\nEdge Query will try to retrieve the data from fact tables which will be\nexpensive.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Enables drill-down on specific dimension values", + "location": "query", + "type": "string" + }, + "limit": { + "description": "This parameter is used to limit the number of result items.\nDefault and the max value is 14400.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name for which the interactive query will be executed.\nMust be of the form\n `organizations/{organization_id}/environments/{environment_id/stats/{dimensions}`\nDimensions let you view metrics in meaningful groupings. E.g. apiproxy,\ntarget_host. The value of dimensions should be comma separated list as\nshown below\n`organizations/{org}/environments/{env}/stats/apiproxy,request_verb`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/stats/.*$", + "required": true, + "type": "string" + }, + "offset": { + "description": "Use offset with limit to enable pagination of results. For example,\nto display results 11-20, set limit to '10' and offset to '10'.", + "location": "query", + "type": "string" + }, + "realtime": { + "description": "Legacy field: not used anymore.", + "location": "query", + "type": "boolean" + }, + "select": { + "description": "The select parameter contains a comma separated list of metrics.\nE.g. sum(message_count),sum(error_count)", + "location": "query", + "type": "string" + }, + "sonar": { + "description": "This parameter routes the query to api monitoring service for last hour.", + "location": "query", + "type": "boolean" + }, + "sort": { + "description": "This parameter specifies if the sort order should be ascending or\ndescending Supported values are DESC and ASC.", + "location": "query", + "type": "string" + }, + "sortby": { + "description": "Comma separated list of columns to sort the final result.", + "location": "query", + "type": "string" + }, + "timeRange": { + "description": "Time interval for the interactive query.\nTime range is specified as start~end E.g. 04/15/2017 00:00~05/15/2017 23:59", + "location": "query", + "type": "string" + }, + "timeUnit": { + "description": "A value of second, minute, hour, day, week, month.\nTime Unit specifies the granularity of metrics returned.", + "location": "query", + "type": "string" + }, + "topk": { + "description": "Take 'top k' results from results, for example, to return the top 5\nresults 'topk=5'.", + "location": "query", + "type": "string" + }, + "tsAscending": { + "description": "Lists timestamps in ascending order if set to true. Recommend setting\nthis value to true if you are using sortby with sort=DESC.", + "location": "query", + "type": "boolean" + }, + "tzo": { + "description": "This parameters contains the timezone offset value.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Stats" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "targetservers": { + "methods": { + "create": { + "description": "Creates a TargetServer in the specified environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers", + "httpMethod": "POST", + "id": "apigee.organizations.environments.targetservers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "name": { + "description": "Optional. The ID to give the TargetServer. This will overwrite the\nvalue in TargetServer.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent environment name under which the TargetServer will\nbe created. Must be of the form `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/targetservers", + "request": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "response": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a TargetServer from an environment. Returns the deleted\nTargetServer resource.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers/{targetserversId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.targetservers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the TargetServer to delete. Must be\nof the form\n`organizations/{org}/environments/{env}/targetservers/{target_server_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/targetservers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a TargetServer resource.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers/{targetserversId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.targetservers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the TargetServer to get. Must be of the form\n`organizations/{org}/environments/{env}/targetservers/{target_server_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/targetservers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing TargetServer. Note that this operation has PUT\nsemantics; it will replace the entirety of the existing TargetServer with\nthe resource in the request body.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers/{targetserversId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.targetservers.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the TargetServer to replace. Must be of the form\n`organizations/{org}/environments/{env}/targetservers/{target_server_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/targetservers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "response": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "keyvaluemaps": { + "methods": { + "create": { + "description": "Creates a key value map in an organization.", + "flatPath": "v1/organizations/{organizationsId}/keyvaluemaps", + "httpMethod": "POST", + "id": "apigee.organizations.keyvaluemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the organization in which to create the key value map\nfile. Must be of the form `organizations/{organization}`.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keyvaluemaps", + "request": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a key value map in an organization.", + "flatPath": "v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.keyvaluemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the key value map.\nMust be of the form\n`organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "location": "path", + "pattern": "^organizations/[^/]+/keyvaluemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1/organizations/{organizationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "apigee.organizations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1/organizations/{organizationsId}/operations", + "httpMethod": "GET", + "id": "apigee.organizations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "reports": { + "methods": { + "create": { + "description": "Creates a Custom Report for an Organization. A Custom Report\nprovides Apigee Customers to create custom dashboards in addition\nto the standard dashboards which are provided. The Custom Report in its\nsimplest form contains specifications about metrics, dimensions and\nfilters. It is important to note that the custom report by itself does not\nprovide an executable entity. The Edge UI converts the custom report\ndefinition into an analytics query and displays the result in a chart.", + "flatPath": "v1/organizations/{organizationsId}/reports", + "httpMethod": "POST", + "id": "apigee.organizations.reports.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent organization name under which the Custom Report will\nbe created. Must be of the form:\n `organizations/{organization_id}/reports`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports", + "request": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "response": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing custom report definition", + "flatPath": "v1/organizations/{organizationsId}/reports/{reportsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.reports.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Custom Report name of the form:\n `organizations/{organization_id}/reports/{report_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeleteCustomReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a custom report definition.", + "flatPath": "v1/organizations/{organizationsId}/reports/{reportsId}", + "httpMethod": "GET", + "id": "apigee.organizations.reports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Custom Report name of the form:\n `organizations/{organization_id}/reports/{report_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Return a list of Custom Reports", + "flatPath": "v1/organizations/{organizationsId}/reports", + "httpMethod": "GET", + "id": "apigee.organizations.reports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "expand": { + "description": "Set to 'true' to get expanded details about each custom report.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The parent organization name under which the API product will\nbe listed\n `organizations/{organization_id}/reports`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports", + "response": { + "$ref": "GoogleCloudApigeeV1ListCustomReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Update an existing custom report definition", + "flatPath": "v1/organizations/{organizationsId}/reports/{reportsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.reports.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Custom Report name of the form:\n `organizations/{organization_id}/reports/{report_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "response": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sharedflows": { + "methods": { + "create": { + "description": "Uploads a ZIP-formatted shared flow configuration bundle to an\norganization. If the shared flow already exists, this creates a new\nrevision of it. If the shared flow does not exist, this creates it.\n\nOnce imported, the shared flow revision must be deployed before it can be\naccessed at runtime.\n\nThe size limit of a shared flow bundle is 15 MB.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows", + "httpMethod": "POST", + "id": "apigee.organizations.sharedflows.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "action": { + "description": "Required. Must be set to either `import` or `validate`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name to give the shared flow", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the parent organization under which to create the\nshared flow. Must be of the form:\n `organizations/{organization_id}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sharedflows", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlowRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a shared flow and all it's revisions. The shared flow must be\nundeployed before you can delete it.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.sharedflows.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. shared flow name of the form:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlow" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a shared flow by name, including a list of its revisions.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the shared flow to get. Must be of the\nform:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlow" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all shared flows in the organization.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "includeMetaData": { + "description": "Indicates whether to include shared flow metadata in the response.", + "location": "query", + "type": "boolean" + }, + "includeRevisions": { + "description": "Indicates whether to include a list of revisions in the response.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The name of the parent organization under which to get shared\nflows. Must be of the form:\n `organizations/{organization_id}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sharedflows", + "response": { + "$ref": "GoogleCloudApigeeV1ListSharedFlowsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of a shared flow.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the shared flow for which to return deployment information in the\nfollowing format:\n `organizations/{org}/sharedflows/{sharedflow}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "revisions": { + "methods": { + "delete": { + "description": "Deletes a shared flow and all associated policies, resources, and\nrevisions. You must undeploy the shared flow before deleting it.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.sharedflows.revisions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the shared flow revision to delete. Must be of the\nform:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlowRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a revision of a shared flow.\n\nIf `format=bundle` is passed, it instead outputs a shared flow revision as\na ZIP-formatted bundle of code and config files.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.revisions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "format": { + "description": "Specify `bundle` to export the contents of the shared flow bundle.\nOtherwise, the bundle metadata is returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the shared flow revision to get. Must be of the\nform:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateSharedFlowRevision": { + "description": "Updates a shared flow revision. This operation is only allowed on revisions\nwhich have never been deployed. After deployment a revision becomes\nimmutable, even if it becomes undeployed.\n\nThe payload is a ZIP-formatted shared flow. Content type must be either\nmultipart/form-data or application/octet-stream.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}", + "httpMethod": "POST", + "id": "apigee.organizations.sharedflows.revisions.updateSharedFlowRevision", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the shared flow revision to update.\nMust be of the form:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "validate": { + "description": "Ignored. All uploads are validated regardless of the value of this field.\nIt is kept for compatibility with existing APIs. Must be `true` or `false`\nif provided.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlowRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of a shared flow revision.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.revisions.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the API proxy revision for which to return deployment information\nin the following format:\n `organizations/{org}/sharedflows/{sharedflow}/revisions/{rev}`.", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200625", + "rootUrl": "https://apigee.googleapis.com/", + "schemas": { + "GoogleApiHttpBody": { + "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody) returns\n (google.protobuf.Empty);\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.", + "id": "GoogleApiHttpBody", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "format": "byte", + "type": "string" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Access": { + "id": "GoogleCloudApigeeV1Access", + "properties": { + "Get": { + "$ref": "GoogleCloudApigeeV1AccessGet" + }, + "Remove": { + "$ref": "GoogleCloudApigeeV1AccessRemove" + }, + "Set": { + "$ref": "GoogleCloudApigeeV1AccessSet" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AccessGet": { + "description": "Get action. For example,\n\"Get\" : {\n \"name\" : \"target.name\",\n \"value\" : \"default\"\n}", + "id": "GoogleCloudApigeeV1AccessGet", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AccessRemove": { + "description": "Remove action. For example,\n\"Remove\" : {\n \"name\" : \"target.name\",\n \"success\" : true\n}", + "id": "GoogleCloudApigeeV1AccessRemove", + "properties": { + "name": { + "type": "string" + }, + "success": { + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AccessSet": { + "description": "Set action. For example,\n\"Set\" : {\n \"name\" : \"target.name\",\n \"success\" : true,\n \"value\" : \"default\"\n}", + "id": "GoogleCloudApigeeV1AccessSet", + "properties": { + "name": { + "type": "string" + }, + "success": { + "type": "boolean" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Alias": { + "description": "A reference to a certificate or key, certificate pair.", + "id": "GoogleCloudApigeeV1Alias", + "properties": { + "alias": { + "description": "The resource ID for this alias. Values must match regular expression\n`[^/]{1,255}`.", + "type": "string" + }, + "certsInfo": { + "$ref": "GoogleCloudApigeeV1Certificate", + "description": "The chain of certificates under this alias." + }, + "type": { + "description": "The type of alias.", + "enum": [ + "ALIAS_TYPE_UNSPECIFIED", + "CERT", + "KEY_CERT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AliasRevisionConfig": { + "id": "GoogleCloudApigeeV1AliasRevisionConfig", + "properties": { + "location": { + "description": "The location of the alias file, e.g. a GCS URI.", + "type": "string" + }, + "name": { + "description": "The name of the alias revision included in the keystore. Must be of the\nform:\n'organizations/{org}/environments/{env}/keystores/{keystore}/aliases/{alias}/revisions/{rev}'.", + "type": "string" + }, + "type": { + "enum": [ + "ALIAS_TYPE_UNSPECIFIED", + "CERT", + "KEY_CERT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiProduct": { + "id": "GoogleCloudApigeeV1ApiProduct", + "properties": { + "apiResources": { + "description": "Comma-separated list of API resources to be bundled in the API Product.\n\nBy default, the resource paths are mapped from the `proxy.pathsuffix`\nvariable.\n\nThe proxy path suffix is defined as the URI fragment following the\nProxyEndpoint base path.\nFor example, if the `apiResources` element is defined to be\n`/forecastrss` and the base path defined for the API proxy is\n`/weather`, then only requests to `/weather/forecastrss` are permitted by\nthe API product.\n\nYou can select a specific path, or you can select all subpaths with the\nfollowing wildcard:\n\n- /**: Indicates that all sub-URIs are included.\n- /* : Indicates that only URIs one level down are included.\n\nBy default, / supports the same resources as /** as well as the base path\ndefined by the API proxy.\n\nFor example, if the base path of the API proxy is `/v1/weatherapikey`,\nthen the API product supports requests to `/v1/weatherapikey` and to any\nsub-URIs, such as `/v1/weatherapikey/forecastrss`,\n`/v1/weatherapikey/region/CA`, and so on.\nFor more information, see:\n\n- Manage API\nproducts\n- Managing\na transaction recording policy using the API", + "items": { + "type": "string" + }, + "type": "array" + }, + "approvalType": { + "description": "Specifies how API keys are approved to access the APIs defined by the API\nproduct.\n\nIf set to `manual`, the consumer key is generated and returned in \"pending\"\nstate. In this case, the API keys won't work until they have been\nexplicitly approved.\n\nIf set to `auto`, the consumer key is generated and returned in \"approved\"\nstate and can be used immediately.\n\n", + "type": "string" + }, + "attributes": { + "description": "Array of attributes that may be used to extend the default API product\nprofile with customer-specific metadata. You can specify a maximum of 18\nattributes.\n\nUse this property to specify the access level of the API product as either\n`public`, `private`, or `internal`.\n\nOnly products marked `public` are available to developers in the Apigee\ndeveloper portal. For example, you can set a product to `internal` while it\nis in development and then change access to `public` when it is ready to\nrelease on the portal.\n\nAPI products marked as `private` do not appear on the portal but\ncan be accessed by external developers.\n\nFor monetization, you can use the attributes field to:\n\n- Specify transaction success criteria\n- Specify custom attributes on which you base rate plan\ncharges.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "createdAt": { + "description": "Response only. Creation time of this environment as milliseconds since\nepoch.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "An overview of the API product. Include key information about the API\nproduct that is not captured by other fields.", + "type": "string" + }, + "displayName": { + "description": "The name to be displayed in the UI or developer portal to developers\nregistering for API access.", + "type": "string" + }, + "environments": { + "description": "A comma-separated list of environment names to which the API product is\nbound. Requests to environments that are not listed are rejected.\n\nBy specifying one or more environments, you can bind the resources listed\nin the API product to a specific environment, preventing developers from\naccessing those resources through API proxies deployed in another\nenvironment.\n\nThis setting is used, for example, to prevent resources associated with\nAPI proxies in 'prod' from being accessed by API proxies deployed in\n'test'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastModifiedAt": { + "description": "Response only. Modified time of this environment as milliseconds since\nepoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The internal name of the API Product. Characters you can use in the name\nare restricted to: A-Z0-9._\\-$ %.\n\n", + "type": "string" + }, + "proxies": { + "description": "A comma-separated list of API proxy names to which this API product is\nbound. By specifying API proxies, you can associate resources in the API\nproduct with specific API proxies, preventing developers from accessing\nthose resources through other API proxies.\n\nEdge rejects requests to API proxies that are not listed.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "quota": { + "description": "The number of request messages permitted per app by this API product for\nthe specified `quotaInterval` and `quotaTimeUnit`.\n\nFor example, a `quota` of 50, for a `quotaInterval` of 12 and a\n`quotaTimeUnit` of hours means 50 requests are allowed every 12 hours.", + "type": "string" + }, + "quotaInterval": { + "description": "The time interval over which the number of request messages is calculated.", + "type": "string" + }, + "quotaTimeUnit": { + "description": "The time unit defined for the `quotaInterval`. Valid values include minute,\nhour, day, or month.", + "type": "string" + }, + "scopes": { + "description": "A comma-separated list of OAuth scopes that are validated at runtime.\nEdge validates that the scopes in any access token presented match the\nscopes defined in the OAuth policy assoicated with the API product.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiProductRef": { + "id": "GoogleCloudApigeeV1ApiProductRef", + "properties": { + "apiproduct": { + "description": "Name of the API product.", + "type": "string" + }, + "status": { + "description": "Status of the API product.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiProxy": { + "description": "Metadata describing the API proxy", + "id": "GoogleCloudApigeeV1ApiProxy", + "properties": { + "latestRevisionId": { + "description": "The id of the most recently created revision for this api proxy.", + "type": "string" + }, + "metaData": { + "$ref": "GoogleCloudApigeeV1EntityMetadata", + "description": "Metadata describing the API proxy." + }, + "name": { + "description": "Name of the API proxy.", + "type": "string" + }, + "revision": { + "description": "List of revisons defined for the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiProxyRevision": { + "description": "API proxy revision.", + "id": "GoogleCloudApigeeV1ApiProxyRevision", + "properties": { + "basepaths": { + "description": "Base URL of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "configurationVersion": { + "$ref": "GoogleCloudApigeeV1ConfigVersion", + "description": "Version of the API proxy configuration schema to which the API proxy\nconforms. Currently, the only supported value is 4.0\n(`majorVersion.minorVersion`). This setting may be used in the future to\ntrack the evolution of the API proxy format." + }, + "contextInfo": { + "description": "Revision number, app name, and organization for the API proxy.", + "type": "string" + }, + "createdAt": { + "description": "Time that the API proxy revision was created in milliseconds since\nepoch.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "Description of the API proxy revision.", + "type": "string" + }, + "displayName": { + "description": "Human-readable name of the API proxy.", + "type": "string" + }, + "entityMetaDataAsProperties": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata describing the API proxy revision as a key-value map.", + "type": "object" + }, + "lastModifiedAt": { + "description": "Time that the API proxy revision was last modified in\nmilliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of the API proxy.", + "type": "string" + }, + "policies": { + "description": "List of policy names included in the API proxy revision..", + "items": { + "type": "string" + }, + "type": "array" + }, + "proxies": { + "description": "List of proxy names included in the API proxy revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "proxyEndpoints": { + "description": "List of ProxyEndpoints in the `/proxies` directory of the API proxy.\nTypically, this element is included only when the API proxy was created\nusing the Edge UI. This is a 'manifest' setting designed to\nprovide visibility into the contents of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceFiles": { + "$ref": "GoogleCloudApigeeV1ResourceFiles", + "description": "List of resource files included in the API proxy revision." + }, + "resources": { + "description": "List of the resources included in the API proxy revision formatted as\n\"{type}://{name}\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "revision": { + "description": "API proxy revision.", + "type": "string" + }, + "sharedFlows": { + "description": "List of the shared flows included in the API proxy revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "OpenAPI Specification that is associated with the API proxy.\nThe value is set to a URL or to a path in the specification store.", + "type": "string" + }, + "targetEndpoints": { + "description": "List of TargetEndpoints in the `/targets` directory of the API proxy.\nTypically, this element is included only when the API proxy was created\nusing the Edge UI. This is a 'manifest' setting designed to\nprovide visibility into the contents of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetServers": { + "description": "List of TargetServers referenced in any TargetEndpoint in the API\nproxy. Typically, you will see this element only when the API proxy was\ncreated using the Edge UI. This is a 'manifest' setting\ndesigned to provide visibility into the contents of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targets": { + "description": "List of the targets included in the API proxy revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "teams": { + "description": "List of the teams included in the API proxy revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "Type. Set to `Application`. Maintained for compatibility with\nthe Apigee Edge API.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1App": { + "id": "GoogleCloudApigeeV1App", + "properties": { + "apiProducts": { + "description": "List of API products associated with the app.", + "items": { + "$ref": "GoogleCloudApigeeV1ApiProductRef" + }, + "type": "array" + }, + "appId": { + "description": "ID of the app.", + "type": "string" + }, + "attributes": { + "description": "List of attributes.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "callbackUrl": { + "description": "Callback URL used by OAuth 2.0 authorization servers to communicate\nauthorization codes back to apps.", + "type": "string" + }, + "companyName": { + "description": "Name of the company that owns the app.", + "type": "string" + }, + "createdAt": { + "description": "Output only. Unix time when the app was created.", + "format": "int64", + "type": "string" + }, + "credentials": { + "description": "Output only. Set of credentials for the app. Credentials are API\nkey/secret pairs associated with API products.", + "items": { + "$ref": "GoogleCloudApigeeV1Credential" + }, + "type": "array" + }, + "developerId": { + "description": "ID of the developer.", + "type": "string" + }, + "keyExpiresIn": { + "description": "Duration, in milliseconds, of the consumer key that will\nbe generated for the app. The default value, -1, indicates an\ninfinite validity period. Once set, the expiration can't be updated.\njson key: keyExpiresIn", + "format": "int64", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Last modified time as milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of the app.", + "type": "string" + }, + "scopes": { + "description": "Scopes to apply to the app. The specified scope names must already\nexist on the API product that you associate with the app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AsyncQuery": { + "id": "GoogleCloudApigeeV1AsyncQuery", + "properties": { + "created": { + "description": "Creation time of the query.", + "type": "string" + }, + "error": { + "description": "Error is set when query fails.", + "type": "string" + }, + "executionTime": { + "description": "ExecutionTime is available only after the query is completed.", + "type": "string" + }, + "name": { + "description": "Asynchronous Query Name.", + "type": "string" + }, + "queryParams": { + "$ref": "GoogleCloudApigeeV1QueryMetadata", + "description": "Contains information like metrics, dimenstions etc of the AsyncQuery." + }, + "reportDefinitionId": { + "description": "Asynchronous Report ID.", + "type": "string" + }, + "result": { + "$ref": "GoogleCloudApigeeV1AsyncQueryResult", + "description": "Result is available only after the query is completed." + }, + "resultFileSize": { + "description": "ResultFileSize is available only after the query is completed.", + "type": "string" + }, + "resultRows": { + "description": "ResultRows is available only after the query is completed.", + "format": "int64", + "type": "string" + }, + "self": { + "description": "Self link of the query.\n\nExample:\n`/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd`", + "type": "string" + }, + "state": { + "description": "Query state could be \"enqueued\", \"running\", \"completed\", \"failed\".", + "type": "string" + }, + "updated": { + "description": "Last updated timestamp for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AsyncQueryResult": { + "id": "GoogleCloudApigeeV1AsyncQueryResult", + "properties": { + "expires": { + "description": "Query result will be unaccessable after this time.", + "type": "string" + }, + "self": { + "description": "Self link of the query results.\n\nExample:\n`/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Attribute": { + "description": "Key-value pair to store extra metadata.", + "id": "GoogleCloudApigeeV1Attribute", + "properties": { + "name": { + "description": "API key of the attribute.", + "type": "string" + }, + "value": { + "description": "Value of the attribute.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Attributes": { + "id": "GoogleCloudApigeeV1Attributes", + "properties": { + "attribute": { + "description": "List of attributes.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CertInfo": { + "description": "An X.509 certificate as defined in RFC 5280.", + "id": "GoogleCloudApigeeV1CertInfo", + "properties": { + "basicConstraints": { + "description": "The X.509 basic constraints extension.", + "type": "string" + }, + "expiryDate": { + "description": "The X.509 validity / notAfter in milliseconds since the epoch.", + "format": "int64", + "type": "string" + }, + "isValid": { + "description": "\"Yes\" if certificate is valid, \"No\" if expired and \"Not yet\"\nif not yet valid.", + "type": "string" + }, + "issuer": { + "description": "The X.509 issuer.", + "type": "string" + }, + "publicKey": { + "description": "The public key component of the X.509 subject public key info.", + "type": "string" + }, + "serialNumber": { + "description": "The X.509 serial number.", + "type": "string" + }, + "sigAlgName": { + "description": "The X.509 signatureAlgorithm.", + "type": "string" + }, + "subject": { + "description": "The X.509 subject.", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The X.509 subject alternative names (SANs) extension.", + "items": { + "type": "string" + }, + "type": "array" + }, + "validFrom": { + "description": "The X.509 validity / notBefore in milliseconds since the\nepoch.", + "format": "int64", + "type": "string" + }, + "version": { + "description": "The X.509 version.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Certificate": { + "id": "GoogleCloudApigeeV1Certificate", + "properties": { + "certInfo": { + "description": "The chain of certificates under this name.", + "items": { + "$ref": "GoogleCloudApigeeV1CertInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CommonNameConfig": { + "id": "GoogleCloudApigeeV1CommonNameConfig", + "properties": { + "matchWildCards": { + "type": "boolean" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ConfigVersion": { + "description": "Version of the API proxy configuration schema. Currently, only 4.0 is\nsupported.", + "id": "GoogleCloudApigeeV1ConfigVersion", + "properties": { + "majorVersion": { + "description": "Major version of the API proxy configuration schema.", + "format": "int32", + "type": "integer" + }, + "minorVersion": { + "description": "Minor version of the API proxy configuration schema.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Credential": { + "id": "GoogleCloudApigeeV1Credential", + "properties": { + "apiProducts": { + "description": "List of API products this credential can be used for.", + "items": { + "$ref": "GoogleCloudApigeeV1ApiProductRef" + }, + "type": "array" + }, + "attributes": { + "description": "List of attributes associated with this credential.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "consumerKey": { + "description": "Consumer key.", + "type": "string" + }, + "consumerSecret": { + "description": "Secret key.", + "type": "string" + }, + "expiresAt": { + "description": "Time the credential will expire in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "issuedAt": { + "description": "Time the credential was issued in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "scopes": { + "description": "List of scopes to apply to the app. Specified scopes must already\nexist on the API product that you associate with the app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CustomReport": { + "id": "GoogleCloudApigeeV1CustomReport", + "properties": { + "chartType": { + "description": "This field contains the chart type for the report", + "type": "string" + }, + "comments": { + "description": "Legacy field: not used. This field contains a list of comments associated\nwith custom report", + "items": { + "type": "string" + }, + "type": "array" + }, + "createdAt": { + "description": "Output only. Unix time when the app was created\njson key: createdAt", + "format": "int64", + "type": "string" + }, + "dimensions": { + "description": "This contains the list of dimensions for the report", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "This is the display name for the report", + "type": "string" + }, + "environment": { + "description": "Output only. Environment name", + "type": "string" + }, + "filter": { + "description": "This field contains the filter expression", + "type": "string" + }, + "fromTime": { + "description": "Legacy field: not used. Contains the from time for the report", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Modified time of this entity as milliseconds since epoch.\njson key: lastModifiedAt", + "format": "int64", + "type": "string" + }, + "lastViewedAt": { + "description": "Output only. Last viewed time of this entity as milliseconds since epoch", + "format": "int64", + "type": "string" + }, + "limit": { + "description": "Legacy field: not used This field contains the limit for the result\nretrieved", + "type": "string" + }, + "metrics": { + "description": "Required. This contains the list of metrics", + "items": { + "$ref": "GoogleCloudApigeeV1CustomReportMetric" + }, + "type": "array" + }, + "name": { + "description": "Required. Unique identifier for the report\nT his is a legacy field used to encode custom report unique id", + "type": "string" + }, + "offset": { + "description": "Legacy field: not used. This field contains the offset for the data", + "type": "string" + }, + "organization": { + "description": "Output only. Organization name", + "type": "string" + }, + "properties": { + "description": "This field contains report properties such as ui metadata etc.", + "items": { + "$ref": "GoogleCloudApigeeV1ReportProperty" + }, + "type": "array" + }, + "sortByCols": { + "description": "Legacy field: not used much. Contains the list of sort by columns", + "items": { + "type": "string" + }, + "type": "array" + }, + "sortOrder": { + "description": "Legacy field: not used much. Contains the sort order for the sort columns", + "type": "string" + }, + "tags": { + "description": "Legacy field: not used. This field contains a list of tags associated with\ncustom report", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeUnit": { + "description": "This field contains the time unit of aggregation for the report", + "type": "string" + }, + "toTime": { + "description": "Legacy field: not used. Contains the end time for the report", + "type": "string" + }, + "topk": { + "description": "Legacy field: not used. This field contains the top k parameter value\nfor restricting the result", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CustomReportMetric": { + "description": "This encapsulates a metric property of the form sum(message_count)\nwhere name is message_count and function is sum", + "id": "GoogleCloudApigeeV1CustomReportMetric", + "properties": { + "function": { + "description": "aggregate function", + "type": "string" + }, + "name": { + "description": "name of the metric", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DataCollectorConfig": { + "description": "A DataCollector and its configuration.", + "id": "GoogleCloudApigeeV1DataCollectorConfig", + "properties": { + "name": { + "description": "The name of the data collector. Must be of the form\n'organizations/{org}/datacollectors/{dc}'.", + "type": "string" + }, + "type": { + "description": "The data type this DataCollector accepts.", + "enum": [ + "TYPE_UNSPECIFIED", + "INTEGER", + "FLOAT", + "STRING", + "BOOLEAN", + "DATETIME" + ], + "enumDescriptions": [ + "For future compatibility.", + "For integer values.", + "For float values.", + "For string values.", + "For boolean values.", + "For datetime values." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DebugMask": { + "id": "GoogleCloudApigeeV1DebugMask", + "properties": { + "faultJSONPaths": { + "description": "List of JSON paths that specify the JSON elements to be filtered from JSON\npayloads in error flows.", + "items": { + "type": "string" + }, + "type": "array" + }, + "faultXPaths": { + "description": "List of XPaths that specify the XML elements to be filtered from XML\npayloads in error flows.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Name of the debug mask.", + "type": "string" + }, + "namespaces": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of namespaces to URIs.", + "type": "object" + }, + "requestJSONPaths": { + "description": "List of JSON paths that specify the JSON elements to be filtered from JSON\nrequest message payloads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requestXPaths": { + "description": "List of XPaths that specify the XML elements to be filtered from XML\nrequest message payloads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "responseJSONPaths": { + "description": "List of JSON paths that specify the JSON elements to be filtered from JSON\nresponse message payloads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "responseXPaths": { + "description": "List of XPaths that specify the XML elements to be filtered from XML\nresponse message payloads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "variables": { + "description": "List of variables that should be masked from the debug output.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DebugSession": { + "id": "GoogleCloudApigeeV1DebugSession", + "properties": { + "count": { + "description": "Optional. The number of request to be traced. Min = 1, Max = 15, Default\n= 10.", + "format": "int32", + "type": "integer" + }, + "filter": { + "description": "Optional. A conditional statement which is evaluated against the request\nmessage to determine if it should be traced. Syntax matches that of on\nAPI Proxy bundle flow Condition.", + "type": "string" + }, + "name": { + "description": "A unique ID for this DebugSession.", + "type": "string" + }, + "timeout": { + "description": "Optional. The time in seconds after which this DebugSession should end.\nThis value will override the value in query param, if both are provided.", + "format": "int64", + "type": "string" + }, + "tracesize": { + "description": "Optional. The maximum number of bytes captured from the response payload.\nMin = 0, Max = 5120, Default = 5120.", + "format": "int32", + "type": "integer" + }, + "validity": { + "description": "Optional. The length of time, in seconds, that this debug session is valid,\nstarting from when it's received in the control plane. Min = 1, Max = 15,\nDefault = 10.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DebugSessionTransaction": { + "description": "A transaction contains all of the debug information of the entire message\nflow of an API call processed by the runtime plane. The information is\ncollected and recorded at critical points of the message flow in the runtime\napiproxy.", + "id": "GoogleCloudApigeeV1DebugSessionTransaction", + "properties": { + "completed": { + "description": "Flag indicating whether a transaction is completed or not", + "type": "boolean" + }, + "point": { + "description": "List of debug data collected by runtime plane at various defined points in\nthe flow.", + "items": { + "$ref": "GoogleCloudApigeeV1Point" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeleteCustomReportResponse": { + "id": "GoogleCloudApigeeV1DeleteCustomReportResponse", + "properties": { + "message": { + "description": "The response contains only a message field.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Deployment": { + "id": "GoogleCloudApigeeV1Deployment", + "properties": { + "apiProxy": { + "description": "API proxy.", + "type": "string" + }, + "basePath": { + "description": "Base path for the deployment.", + "type": "string" + }, + "deployStartTime": { + "description": "Time the API proxy was marked `deployed` in the control plane in\nmillisconds since epoch.", + "format": "int64", + "type": "string" + }, + "environment": { + "description": "Environment.", + "type": "string" + }, + "pods": { + "description": "Status reported by runtime pods.", + "items": { + "$ref": "GoogleCloudApigeeV1PodStatus" + }, + "type": "array" + }, + "revision": { + "description": "API proxy revision.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeploymentConfig": { + "id": "GoogleCloudApigeeV1DeploymentConfig", + "properties": { + "attributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional key-value metadata about the deployment.", + "type": "object" + }, + "basePath": { + "description": "Base path where the application needs to be hosted. Default value is\nassumed to be \"/\".", + "type": "string" + }, + "location": { + "description": "The location of the proxy bundle, as a uri.", + "type": "string" + }, + "name": { + "description": "The name of the API or shared flow revision to be deployed. Must be of the\nform 'organizations/{org}/apis/{api}/revisions/{rev}' or\n'organizations/{org}/sharedflows/{sf}/revisions/{rev}'.", + "type": "string" + }, + "proxyUid": { + "description": "The uid of the proxy revision.", + "type": "string" + }, + "uid": { + "description": "A unique id that will only change if the deployment is deleted and\nrecreated.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Developer": { + "id": "GoogleCloudApigeeV1Developer", + "properties": { + "accessType": { + "description": "Access type.", + "type": "string" + }, + "appFamily": { + "description": "Developer app family.", + "type": "string" + }, + "apps": { + "description": "List of apps associated with the developer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "attributes": { + "description": "Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "companies": { + "description": "List of companies associated with the developer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createdAt": { + "description": "Output only. Time at which the developer was created in milliseconds\nsince epoch.", + "format": "int64", + "type": "string" + }, + "developerId": { + "description": "ID of the developer.\n\n**Note**: IDs are generated internally by Apigee and are not\nguaranteed to stay the same over time.", + "type": "string" + }, + "email": { + "description": "Required. Email address of the developer. This value is used to uniquely identify\nthe developer in Apigee hybrid.", + "type": "string" + }, + "firstName": { + "description": "Required. First name of the developer.", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Time at which the developer was last modified in\nmilliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "lastName": { + "description": "Required. Last name of the developer.", + "type": "string" + }, + "organizationName": { + "description": "Output only. Name of the Apigee organization in which the developer resides.", + "type": "string" + }, + "status": { + "description": "Output only. Status of the developer. Valid values are `active` and `inactive`.", + "type": "string" + }, + "userName": { + "description": "Required. User name of the developer. Not used by Apigee hybrid.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeveloperApp": { + "id": "GoogleCloudApigeeV1DeveloperApp", + "properties": { + "apiProducts": { + "description": "List of API products associated with the developer app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "appFamily": { + "description": "Developer app family.", + "type": "string" + }, + "appId": { + "description": "ID of the developer app.", + "type": "string" + }, + "attributes": { + "description": "List of attributes for the developer app.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "callbackUrl": { + "description": "Callback URL used by OAuth 2.0 authorization servers to communicate\nauthorization codes back to developer apps.", + "type": "string" + }, + "createdAt": { + "description": "Output only. Time the developer app was created in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "credentials": { + "description": "Output only. Set of credentials for the developer app consisting of the\nconsumer key/secret pairs associated with the API products.", + "items": { + "$ref": "GoogleCloudApigeeV1Credential" + }, + "type": "array" + }, + "developerId": { + "description": "ID of the developer.", + "type": "string" + }, + "keyExpiresIn": { + "description": "Expiration time, in milliseconds, for the consumer key that\nis generated for the developer app. If not set or left to the default\nvalue of `-1`, the API key never expires.\nThe expiration time can't be updated after it is set.", + "format": "int64", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Time the developer app was modified in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of the developer app.", + "type": "string" + }, + "scopes": { + "description": "Scopes to apply to the developer app. The specified scopes must\nalready exist for the API product that you associate with the developer\napp.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential. Valid values include `approved` or `revoked`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeveloperAppKey": { + "id": "GoogleCloudApigeeV1DeveloperAppKey", + "properties": { + "apiProducts": { + "description": "List of API products for which the credential can be used.\n\n**Note**: Do not specify the list of API products when creating a consumer\nkey and secret for a developer app. Instead, use the\nUpdateDeveloperAppKey API to\nmake the association after the consumer key and secret are created.", + "items": { + "type": "any" + }, + "type": "array" + }, + "attributes": { + "description": "List of attributes associated with the credential.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "consumerKey": { + "description": "Consumer key.", + "type": "string" + }, + "consumerSecret": { + "description": "Secret key.", + "type": "string" + }, + "expiresAt": { + "description": "Time the developer app expires in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "issuedAt": { + "description": "Time the developer app was created in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "scopes": { + "description": "Scopes to apply to the app. The specified scope names must already\nbe defined for the API product that you associate with the app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential. Valid values include `approved` or `revoked`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DimensionMetric": { + "description": "This message type encapsulates a metric grouped by dimension.", + "id": "GoogleCloudApigeeV1DimensionMetric", + "properties": { + "metrics": { + "description": "This field contains a list of metrics.", + "items": { + "$ref": "GoogleCloudApigeeV1Metric" + }, + "type": "array" + }, + "name": { + "description": "This field contains the name of the dimension.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1EntityMetadata": { + "description": "Metadata common to many entities in this API.", + "id": "GoogleCloudApigeeV1EntityMetadata", + "properties": { + "createdAt": { + "description": "Time at which the API proxy was created, in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "lastModifiedAt": { + "description": "Time at which the API proxy was most recently modified, in milliseconds\nsince epoch.", + "format": "int64", + "type": "string" + }, + "subType": { + "description": "The type of entity described", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Environment": { + "id": "GoogleCloudApigeeV1Environment", + "properties": { + "createdAt": { + "description": "Output only. Creation time of this environment as milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "Optional. Description of the environment.", + "type": "string" + }, + "displayName": { + "description": "Optional. Display name for this environment.", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Last modification time of this environment as milliseconds\nsince epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Required. Name of the environment. Values must match the\nregular expression `^[.\\\\p{Alnum}-_]{1,255}$`", + "type": "string" + }, + "properties": { + "$ref": "GoogleCloudApigeeV1Properties", + "description": "Optional. Key-value pairs that may be used for customizing the environment." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1EnvironmentConfig": { + "id": "GoogleCloudApigeeV1EnvironmentConfig", + "properties": { + "createTime": { + "description": "The time at which this environment config was created.", + "format": "google-datetime", + "type": "string" + }, + "dataCollectors": { + "description": "The list of Data Collectors used by deployments in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1DataCollectorConfig" + }, + "type": "array" + }, + "debugMask": { + "$ref": "GoogleCloudApigeeV1DebugMask", + "description": "Debug mask that applies to all deployments in the environment." + }, + "deployments": { + "description": "A list of deployments in the environment", + "items": { + "$ref": "GoogleCloudApigeeV1DeploymentConfig" + }, + "type": "array" + }, + "featureFlags": { + "additionalProperties": { + "type": "string" + }, + "description": "Feature flags inherited from the org and environment parents.", + "type": "object" + }, + "flowhooks": { + "description": "A list of flow hooks in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1FlowHookConfig" + }, + "type": "array" + }, + "keystores": { + "description": "A list of keystores in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1KeystoreConfig" + }, + "type": "array" + }, + "name": { + "description": "The name of the environment config. Must be of the form\n'organizations/{org}/environments/{env}/configs/{config_id}", + "type": "string" + }, + "provider": { + "description": "This field can be used by the control plane to add some context\ninformation about itself. This information could help detect the source of\nthe document during diagnostics and debugging.", + "type": "string" + }, + "pubsubTopic": { + "description": "Name of the pubsub topic for this environment.", + "type": "string" + }, + "resourceReferences": { + "description": "A list of resource references in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1ReferenceConfig" + }, + "type": "array" + }, + "resources": { + "description": "A list of resource versions in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1ResourceConfig" + }, + "type": "array" + }, + "revisionId": { + "description": "Revision id that defines the ordering on the environment config.\nThe higher the revision, the more recently the configuration\nwas deployed.", + "format": "int64", + "type": "string" + }, + "sequenceNumber": { + "description": "DEPRECATED: use revision_id", + "format": "int64", + "type": "string" + }, + "targets": { + "description": "A list of target servers in the environment. Disabled target servers are\nnot included.", + "items": { + "$ref": "GoogleCloudApigeeV1TargetServerConfig" + }, + "type": "array" + }, + "uid": { + "description": "A unique id for the environment config that will only change if the\nenvironment is deleted and recreated.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1FlowHook": { + "id": "GoogleCloudApigeeV1FlowHook", + "properties": { + "continueOnError": { + "description": "Optional. Flag that specifies whether execution should continue if the flow hook\nthrows an exception. Set to `true` to continue execution. Set to\n`false` to stop execution if the flow hook throws an exception.Defaults\nto `true`.", + "type": "boolean" + }, + "description": { + "description": "Description of the flow hook.", + "type": "string" + }, + "flowHookPoint": { + "description": "Output only. Where in the API call flow the flow hook is invoked. Must be one of\n`PreProxyFlowHook`, `PostProxyFlowHook`, `PreTargetFlowHook`, or\n`PostTargetFlowHook`.", + "type": "string" + }, + "sharedFlow": { + "description": "Shared flow attached to this flow hook, or empty if there is none attached.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1FlowHookConfig": { + "id": "GoogleCloudApigeeV1FlowHookConfig", + "properties": { + "continueOnError": { + "description": "Should the flow abort after an error in the flow hook.\nShould default to true if unset.", + "type": "boolean" + }, + "name": { + "description": "The name of the flow hook. Must be of the form\n'organizations/{org}/environments/{env}/flowhooks/{point}'.\nKnown points are PreProxyFlowHook, PostProxyFlowHook, PreTargetFlowHook,\nand PostTargetFlowHook", + "type": "string" + }, + "sharedFlowName": { + "description": "The name of the shared flow to invoke. Must be of the form\n'organizations/{org}/sharedflows/{sharedflow}'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1GetSyncAuthorizationRequest": { + "description": "Request for\nGetSyncAuthorization.", + "id": "GoogleCloudApigeeV1GetSyncAuthorizationRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudApigeeV1KeyAliasReference": { + "id": "GoogleCloudApigeeV1KeyAliasReference", + "properties": { + "aliasId": { + "description": "The alias id. Must exist in the keystore referred to by reference.", + "type": "string" + }, + "reference": { + "description": "The reference name. Must be of the form:\norganizations/{org}/environments/{env}/references/{ref}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1KeyValueMap": { + "description": "A collection of key, value string pairs", + "id": "GoogleCloudApigeeV1KeyValueMap", + "properties": { + "encrypted": { + "description": "Optional. If `true` entry values will be encrypted.", + "type": "boolean" + }, + "name": { + "description": "Required. The id of the key value map.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Keystore": { + "description": "A datastore for Certificates and Aliases", + "id": "GoogleCloudApigeeV1Keystore", + "properties": { + "aliases": { + "description": "Output only. The aliases in this keystore.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. The resource ID for this keystore. Values must match the\nregular expression `[\\w[:space:]-.]{1,255}`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1KeystoreConfig": { + "id": "GoogleCloudApigeeV1KeystoreConfig", + "properties": { + "aliases": { + "description": "Aliases in the keystore.", + "items": { + "$ref": "GoogleCloudApigeeV1AliasRevisionConfig" + }, + "type": "array" + }, + "name": { + "description": "The resource name. Must be of the\nform:\n'organizations/{org}/environments/{env}/keystores/{keystore}'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListApiProductsResponse": { + "id": "GoogleCloudApigeeV1ListApiProductsResponse", + "properties": { + "apiProduct": { + "description": "Lists all API product names defined for an organization.", + "items": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListApiProxiesResponse": { + "id": "GoogleCloudApigeeV1ListApiProxiesResponse", + "properties": { + "proxies": { + "items": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListAppsResponse": { + "id": "GoogleCloudApigeeV1ListAppsResponse", + "properties": { + "app": { + "items": { + "$ref": "GoogleCloudApigeeV1App" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListAsyncQueriesResponse": { + "description": "The response for ListAsyncQueries.", + "id": "GoogleCloudApigeeV1ListAsyncQueriesResponse", + "properties": { + "queries": { + "description": "The asynchronous queries belong to requested resource name.", + "items": { + "$ref": "GoogleCloudApigeeV1AsyncQuery" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListCustomReportsResponse": { + "description": "This message encapsulates a list of custom report definitions", + "id": "GoogleCloudApigeeV1ListCustomReportsResponse", + "properties": { + "qualifier": { + "items": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListDebugSessionsResponse": { + "id": "GoogleCloudApigeeV1ListDebugSessionsResponse", + "properties": { + "nextPageToken": { + "description": "Page token that you can include in a ListDebugSessionsRequest to\nretrieve the next page. If omitted, no subsequent pages exist.", + "type": "string" + }, + "sessions": { + "description": "Session info that includes debug session ID and the first transaction\ncreation timestamp.", + "items": { + "$ref": "GoogleCloudApigeeV1Session" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListDeploymentsResponse": { + "id": "GoogleCloudApigeeV1ListDeploymentsResponse", + "properties": { + "deployments": { + "description": "List of deployments.", + "items": { + "$ref": "GoogleCloudApigeeV1Deployment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListDeveloperAppsResponse": { + "id": "GoogleCloudApigeeV1ListDeveloperAppsResponse", + "properties": { + "app": { + "description": "List of developer apps and their credentials.", + "items": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListEnvironmentResourcesResponse": { + "description": "Response for\nListEnvironmentResources", + "id": "GoogleCloudApigeeV1ListEnvironmentResourcesResponse", + "properties": { + "resourceFile": { + "description": "List of resources files.", + "items": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListHybridIssuersResponse": { + "id": "GoogleCloudApigeeV1ListHybridIssuersResponse", + "properties": { + "issuers": { + "description": "Lists of hybrid services and its trusted issuer email ids.", + "items": { + "$ref": "GoogleCloudApigeeV1ServiceIssuersMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListOfDevelopersResponse": { + "id": "GoogleCloudApigeeV1ListOfDevelopersResponse", + "properties": { + "developer": { + "description": "List of developers.", + "items": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListOrganizationsResponse": { + "id": "GoogleCloudApigeeV1ListOrganizationsResponse", + "properties": { + "organizations": { + "description": "List of Apigee organizations and associated GCP projects.", + "items": { + "$ref": "GoogleCloudApigeeV1OrganizationProjectMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListSharedFlowsResponse": { + "id": "GoogleCloudApigeeV1ListSharedFlowsResponse", + "properties": { + "sharedFlows": { + "items": { + "$ref": "GoogleCloudApigeeV1SharedFlow" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Metadata": { + "description": "This message type encapsulates additional information about query execution.", + "id": "GoogleCloudApigeeV1Metadata", + "properties": { + "errors": { + "description": "List of error messages as strings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notices": { + "description": "List of additional information such as data source, if result was\ntruncated etc.\nE.g\n\"notices\": [\n \"Source:Postgres\",\n \"PG Host:uappg0rw.e2e.apigeeks.net\",\n \"query served by:4b64601e-40de-4eb1-bfb9-eeee7ac929ed\",\n \"Table used: edge.api.uapgroup2.agg_api\"\n ]", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Metric": { + "description": "This message type encapsulates the metric data point.\nExample:\n{\n \"name\": \"sum(message_count)\",\n \"values\" : [ {\n \"timestamp\": 1549004400000,\n \"value\": \"39.0\"\n },\n {\n \"timestamp\" : 1548997200000,\n \"value\" : \"0.0\"\n } ]\n}\nor\n{\n \"name\": \"sum(message_count)\",\n \"values\" : [\"39.0\"]\n}", + "id": "GoogleCloudApigeeV1Metric", + "properties": { + "name": { + "description": "This field contains the metric name.", + "type": "string" + }, + "values": { + "description": "List of metric values.\nPossible value format:\n\"values\":[\"39.0\"] or\n\"values\":[ { \"value\": \"39.0\", \"timestamp\": 1232434354} ]", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OperationMetadata": { + "description": "Metadata describing an Operation.", + "id": "GoogleCloudApigeeV1OperationMetadata", + "properties": { + "operationType": { + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "INSERT", + "DELETE", + "UPDATE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "FINISHED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "targetResourceName": { + "description": "Name of the resource for which the operation is operating on.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OptimizedStats": { + "id": "GoogleCloudApigeeV1OptimizedStats", + "properties": { + "Response": { + "$ref": "GoogleCloudApigeeV1OptimizedStatsResponse", + "description": "This field wraps the stats response for Js Optimized Scenario\nwith a Response key.\nE.g.\n{\n \"Response\": {\n \"TimeUnit\": [],\n \"metaData\": {\n \"errors\": [],\n \"notices\": [\n \"Source:Postgres\",\n \"Table used: edge.api.aaxgroup001.agg_api\",\n \"PG Host:ruappg08-ro.production.apigeeks.net\",\n \"query served by:80c4ebca-6a10-4a2e-8faf-c60c1ee306ca\"\n ]\n },\n \"resultTruncated\": false,\n \"stats\": {\n \"data\": [\n {\n \"identifier\": {\n \"names\": [\n \"apiproxy\"\n ],\n \"values\": [\n \"sirjee\"\n ]\n },\n \"metric\": [\n {\n \"env\": \"prod\",\n \"name\": \"sum(message_count)\",\n \"values\": [\n 36.0\n ]\n },\n {\n \"env\": \"prod\",\n \"name\": \"sum(is_error)\",\n \"values\": [\n 36.0\n ]\n }\n ]\n }\n ]\n }\n }\n}" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OptimizedStatsNode": { + "description": "This message type encapsulates a data node as represented below:\n {\n \"identifier\": {\n \"names\": [\n \"apiproxy\"\n ],\n \"values\": [\n \"sirjee\"\n ]\n },\n \"metric\": [\n {\n \"env\": \"prod\",\n \"name\": \"sum(message_count)\",\n \"values\": [\n 36.0\n ]\n }\n ]\n }\n\n OR\n {\n \"env\": \"prod\",\n \"name\": \"sum(message_count)\",\n \"values\": [\n 36.0\n ]\n }\nDepending on whether a dimension is present in the query or not\nthe data node type can be a simple metric value or dimension identifier\nwith list of metrics.", + "id": "GoogleCloudApigeeV1OptimizedStatsNode", + "properties": { + "data": { + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OptimizedStatsResponse": { + "description": "This message type encapsulates a response format for Js Optimized Scenario.", + "id": "GoogleCloudApigeeV1OptimizedStatsResponse", + "properties": { + "TimeUnit": { + "description": "This field contains a list of time unit values. Time unit refers to\nan epoch timestamp value.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "metaData": { + "$ref": "GoogleCloudApigeeV1Metadata", + "description": "This field contains metadata information about the query executed" + }, + "resultTruncated": { + "description": "This ia a boolean field to indicate if the results were truncated\nbased on the limit parameter.", + "type": "boolean" + }, + "stats": { + "$ref": "GoogleCloudApigeeV1OptimizedStatsNode", + "description": "This field contains a stats results." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Organization": { + "id": "GoogleCloudApigeeV1Organization", + "properties": { + "analyticsRegion": { + "description": "Required. Primary GCP region for analytics data storage. For valid values, see\n[Create an\norganization](https://docs.apigee.com/hybrid/latest/precog-provision).", + "type": "string" + }, + "attributes": { + "description": "Not used by Apigee.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createdAt": { + "description": "Output only. Time that the Apigee organization was created in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "customerName": { + "description": "Not used by Apigee.", + "type": "string" + }, + "description": { + "description": "Description of the Apigee organization.", + "type": "string" + }, + "displayName": { + "type": "string" + }, + "environments": { + "description": "Output only. List of environments in the Apigee organization.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastModifiedAt": { + "description": "Output only. Time that the Apigee organization was last modified in milliseconds\nsince epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Output only. Name of the Apigee organization.", + "type": "string" + }, + "projectId": { + "description": "The project ID associated with the Apigee organization.", + "type": "string" + }, + "properties": { + "$ref": "GoogleCloudApigeeV1Properties", + "description": "Properties defined in the Apigee organization profile." + }, + "runtimeType": { + "description": "Output only. Runtime type of the Apigee organization based on the Apigee subscription\npurchased.", + "enum": [ + "RUNTIME_TYPE_UNSPECIFIED", + "CLOUD", + "HYBRID" + ], + "enumDescriptions": [ + "", + "Google-managed Apigee runtime.", + "User-managed Apigee hybrid runtime." + ], + "type": "string" + }, + "subscriptionType": { + "description": "Output only. Subscription type of the Apigee organization. Valid values include trial\n(free, limited, and for evaluation purposes only) or paid (full\nsubscription has been purchased). See\n[Apigee pricing](https://cloud.google.com/apigee/pricing/).", + "enum": [ + "SUBSCRIPTION_TYPE_UNSPECIFIED", + "PAID", + "TRIAL" + ], + "enumDescriptions": [ + "", + "Full subscription to Apigee has been purchased.", + "Subscription to Apigee is free, limited, and used for evaluation purposes\nonly." + ], + "type": "string" + }, + "type": { + "description": "Not used by Apigee.", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_TRIAL", + "TYPE_PAID", + "TYPE_INTERNAL" + ], + "enumDescriptions": [ + "Subscription type not specified.", + "Subscription to Apigee is free, limited, and used for evaluation purposes\nonly.", + "Full subscription to Apigee has been purchased. See\n[Apigee pricing](https://cloud.google.com/apigee/pricing/).", + "For internal users only." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OrganizationProjectMapping": { + "id": "GoogleCloudApigeeV1OrganizationProjectMapping", + "properties": { + "organization": { + "description": "Name of the Apigee organization.", + "type": "string" + }, + "projectIds": { + "description": "List of GCP projects associated with the Apigee organization.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1PodStatus": { + "id": "GoogleCloudApigeeV1PodStatus", + "properties": { + "appVersion": { + "description": "Version of the application running in the pod.", + "type": "string" + }, + "deploymentStatus": { + "description": "Status of the deployment. Valid values\ninclude:\n- `deployed`: Successful.\n- `error` : Failed.\n- `pending` : Pod has not yet reported on the deployment.", + "type": "string" + }, + "deploymentStatusTime": { + "description": "Time the deployment status was reported in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "deploymentTime": { + "description": "Time the proxy was deployed in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "podName": { + "description": "Name of the pod which is reporting the status.", + "type": "string" + }, + "podStatus": { + "description": "Overall status of the pod (not this specific deployment). Valid values\ninclude:\n- `active`: Up to date.\n- `stale` : Recently out of date.\n\nPods that have not reported status in a\nlong time are excluded from the output.", + "type": "string" + }, + "podStatusTime": { + "description": "Time the pod status was reported in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "statusCode": { + "description": "Code associated with the deployment status.", + "type": "string" + }, + "statusCodeDetails": { + "description": "Human-readable message associated with the status code.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Point": { + "description": "Point is a group of information collected by runtime plane at critical points\nof the message flow of the processed API request.\nThis is a list of supported point IDs, categorized to three major buckets.\nFor each category, debug points that we are currently supporting are listed\nbelow:\n- Flow status debug points:\n StateChange\n FlowInfo\n Condition\n Execution\n DebugMask\n Error\n- Flow control debug points:\n FlowCallout\n Paused\n Resumed\n FlowReturn\n BreakFlow\n Error\n- Runtime debug points:\n ScriptExecutor\n FlowCalloutStepDefinition\n CustomTarget\n StepDefinition\n Oauth2ServicePoint\n RaiseFault\n NodeJS\n\nThe detail information of the given debug point is stored in a list of\nresults.", + "id": "GoogleCloudApigeeV1Point", + "properties": { + "id": { + "description": "Name of a step in the transaction.", + "type": "string" + }, + "results": { + "description": "List of results extracted from a given debug point.", + "items": { + "$ref": "GoogleCloudApigeeV1Result" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Properties": { + "description": "Message for compatibility with legacy Edge specification for Java Properties\nobject in JSON.", + "id": "GoogleCloudApigeeV1Properties", + "properties": { + "property": { + "description": "List of all properties in the object", + "items": { + "$ref": "GoogleCloudApigeeV1Property" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Property": { + "description": "A single property entry in the Properties message.", + "id": "GoogleCloudApigeeV1Property", + "properties": { + "name": { + "description": "The property key", + "type": "string" + }, + "value": { + "description": "The property value", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Query": { + "id": "GoogleCloudApigeeV1Query", + "properties": { + "csvDelimiter": { + "description": "Delimiter used in the CSV file, if `outputFormat` is set\nto `csv`. Defaults to the `,` (comma) character.\nSupported delimiter characters include comma (`,`), pipe (`|`),\nand tab (`\\t`).", + "type": "string" + }, + "dimensions": { + "description": "A list of dimensions.\nhttps://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions", + "items": { + "type": "string" + }, + "type": "array" + }, + "filter": { + "description": "Boolean expression that can be used to filter data.\nFilter expressions can be combined using AND/OR terms and should be fully\nparenthesized to avoid ambiguity. See Analytics metrics, dimensions, and\nfilters reference\nhttps://docs.apigee.com/api-platform/analytics/analytics-reference\nfor more information on the fields available to filter\non. For more information on the tokens that you use to build filter\nexpressions, see Filter expression syntax.\nhttps://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax", + "type": "string" + }, + "groupByTimeUnit": { + "description": "Time unit used to group the result set.\nValid values include: second, minute, hour, day, week, or month.\nIf a query includes groupByTimeUnit, then the result is an aggregation\nbased on the specified time unit and the resultant timestamp does not\ninclude milliseconds precision.\nIf a query omits groupByTimeUnit, then the resultant timestamp includes\nmilliseconds precision.", + "type": "string" + }, + "limit": { + "description": "Maximum number of rows that can be returned in the result.", + "format": "int32", + "type": "integer" + }, + "metrics": { + "description": "A list of Metrics.", + "items": { + "$ref": "GoogleCloudApigeeV1QueryMetric" + }, + "type": "array" + }, + "name": { + "description": "Asynchronous Query Name.", + "type": "string" + }, + "outputFormat": { + "description": "Valid values include: `csv` or `json`. Defaults to `json`.\nNote: Configure the delimiter for CSV output using the csvDelimiter\nproperty.", + "type": "string" + }, + "reportDefinitionId": { + "description": "Asynchronous Report ID.", + "type": "string" + }, + "timeRange": { + "description": "Required. Time range for the query.\nCan use the following predefined strings to specify the time range:\n `last60minutes`\n `last24hours`\n `last7days`\nOr, specify the timeRange as a structure describing start and end\ntimestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ.\n\nExample:\n \"timeRange\": {\n \"start\": \"2018-07-29T00:13:00Z\",\n \"end\": \"2018-08-01T00:18:00Z\"\n }", + "type": "any" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1QueryMetadata": { + "id": "GoogleCloudApigeeV1QueryMetadata", + "properties": { + "dimensions": { + "description": "Dimensions of the AsyncQuery.", + "items": { + "type": "string" + }, + "type": "array" + }, + "endTimestamp": { + "description": "End timestamp of the query range.", + "type": "string" + }, + "metrics": { + "description": "Metrics of the AsyncQuery.\n\nExample: [\"name:message_count,func:sum,alias:sum_message_count\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputFormat": { + "description": "Output format.", + "type": "string" + }, + "startTimestamp": { + "description": "Start timestamp of the query range.", + "type": "string" + }, + "timeUnit": { + "description": "Query GroupBy time unit.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1QueryMetric": { + "description": "More info about Metric:\nhttps://docs.apigee.com/api-platform/analytics/analytics-reference#metrics", + "id": "GoogleCloudApigeeV1QueryMetric", + "properties": { + "alias": { + "description": "Alias for the metric. Alias will be used to replace metric name\nin query results.", + "type": "string" + }, + "function": { + "description": "Aggregation function: avg, min, max, or sum.", + "type": "string" + }, + "name": { + "description": "Required. Metric name.", + "type": "string" + }, + "operator": { + "description": "One of `+`, `-`, `/`, `%`, `*`.", + "type": "string" + }, + "value": { + "description": "Operand value should be provided when operator is set.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Reference": { + "description": "A Reference configuration. References must refer to a keystore\nthat also exists in the parent environment.", + "id": "GoogleCloudApigeeV1Reference", + "properties": { + "description": { + "description": "Optional. A human-readable description of this reference.", + "type": "string" + }, + "name": { + "description": "Required. The resource id of this reference. Values must match the\nregular expression [\\w\\s\\-.]+.", + "type": "string" + }, + "refers": { + "description": "Required. The id of the resource to which this reference refers.\nMust be the id of a resource that exists in the parent environment and is\nof the given resource_type.", + "type": "string" + }, + "resourceType": { + "description": "The type of resource referred to by this reference. Valid values\nare 'KeyStore' or 'TrustStore'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ReferenceConfig": { + "id": "GoogleCloudApigeeV1ReferenceConfig", + "properties": { + "name": { + "description": "The name of the reference. Must be of the form\n'organizations/{org}/environments/{env}/references/{ref}'.", + "type": "string" + }, + "resourceName": { + "description": "The name of the referred resource. Only references to keystore resources\nare supported. Must be of the form\n'organizations/{org}/environments/{env}/keystores/{ks}'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ReportProperty": { + "id": "GoogleCloudApigeeV1ReportProperty", + "properties": { + "property": { + "description": "name of the property", + "type": "string" + }, + "value": { + "description": "property values", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ResourceConfig": { + "id": "GoogleCloudApigeeV1ResourceConfig", + "properties": { + "location": { + "description": "The location of the resource as a URI.", + "type": "string" + }, + "name": { + "description": "The resource name. Only environment-scoped resource files are supported.\nMust be of the form\n'organizations/{org}/environments/{env}/resourcefiles/{type}/{file}/revisions/{rev}'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ResourceFile": { + "description": "Metadata about a resource file.", + "id": "GoogleCloudApigeeV1ResourceFile", + "properties": { + "name": { + "description": "ID of the resource file.", + "type": "string" + }, + "type": { + "description": "Resource file type. {{ resource_file_type }}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ResourceFiles": { + "description": "List of resource files.", + "id": "GoogleCloudApigeeV1ResourceFiles", + "properties": { + "resourceFile": { + "description": "List of resource files.", + "items": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Result": { + "description": "Result is short for \"action result\", could be different types identified by\n\"action_result\" field. Supported types:\n1. DebugInfo : generic debug info collected by runtime recorded as a list of\nproperties. For example, the contents could be virtual host info, state\nchange result, or execution metadata. Required fields : properties, timestamp\n\n2. RequestMessage: information of a http request. Contains headers, request\nURI and http methods type.Required fields : headers, uri, verb\n\n3. ResponseMessage: information of a http response. Contains headers, reason\nphrase and http status code. Required fields : headers, reasonPhrase,\nstatusCode\n\n4. ErrorMessage: information of a http error message. Contains detail error\nmessage, reason phrase and status code. Required fields : content, headers,\nreasonPhrase, statusCode\n\n5. VariableAccess: a list of variable access actions, can be Get, Set and\nRemove. Required fields : accessList", + "id": "GoogleCloudApigeeV1Result", + "properties": { + "ActionResult": { + "description": "Type of the action result. Can be one of the five: DebugInfo,\nRequestMessage, ResponseMessage, ErrorMessage, VariableAccess", + "type": "string" + }, + "accessList": { + "description": "A list of variable access actions agaist the api proxy.\nSupported values: Get, Set, Remove.", + "items": { + "$ref": "GoogleCloudApigeeV1Access" + }, + "type": "array" + }, + "content": { + "description": "Error message content. for example,\n\"content\" : \"{\\\"fault\\\":{\\\"faultstring\\\":\\\"API timed\nout\\\",\\\"detail\\\":{\\\"errorcode\\\":\\\"flow.APITimedOut\\\"}}}\"", + "type": "string" + }, + "headers": { + "description": "A list of HTTP headers.\nfor example,\n'\"headers\" : [ {\n \"name\" : \"Content-Length\",\n \"value\" : \"83\"\n}, {\n \"name\" : \"Content-Type\",\n \"value\" : \"application/json\"\n} ]'", + "items": { + "$ref": "GoogleCloudApigeeV1Property" + }, + "type": "array" + }, + "properties": { + "$ref": "GoogleCloudApigeeV1Properties", + "description": "Name value pairs used for DebugInfo ActionResult." + }, + "reasonPhrase": { + "description": "HTTP response phrase", + "type": "string" + }, + "statusCode": { + "description": "HTTP response code", + "type": "string" + }, + "timestamp": { + "description": "Timestamp of when the result is recorded. Its format is dd-mm-yy\nhh:mm:ss:xxx. For example, `\"timestamp\" : \"12-08-19 00:31:59:960\"`", + "type": "string" + }, + "uRI": { + "description": "The relative path of the api proxy.\nfor example, `\"uRI\" : \"/iloveapis\"`", + "type": "string" + }, + "verb": { + "description": "HTTP method verb", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Schema": { + "description": "Response for Schema call", + "id": "GoogleCloudApigeeV1Schema", + "properties": { + "dimensions": { + "description": "List of schema fiels grouped as dimensions.", + "items": { + "$ref": "GoogleCloudApigeeV1SchemaSchemaElement" + }, + "type": "array" + }, + "meta": { + "description": "Additional metadata associated with schema. This is\na legacy field and usually consists of an empty array of strings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metrics": { + "description": "List of schema fields grouped as dimensions. These are fields\nthat can be used with an aggregate function such as sum, avg, min, max.", + "items": { + "$ref": "GoogleCloudApigeeV1SchemaSchemaElement" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SchemaSchemaElement": { + "description": "Message type for the schema element", + "id": "GoogleCloudApigeeV1SchemaSchemaElement", + "properties": { + "name": { + "description": "Name of the field", + "type": "string" + }, + "properties": { + "$ref": "GoogleCloudApigeeV1SchemaSchemaProperty", + "description": "Property of the schema field\nE.g.\n{\n \"createTime\": \"2016-02-26T10:23:09.592Z\",\n \"custom\": \"false\",\n \"type\": \"string\"\n}" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SchemaSchemaProperty": { + "description": "Message type for schema property", + "id": "GoogleCloudApigeeV1SchemaSchemaProperty", + "properties": { + "createTime": { + "description": "Creation time of the field", + "type": "string" + }, + "custom": { + "description": "Custom is a flag signifying if the field was provided as\npart of the standard dataset or a custom field created by the customer", + "type": "string" + }, + "type": { + "description": "Data type of the field.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ServiceIssuersMapping": { + "id": "GoogleCloudApigeeV1ServiceIssuersMapping", + "properties": { + "emailIds": { + "description": "List of trusted issuer email ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "String indicating the Apigee service name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Session": { + "description": "Session carries the debug session id and its creation time.", + "id": "GoogleCloudApigeeV1Session", + "properties": { + "id": { + "description": "The debug session ID.", + "type": "string" + }, + "timestampMs": { + "description": "The first transaction creation timestamp in millisecond, recoreded by UAP.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SharedFlow": { + "description": "The metadata describing a shared flow", + "id": "GoogleCloudApigeeV1SharedFlow", + "properties": { + "latestRevisionId": { + "description": "The id of the most recently created revision for this shared flow.", + "type": "string" + }, + "metaData": { + "$ref": "GoogleCloudApigeeV1EntityMetadata", + "description": "Metadata describing the shared flow." + }, + "name": { + "description": "The ID of the shared flow.", + "type": "string" + }, + "revision": { + "description": "A list of revisions of this shared flow.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SharedFlowRevision": { + "description": "The metadata describing a shared flow revision.", + "id": "GoogleCloudApigeeV1SharedFlowRevision", + "properties": { + "configurationVersion": { + "$ref": "GoogleCloudApigeeV1ConfigVersion", + "description": "The version of the configuration schema to which this shared flow conforms.\nThe only supported value currently is majorVersion 4 and minorVersion 0.\nThis setting may be used in the future to enable evolution of the shared\nflow format." + }, + "contextInfo": { + "description": "A textual description of the shared flow revision.", + "type": "string" + }, + "createdAt": { + "description": "Time at which this shared flow revision was created, in milliseconds since\nepoch.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "Description of the shared flow revision.", + "type": "string" + }, + "displayName": { + "description": "The human readable name of this shared flow.", + "type": "string" + }, + "entityMetaDataAsProperties": { + "additionalProperties": { + "type": "string" + }, + "description": "A Key-Value map of metadata about this shared flow revision.", + "type": "object" + }, + "lastModifiedAt": { + "description": "Time at which this shared flow revision was most recently modified, in\nmilliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The resource ID of the parent shared flow.", + "type": "string" + }, + "policies": { + "description": "A list of policy names included in this shared flow revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceFiles": { + "$ref": "GoogleCloudApigeeV1ResourceFiles", + "description": "The resource files included in this shared flow revision." + }, + "resources": { + "description": "A list of the resources included in this shared flow revision formatted as\n\"{type}://{name}\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "revision": { + "description": "The resource ID of this revision.", + "type": "string" + }, + "sharedFlows": { + "description": "A list of the shared flow names included in this shared flow revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "The string \"Application\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Stats": { + "description": "This message type encapsulates a stats response.", + "id": "GoogleCloudApigeeV1Stats", + "properties": { + "environments": { + "description": "This field contains a list of query results on environment level.", + "items": { + "$ref": "GoogleCloudApigeeV1StatsEnvironmentStats" + }, + "type": "array" + }, + "metaData": { + "$ref": "GoogleCloudApigeeV1Metadata", + "description": "This field contains the metadata information." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1StatsEnvironmentStats": { + "description": "This message type encapsulates the environment wrapper:\n \"environments\": [\n {\n \"metrics\": [\n {\n \"name\": \"sum(message_count)\",\n \"values\": [\n \"2.52056245E8\"\n ]\n }\n ],\n \"name\": \"prod\"\n }\n ]", + "id": "GoogleCloudApigeeV1StatsEnvironmentStats", + "properties": { + "dimensions": { + "description": "This field contains the list of metrics grouped under dimensions.", + "items": { + "$ref": "GoogleCloudApigeeV1DimensionMetric" + }, + "type": "array" + }, + "metrics": { + "description": "In the final response, only one of the following fields will be present\nbased on the dimensions provided. If no dimensions are provided, then\nonly a top level metrics is provided. If dimensions are included, then\nthere will be a top level dimensions field under environments which will\ncontain metrics values and the dimension name.\nExample:\n \"environments\": [\n {\n \"dimensions\": [\n {\n \"metrics\": [\n {\n \"name\": \"sum(message_count)\",\n \"values\": [\n \"2.14049521E8\"\n ]\n }\n ],\n \"name\": \"nit_proxy\"\n }\n ],\n \"name\": \"prod\"\n }\n ]\n\n OR\n \"environments\": [\n {\n \"metrics\": [\n {\n \"name\": \"sum(message_count)\",\n \"values\": [\n \"2.19026331E8\"\n ]\n }\n ],\n \"name\": \"prod\"\n }\n ]\nThis field contains the list of metric values.", + "items": { + "$ref": "GoogleCloudApigeeV1Metric" + }, + "type": "array" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Subscription": { + "description": "Pub/Sub subscription of an environment.", + "id": "GoogleCloudApigeeV1Subscription", + "properties": { + "name": { + "description": "Full name of the Pub/Sub subcription. Use the following structure in your\nrequest:\n `subscription \"projects/foo/subscription/bar\"`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SyncAuthorization": { + "id": "GoogleCloudApigeeV1SyncAuthorization", + "properties": { + "etag": { + "description": "Entity tag (ETag) used for optimistic concurrency control as a way to help\nprevent simultaneous updates from overwriting each other.\n\nFor example, when you call [getSyncAuthorization](getSyncAuthorization)\nan ETag is returned in the response. Pass that ETag when calling\nthe [setSyncAuthorization](setSyncAuthorization) to ensure\nthat you are updating the correct version. If you don't pass the\nETag in the call to `setSyncAuthorization`, then the\nexisting authorization is overwritten indiscriminately.\n\n**Note**: We strongly recommend that you use the ETag in the\nread-modify-write cycle to avoid race conditions.", + "format": "byte", + "type": "string" + }, + "identities": { + "description": "Required. Array of service accounts to grant access to control plane\nresources, each specified using the following\nformat: `serviceAccount:`service-account-name.\n\nThe service-account-name is formatted like an email address. For\nexample:\n`my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com`\n\nYou might specify multiple service accounts, for example, if you have\nmultiple environments and wish to assign a unique service account to each\none.\n\nThe service accounts must have **Apigee Synchronizer Manager** role.\nSee also [Create service\naccounts](https://docs.apigee.com/hybrid/latest/sa-about#create-the-service-accounts).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TargetServer": { + "description": "TargetServer configuration. TargetServers are used to decouple a proxy's\nTargetEndpoint HTTPTargetConnections from concrete URLs for backend services.", + "id": "GoogleCloudApigeeV1TargetServer", + "properties": { + "description": { + "description": "Optional. A human-readable description of this TargetServer.", + "type": "string" + }, + "host": { + "description": "Required. The host name this target connects to. Value must be a valid\nhostname as described by RFC-1123.", + "type": "string" + }, + "isEnabled": { + "description": "Optional. Enabling/disabling a TargetServer is useful when TargetServers\nare used in load balancing configurations, and one or more TargetServers\nneed to taken out of rotation periodically. Defaults to true.", + "type": "boolean" + }, + "name": { + "description": "Required. The resource id of this target server. Values must match the\nregular expression ", + "type": "string" + }, + "port": { + "description": "Required. The port number this target connects to on the given host. Value\nmust be between 1 and 65535, inclusive.", + "format": "int32", + "type": "integer" + }, + "sSLInfo": { + "$ref": "GoogleCloudApigeeV1TlsInfo", + "description": "Optional. Specifies TLS configuration info for this TargetServer. The JSON\nname is `sSLInfo` for legacy/backwards compatibility reasons -- Edge\noriginally supported SSL, and the name is still used for TLS configuration." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TargetServerConfig": { + "id": "GoogleCloudApigeeV1TargetServerConfig", + "properties": { + "host": { + "description": "Target host name.", + "type": "string" + }, + "name": { + "description": "The target server revision name. Must be of the form\n'organizations/{org}/environments/{env}/targetservers/{ts_id}/revisions/{rev}'.", + "type": "string" + }, + "port": { + "description": "Target port.", + "format": "int32", + "type": "integer" + }, + "tlsInfo": { + "$ref": "GoogleCloudApigeeV1TlsInfoConfig", + "description": "TLS settings for the target." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TlsInfo": { + "description": "TLS configuration information for\nVirtualHosts and\nTargetServers.", + "id": "GoogleCloudApigeeV1TlsInfo", + "properties": { + "ciphers": { + "description": "The SSL/TLS cipher suites to be used. Must be one of the cipher suite names\nlisted in:\nhttp://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites", + "items": { + "type": "string" + }, + "type": "array" + }, + "clientAuthEnabled": { + "description": "Optional. Enables two-way TLS.", + "type": "boolean" + }, + "commonName": { + "$ref": "GoogleCloudApigeeV1TlsInfoCommonName", + "description": "The TLS Common Name of the certificate." + }, + "enabled": { + "description": "Required. Enables one-way TLS.", + "type": "boolean" + }, + "ignoreValidationErrors": { + "description": "If true, Edge ignores TLS certificate errors. Valid when configuring TLS\nfor target servers and target endpoints, and when configuring virtual hosts\nthat use 2-way TLS.\n\nWhen used with a target endpoint/target server, if the backend system uses\nSNI and returns a cert with a subject Distinguished Name (DN) that does not\nmatch the hostname, there is no way to ignore the error and the connection\nfails.", + "type": "boolean" + }, + "keyAlias": { + "description": "Required if `client_auth_enabled` is true. The resource ID for the\nalias containing the private key and cert.", + "type": "string" + }, + "keyStore": { + "description": "Required if `client_auth_enabled` is true. The resource ID of the\nkeystore. References not yet supported.", + "type": "string" + }, + "protocols": { + "description": "The TLS versioins to be used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "trustStore": { + "description": "The resource ID of the truststore.\nReferences not yet supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TlsInfoCommonName": { + "id": "GoogleCloudApigeeV1TlsInfoCommonName", + "properties": { + "value": { + "description": "The TLS Common Name string of the certificate.", + "type": "string" + }, + "wildcardMatch": { + "description": "Indicates whether the cert should be matched against as a wildcard cert.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TlsInfoConfig": { + "id": "GoogleCloudApigeeV1TlsInfoConfig", + "properties": { + "ciphers": { + "description": "Whitelist of supported ciphers.", + "items": { + "type": "string" + }, + "type": "array" + }, + "clientAuthEnabled": { + "description": "Indicates if client auth is enabled for the target. Enables two-way TLS.", + "type": "boolean" + }, + "commonName": { + "$ref": "GoogleCloudApigeeV1CommonNameConfig", + "description": "Common name to validate the target against." + }, + "enabled": { + "description": "Enables one-way TLS.", + "type": "boolean" + }, + "ignoreValidationErrors": { + "description": "If true, ignore TLS certificate validation errors.", + "type": "boolean" + }, + "keyAlias": { + "description": "The name of the Alias used for client side auth. It must be of the form:\norganizations/{org}/environments/{env}/keystores/{keystore}/aliases/{alias}", + "type": "string" + }, + "keyAliasReference": { + "$ref": "GoogleCloudApigeeV1KeyAliasReference", + "description": "A pair of reference name and alias to use for client side auth." + }, + "protocols": { + "description": "Whitelist of supported TLS protocols.", + "items": { + "type": "string" + }, + "type": "array" + }, + "trustStore": { + "description": "The name of the Keystore or keystore reference containing trusted\ncertificates for the server. It must be of either the form\norganizations/{org}/environments/{env}/keystores/{keystore} or\norganizations/{org}/environments/{env}/references/{reference}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Binding": { + "description": "Associates `members` with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "GoogleTypeExpr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "GoogleLongrunningListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "GoogleLongrunningOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "GoogleTypeExpr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Apigee API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/appengine/v1/appengine-api.json b/etc/api/appengine/v1/appengine-api.json index af0d3dcd39..72570d6917 100644 --- a/etc/api/appengine/v1/appengine-api.json +++ b/etc/api/appengine/v1/appengine-api.json @@ -1573,7 +1573,7 @@ } } }, - "revision": "20200403", + "revision": "20200701", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -1662,6 +1662,22 @@ "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", "type": "string" }, + "databaseType": { + "description": "The type of the Cloud Firestore or Cloud Datastore database associated with this application.", + "enum": [ + "DATABASE_TYPE_UNSPECIFIED", + "CLOUD_DATASTORE", + "CLOUD_FIRESTORE", + "CLOUD_DATASTORE_COMPATIBILITY" + ], + "enumDescriptions": [ + "Database type is unspecified.", + "Cloud Datastore", + "Cloud Firestore Native", + "Cloud Firestore in Datastore Mode" + ], + "type": "string" + }, "defaultBucket": { "description": "Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly", "type": "string" diff --git a/etc/api/appengine/v1alpha/appengine-api.json b/etc/api/appengine/v1alpha/appengine-api.json index bbbe1ed66a..c261aad491 100644 --- a/etc/api/appengine/v1alpha/appengine-api.json +++ b/etc/api/appengine/v1alpha/appengine-api.json @@ -695,7 +695,7 @@ } } }, - "revision": "20200403", + "revision": "20200701", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "AuthorizedCertificate": { diff --git a/etc/api/appengine/v1beta/appengine-api.json b/etc/api/appengine/v1beta/appengine-api.json index fc71ed3b20..75e45697d0 100644 --- a/etc/api/appengine/v1beta/appengine-api.json +++ b/etc/api/appengine/v1beta/appengine-api.json @@ -1573,7 +1573,7 @@ } } }, - "revision": "20200403", + "revision": "20200701", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -1662,6 +1662,22 @@ "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", "type": "string" }, + "databaseType": { + "description": "The type of the Cloud Firestore or Cloud Datastore database associated with this application.", + "enum": [ + "DATABASE_TYPE_UNSPECIFIED", + "CLOUD_DATASTORE", + "CLOUD_FIRESTORE", + "CLOUD_DATASTORE_COMPATIBILITY" + ], + "enumDescriptions": [ + "Database type is unspecified.", + "Cloud Datastore", + "Cloud Firestore Native", + "Cloud Firestore in Datastore Mode" + ], + "type": "string" + }, "defaultBucket": { "description": "Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly", "type": "string" diff --git a/etc/api/appsactivity/v1/appsactivity-api.json b/etc/api/appsactivity/v1/appsactivity-api.json index e6eccf3119..859cdf5bfb 100644 --- a/etc/api/appsactivity/v1/appsactivity-api.json +++ b/etc/api/appsactivity/v1/appsactivity-api.json @@ -14,7 +14,7 @@ "description": "Provides a historical view of activity.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/google-apps/activity/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/rwk4WL3MtQtqWL81CbRykDH0ZLo\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/taM_2jThRCVPrSu6zXaiRaqPiXA\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -137,7 +137,7 @@ } } }, - "revision": "20200405", + "revision": "20200628", "rootUrl": "https://www.googleapis.com/", "schemas": { "Activity": { diff --git a/etc/api/artifactregistry/v1beta1/artifactregistry-api.json b/etc/api/artifactregistry/v1beta1/artifactregistry-api.json new file mode 100644 index 0000000000..4f976a1e38 --- /dev/null +++ b/etc/api/artifactregistry/v1beta1/artifactregistry-api.json @@ -0,0 +1,1565 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://artifactregistry.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Artifact Registry", + "description": "Store and manage build artifacts in a scalable and integrated service built on Google infrastructure.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/artifacts/docs/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "artifactregistry:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://artifactregistry.mtls.googleapis.com/", + "name": "artifactregistry", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, + "repositories": { + "methods": { + "create": { + "description": "Creates a repository. The returned Operation will finish once the\nrepository has been created. Its response will be the created Repository.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the repository will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "repositoryId": { + "description": "The repository id to use for this repository.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/repositories", + "request": { + "$ref": "Repository" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a repository and all of its contents. The returned Operation will\nfinish once the repository has been deleted. It will not have any Operation\nmetadata and will return a google.protobuf.Empty response.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the repository to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a repository.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the repository to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Repository" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM policy for a given resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:getIamPolicy", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists repositories.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of repositories to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose repositories will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/repositories", + "response": { + "$ref": "ListRepositoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "patch": { + "description": "Updates a repository.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "PATCH", + "id": "artifactregistry.projects.locations.repositories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the repository, for example:\n\"projects/p1/locations/us-central1/repositories/repo1\".", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Repository" + }, + "response": { + "$ref": "Repository" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Updates the IAM policy for a given resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:setIamPolicy", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests if the caller has a list of permissions on a resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:testIamPermissions", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, + "resources": { + "files": { + "methods": { + "get": { + "description": "Gets a file.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/files/{filesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.files.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the file to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/files/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists files.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/files", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.files.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n * `name`\n * `owner`\n\n An example of using a filter:\n\n * `name=\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/*\"` --> Files with an\n ID starting with \"a/b/\".\n * `owner=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` -->\n Files owned by the version `1.0` in package `pkg1`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of files to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose files will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/files", + "response": { + "$ref": "ListFilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, + "packages": { + "methods": { + "delete": { + "description": "Deletes a package and all of its versions and tags. The returned operation\nwill complete once the package has been deleted.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the package to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a package.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the package to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Package" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists packages.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of packages to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose packages will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/packages", + "response": { + "$ref": "ListPackagesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, + "resources": { + "tags": { + "methods": { + "create": { + "description": "Creates a tag.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.packages.tags.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the tag will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + }, + "tagId": { + "description": "The tag id to use for this repository.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/tags", + "request": { + "$ref": "Tag" + }, + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a tag.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.tags.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a tag.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.tags.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists tags.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.tags.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n * `version`\n\n An example of using a filter:\n\n * `version=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"`\n --> Tags that are applied to the version `1.0` in package `pkg1`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of tags to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose tags will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/tags", + "response": { + "$ref": "ListTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "patch": { + "description": "Updates a tag.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "PATCH", + "id": "artifactregistry.projects.locations.repositories.packages.tags.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Tag" + }, + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "versions": { + "methods": { + "delete": { + "description": "Deletes a version and all of its content. The returned operation will\ncomplete once the version has been deleted.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "By default, a version that is tagged may not be deleted. If force=true, the\nversion and any tags pointing to the version are deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The name of the version to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a version", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the version to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The view that should be returned in the response.", + "enum": [ + "VERSION_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists versions.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of versions to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose versions will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The view that should be returned in the response.", + "enum": [ + "VERSION_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "response": { + "$ref": "ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + } + } + } + } + } + } + } + } + } + }, + "revision": "20200703", + "rootUrl": "https://artifactregistry.googleapis.com/", + "schemas": { + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "File": { + "description": "Files store content that is potentially associated with Packages or Versions.", + "id": "File", + "properties": { + "createTime": { + "description": "The time when the File was created.", + "format": "google-datetime", + "type": "string" + }, + "hashes": { + "description": "The hashes of the file content.", + "items": { + "$ref": "Hash" + }, + "type": "array" + }, + "name": { + "description": "The name of the file, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/c.txt\".", + "type": "string" + }, + "owner": { + "description": "The name of the Package or Version that owns this file, if any.", + "type": "string" + }, + "sizeBytes": { + "description": "The size of the File in bytes.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "The time when the File was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsArtifactregistryV1alpha1ErrorInfo": { + "description": "Error information explaining why a package was not imported.", + "id": "GoogleDevtoolsArtifactregistryV1alpha1ErrorInfo", + "properties": { + "error": { + "$ref": "Status", + "description": "The detailed error status." + }, + "gcsSource": { + "$ref": "GoogleDevtoolsArtifactregistryV1alpha1GcsSource", + "description": "Google Cloud Storage location requested." + } + }, + "type": "object" + }, + "GoogleDevtoolsArtifactregistryV1alpha1GcsSource": { + "description": "Google Cloud Storage location for the input content.", + "id": "GoogleDevtoolsArtifactregistryV1alpha1GcsSource", + "properties": { + "uris": { + "description": "Cloud Storage paths URI (e.g., gs://my_bucket//my_object).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleDevtoolsArtifactregistryV1alpha1ImportArtifactsResponse": { + "description": "The response message from importing artifacts.", + "id": "GoogleDevtoolsArtifactregistryV1alpha1ImportArtifactsResponse", + "properties": { + "errors": { + "description": "Detailed error info for packages that were not imported.", + "items": { + "$ref": "GoogleDevtoolsArtifactregistryV1alpha1ErrorInfo" + }, + "type": "array" + }, + "packages": { + "description": "The packages updated.", + "items": { + "$ref": "GoogleDevtoolsArtifactregistryV1alpha1Package" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleDevtoolsArtifactregistryV1alpha1Package": { + "description": "Packages are named collections of versions.", + "id": "GoogleDevtoolsArtifactregistryV1alpha1Package", + "properties": { + "createTime": { + "description": "The time when the package was created.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "The display name of the package.", + "type": "string" + }, + "name": { + "description": "The name of the package, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".", + "type": "string" + }, + "updateTime": { + "description": "The time when the package was last updated. This includes publishing a new\nversion of the package.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Hash": { + "description": "A hash of file content.", + "id": "Hash", + "properties": { + "type": { + "description": "The algorithm used to compute the hash value.", + "enum": [ + "HASH_TYPE_UNSPECIFIED", + "SHA256" + ], + "enumDescriptions": [ + "Unspecified.", + "SHA256 hash." + ], + "type": "string" + }, + "value": { + "description": "The hash value.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "ListFilesResponse": { + "description": "The response from listing files.", + "id": "ListFilesResponse", + "properties": { + "files": { + "description": "The files returned.", + "items": { + "$ref": "File" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token to retrieve the next page of files, or empty if there are no\nmore files to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPackagesResponse": { + "description": "The response from listing packages.", + "id": "ListPackagesResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of packages, or empty if there are no\nmore packages to return.", + "type": "string" + }, + "packages": { + "description": "The packages returned.", + "items": { + "$ref": "Package" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRepositoriesResponse": { + "description": "The response from listing repositories.", + "id": "ListRepositoriesResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of repositories, or empty if there are\nno more repositories to return.", + "type": "string" + }, + "repositories": { + "description": "The repositories returned.", + "items": { + "$ref": "Repository" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListTagsResponse": { + "description": "The response from listing tags.", + "id": "ListTagsResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of tags, or empty if there are no\nmore tags to return.", + "type": "string" + }, + "tags": { + "description": "The tags returned.", + "items": { + "$ref": "Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVersionsResponse": { + "description": "The response from listing versions.", + "id": "ListVersionsResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of versions, or empty if there are no\nmore versions to return.", + "type": "string" + }, + "versions": { + "description": "The versions returned.", + "items": { + "$ref": "Version" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Package": { + "description": "Packages are named collections of versions.", + "id": "Package", + "properties": { + "createTime": { + "description": "The time when the package was created.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "The display name of the package.", + "type": "string" + }, + "name": { + "description": "The name of the package, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".", + "type": "string" + }, + "updateTime": { + "description": "The time when the package was last updated. This includes publishing a new\nversion of the package.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Repository": { + "description": "A Repository for storing artifacts with a specific format.", + "id": "Repository", + "properties": { + "createTime": { + "description": "The time when the repository was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The user-provided description of the repository.", + "type": "string" + }, + "format": { + "description": "The format of packages that are stored in the repository.", + "enum": [ + "FORMAT_UNSPECIFIED", + "DOCKER", + "MAVEN", + "NPM", + "APT" + ], + "enumDescriptions": [ + "Unspecified package format.", + "Docker package format.", + "Maven package format.", + "NPM package format.", + "APT package format." + ], + "type": "string" + }, + "kmsKeyName": { + "description": "The Cloud KMS resource name of the customer managed encryption key that\u2019s\nused to encrypt the contents of the Repository. Has the form:\n`projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.\nThis value may not be changed after the Repository has been created.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels with user-defined metadata.\nThis field may contain up to 64 entries. Label keys and values may be no\nlonger than 63 characters. Label keys must begin with a lowercase letter\nand may only contain lowercase letters, numeric characters, underscores,\nand dashes.", + "type": "object" + }, + "name": { + "description": "The name of the repository, for example:\n\"projects/p1/locations/us-central1/repositories/repo1\".", + "type": "string" + }, + "updateTime": { + "description": "The time when the repository was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "description": "Tags point to a version and represent an alternative name that can be used\nto access the version.", + "id": "Tag", + "properties": { + "name": { + "description": "The name of the tag, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".", + "type": "string" + }, + "version": { + "description": "The name of the version the tag refers to, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\"", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Version": { + "description": "The body of a version resource. A version resource represents a\ncollection of components, such as files and other data. This may correspond\nto a version in many package management schemes.", + "id": "Version", + "properties": { + "createTime": { + "description": "The time when the version was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Optional. Description of the version, as specified in its metadata.", + "type": "string" + }, + "name": { + "description": "The name of the version, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\".", + "type": "string" + }, + "relatedTags": { + "description": "Output only. A list of related tags. Will contain up to 100 tags that\nreference this version.", + "items": { + "$ref": "Tag" + }, + "type": "array" + }, + "updateTime": { + "description": "The time when the version was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Artifact Registry API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/bigquery/v2/bigquery-api.json b/etc/api/bigquery/v2/bigquery-api.json index 93c455343c..ae1d8b2adb 100644 --- a/etc/api/bigquery/v2/bigquery-api.json +++ b/etc/api/bigquery/v2/bigquery-api.json @@ -1265,6 +1265,37 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:getIamPolicy", + "httpMethod": "POST", + "id": "bigquery.tables.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/bigquery.readonly", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "insert": { "description": "Creates a new, empty table in the dataset.", "httpMethod": "POST", @@ -1384,6 +1415,66 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:setIamPolicy", + "httpMethod": "POST", + "id": "bigquery.tables.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:testIamPermissions", + "httpMethod": "POST", + "id": "bigquery.tables.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/bigquery.readonly", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "update": { "description": "Updates information in an existing table. The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource.", "httpMethod": "PUT", @@ -1428,7 +1519,7 @@ } } }, - "revision": "20200330", + "revision": "20200625", "rootUrl": "https://bigquery.googleapis.com/", "schemas": { "AggregateClassificationMetrics": { @@ -1551,17 +1642,17 @@ "id": "ArimaFittingMetrics", "properties": { "aic": { - "description": "AIC", + "description": "AIC.", "format": "double", "type": "number" }, "logLikelihood": { - "description": "log-likelihood", + "description": "Log-likelihood.", "format": "double", "type": "number" }, "variance": { - "description": "variance.", + "description": "Variance.", "format": "double", "type": "number" } @@ -1580,9 +1671,42 @@ "$ref": "ArimaFittingMetrics", "description": "Arima fitting metrics." }, + "hasDrift": { + "description": "Whether Arima model fitted with drift or not. It is always false\nwhen d is not 1.", + "type": "boolean" + }, "nonSeasonalOrder": { "$ref": "ArimaOrder", "description": "Non-seasonal order." + }, + "seasonalPeriods": { + "description": "Seasonal periods. Repeated because multiple periods are supported\nfor one time series.", + "enumDescriptions": [ + "", + "No seasonality", + "Daily period, 24 hours.", + "Weekly period, 7 days.", + "Monthly period, 30 days or irregular.", + "Quarterly period, 90 days or irregular.", + "Yearly period, 365 days or irregular." + ], + "items": { + "enum": [ + "SEASONAL_PERIOD_TYPE_UNSPECIFIED", + "NO_SEASONALITY", + "DAILY", + "WEEKLY", + "MONTHLY", + "QUARTERLY", + "YEARLY" + ], + "type": "string" + }, + "type": "array" + }, + "timeSeriesId": { + "description": "The id to indicate different time series.", + "type": "string" } }, "type": "object" @@ -1627,9 +1751,9 @@ "No seasonality", "Daily period, 24 hours.", "Weekly period, 7 days.", - "Monthly period, can be as 30 days or irregular.", - "Quarterly period, can be as 90 days or irregular.", - "Yearly period, can be as 365 days or irregular." + "Monthly period, 30 days or irregular.", + "Quarterly period, 90 days or irregular.", + "Yearly period, 365 days or irregular." ], "items": { "enum": [ @@ -1648,6 +1772,54 @@ }, "type": "object" }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, "BigQueryModelTraining": { "id": "BigQueryModelTraining", "properties": { @@ -1822,6 +1994,28 @@ }, "type": "object" }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, "BqmlIterationResult": { "id": "BqmlIterationResult", "properties": { @@ -2046,6 +2240,20 @@ }, "type": "object" }, + "ConnectionProperty": { + "id": "ConnectionProperty", + "properties": { + "key": { + "description": "[Required] Name of the connection property to set.", + "type": "string" + }, + "value": { + "description": "[Required] Value of the connection property.", + "type": "string" + } + }, + "type": "object" + }, "CsvOptions": { "id": "CsvOptions", "properties": { @@ -2552,6 +2760,29 @@ }, "type": "object" }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, "ExternalDataConfiguration": { "id": "ExternalDataConfiguration", "properties": { @@ -2567,6 +2798,10 @@ "description": "[Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats.", "type": "string" }, + "connectionId": { + "description": "[Optional, Trusted Tester] Connection for external data source.", + "type": "string" + }, "csvOptions": { "$ref": "CsvOptions", "description": "Additional properties to set if sourceFormat is set to CSV." @@ -2575,10 +2810,6 @@ "$ref": "GoogleSheetsOptions", "description": "[Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS." }, - "hivePartitioningMode": { - "description": "[Optional, Trusted Tester] Deprecated, do not use. Please set hivePartitioningOptions instead.", - "type": "string" - }, "hivePartitioningOptions": { "$ref": "HivePartitioningOptions", "description": "[Optional, Trusted Tester] Options to configure hive partitioning support." @@ -2630,6 +2861,29 @@ }, "type": "object" }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "id": "GetIamPolicyRequest", + "properties": { + "options": { + "$ref": "GetPolicyOptions", + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." + } + }, + "type": "object" + }, + "GetPolicyOptions": { + "description": "Encapsulates settings provided to GetIamPolicy.", + "id": "GetPolicyOptions", + "properties": { + "requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GetQueryResultsResponse": { "id": "GetQueryResultsResponse", "properties": { @@ -2969,10 +3223,6 @@ "description": "[Optional] The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence \"\\t\" to specify a tab separator. The default value is a comma (',').", "type": "string" }, - "hivePartitioningMode": { - "description": "[Optional, Trusted Tester] Deprecated, do not use. Please set hivePartitioningOptions instead.", - "type": "string" - }, "hivePartitioningOptions": { "$ref": "HivePartitioningOptions", "description": "[Optional, Trusted Tester] Options to configure hive partitioning support." @@ -3072,7 +3322,7 @@ "connectionProperties": { "description": "Connection properties.", "items": { - "type": "any" + "$ref": "ConnectionProperty" }, "type": "array" }, @@ -3188,10 +3438,18 @@ "$ref": "EncryptionConfiguration", "description": "Custom encryption configuration (e.g., Cloud KMS keys)." }, + "destinationExpirationTime": { + "description": "[Optional] The time when the destination table expires. Expired tables will be deleted and their storage reclaimed.", + "type": "any" + }, "destinationTable": { "$ref": "TableReference", "description": "[Required] The destination table" }, + "operationType": { + "description": "[Optional] Supported operation types in table copy job.", + "type": "string" + }, "sourceTable": { "$ref": "TableReference", "description": "[Pick one] Source table to copy." @@ -3866,6 +4124,37 @@ }, "type": "object" }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ProjectList": { "id": "ProjectList", "properties": { @@ -4014,7 +4303,7 @@ "connectionProperties": { "description": "Connection properties.", "items": { - "type": "any" + "$ref": "ConnectionProperty" }, "type": "array" }, @@ -4031,6 +4320,13 @@ "description": "The resource type of the request.", "type": "string" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this job. You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key.", + "type": "object" + }, "location": { "description": "The geographic location where the job should run. See details at https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", "type": "string" @@ -4040,6 +4336,11 @@ "format": "uint32", "type": "integer" }, + "maximumBytesBilled": { + "description": "[Optional] Limits the bytes billed for this job. Queries that will have bytes billed beyond this limit will fail (without incurring a charge). If unspecified, this will be set to your project default.", + "format": "int64", + "type": "string" + }, "parameterMode": { "description": "Standard SQL only. Set to POSITIONAL to use positional (?) query parameters or to NAMED to use named (@myparam) query parameters in this query.", "type": "string" @@ -4064,6 +4365,10 @@ }, "type": "array" }, + "requestId": { + "description": "A unique user provided identifier to ensure idempotent behavior for queries. Note that this is different from the job_id. It has the following properties: 1. It is case-sensitive, limited to up to 36 ASCII characters. A UUID is recommended. 2. Read only queries can ignore this token since they are nullipotent by definition. 3. For the purposes of idempotency ensured by the request_id, a request is considered duplicate of another only if they have the same request_id and are actually duplicates. When determining whether a request is a duplicate of the previous request, all parameters in the request that may affect the behavior are considered. For example, query, connection_properties, query_parameters, use_legacy_sql are parameters that affect the result and are considered when determining whether a request is a duplicate, but properties like timeout_ms don't affect the result and are thus not considered. Dry run query requests are never considered duplicate of another request. 4. When a duplicate mutating query request is detected, it returns: a. the results of the mutation if it completes successfully within the timeout. b. the running operation if it is still in progress at the end of the timeout. 5. Its lifetime is limited to 15 minutes. In other words, if two requests are sent with the same request_id, but more than 15 minutes apart, idempotency is not guaranteed.", + "type": "string" + }, "timeoutMs": { "description": "[Optional] How long to wait for the query to complete, in milliseconds, before the request times out and returns. Note that this is only a timeout for the request, not the query. If the query takes longer to run than the timeout value, the call returns without any results and with the 'jobComplete' flag set to false. You can call GetQueryResults() to wait for the query to complete and read the results. The default value is 10000 milliseconds (10 seconds).", "format": "uint32", @@ -4287,6 +4592,20 @@ "description": "Optional. [Experimental] The description of the routine if defined.", "type": "string" }, + "determinismLevel": { + "description": "Optional. [Experimental] The determinism level of the JavaScript UDF if defined.", + "enum": [ + "DETERMINISM_LEVEL_UNSPECIFIED", + "DETERMINISTIC", + "NOT_DETERMINISTIC" + ], + "enumDescriptions": [ + "The determinism of the UDF is unspecified.", + "The UDF is deterministic, meaning that 2 function calls with the same\ninputs always produce the same result, even across 2 query runs.", + "The UDF is not deterministic." + ], + "type": "string" + }, "etag": { "description": "Output only. A hash of this resource.", "type": "string" @@ -4461,6 +4780,22 @@ }, "type": "object" }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, "StandardSqlDataType": { "description": "The type of a variable, e.g., a function argument.\nExamples:\nINT64: {type_kind=\"INT64\"}\nARRAY: {type_kind=\"ARRAY\", array_element_type=\"STRING\"}\nSTRUCT>:\n {type_kind=\"STRUCT\",\n struct_type={fields=[\n {name=\"x\", type={type_kind=\"STRING\"}},\n {name=\"y\", type={type_kind=\"ARRAY\", array_element_type=\"DATE\"}}\n ]}}", "id": "StandardSqlDataType", @@ -4488,6 +4823,7 @@ "DATETIME", "GEOGRAPHY", "NUMERIC", + "BIGNUMERIC", "ARRAY", "STRUCT" ], @@ -4504,6 +4840,7 @@ "Encoded as RFC 3339 full-date \"T\" partial-time: 1985-04-12T23:20:50.52", "Encoded as WKT", "Encoded as a decimal string.", + "Encoded as a decimal string.", "Encoded as a list with types matching Type.array_type.", "Encoded as a list with fields of type Type.struct_type[i]. List is used\nbecause a JSON object cannot have duplicate field names." ], @@ -5008,6 +5345,34 @@ }, "type": "object" }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "TimePartitioning": { "id": "TimePartitioning", "properties": { @@ -5247,6 +5612,10 @@ ], "type": "string" }, + "preserveInputStructs": { + "description": "Whether to preserve the input structs in output feature names.\nSuppose there is a struct A with field b.\nWhen false (default), the output feature name is A_b.\nWhen true, the output feature name is A.b.", + "type": "boolean" + }, "subsample": { "description": "Subsample fraction of the training data to grow tree to prevent\noverfitting for boosted tree models.", "format": "double", @@ -5300,6 +5669,7 @@ "type": "object" }, "UserDefinedFunctionResource": { + "description": "This is used for defining User Defined Function (UDF) resources only when using legacy SQL. Users of Standard SQL should leverage either DDL (e.g. CREATE [TEMPORARY] FUNCTION ... ) or the Routines API to define UDF resources. For additional information on migrating, see: https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-sql#differences_in_user-defined_javascript_functions", "id": "UserDefinedFunctionResource", "properties": { "inlineCode": { diff --git a/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json b/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json index 035b174efe..4c7d72d1e7 100644 --- a/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json +++ b/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json @@ -302,7 +302,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy", "httpMethod": "POST", "id": "bigqueryconnection.projects.locations.connections.setIamPolicy", @@ -331,7 +331,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions", "httpMethod": "POST", "id": "bigqueryconnection.projects.locations.connections.testIamPermissions", @@ -395,11 +395,11 @@ } } }, - "revision": "20200331", + "revision": "20200626", "rootUrl": "https://bigqueryconnection.googleapis.com/", "schemas": { "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -417,7 +417,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -452,7 +452,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -599,7 +599,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -609,7 +609,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -635,7 +635,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -658,7 +658,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -674,7 +674,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json b/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json index ac4bb68df4..55edd69047 100644 --- a/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json +++ b/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json @@ -1265,7 +1265,7 @@ } } }, - "revision": "20200326", + "revision": "20200502", "rootUrl": "https://bigquerydatatransfer.googleapis.com/", "schemas": { "CheckValidCredsRequest": { diff --git a/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json b/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json index c4f6309588..ba54a1e55b 100644 --- a/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json +++ b/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json @@ -210,17 +210,17 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "searchAssignments": { - "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n 1) Assignments created on the project will be returned if they exist.\n 2) Otherwise assignments created on the closest ancestor will be\n returned. 3) Assignments for different JobTypes will all be returned.\nSame logic applies if the request is about a folder.\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\nComparing to ListAssignments, there are some behavior\ndifferences:\n 1) permission on the assignee will be verified in this API.\n 2) Hierarchy lookup (project->folder->organization) happens in this API.\n 3) Parent here is projects/*/locations/*, instead of\n projects/*/locations/*reservations/*.\nNote \"-\" cannot be used for projects\nnor locations.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchAssignments", + "searchAllAssignments": { + "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n\n1. Assignments created on the project will be returned if they exist.\n2. Otherwise assignments created on the closest ancestor will be\n returned.\n3. Assignments for different JobTypes will all be returned.\n\nThe same logic applies if the request is about a folder.\n\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\n\nComparing to ListAssignments, there are some behavior\ndifferences:\n\n1. permission on the assignee will be verified in this API.\n2. Hierarchy lookup (project->folder->organization) happens in this API.\n3. Parent here is `projects/*/locations/*`, instead of\n `projects/*/locations/*reservations/*`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchAllAssignments", "httpMethod": "GET", - "id": "bigqueryreservation.projects.locations.searchAssignments", + "id": "bigqueryreservation.projects.locations.searchAllAssignments", "parameterOrder": [ "parent" ], "parameters": { "pageSize": { - "description": "The maximum number of items to return.", + "description": "The maximum number of items to return per page.", "format": "int32", "location": "query", "type": "integer" @@ -231,14 +231,56 @@ "type": "string" }, "parent": { - "description": "Required. The resource name of the admin project(containing project and location),\ne.g.:\n \"projects/myproject/locations/US\".", + "description": "Required. The resource name with location (project name could be the wildcard '-'),\ne.g.:\n `projects/-/locations/US`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "query": { - "description": "Please specify resource name as assignee in the query.\ne.g., \"assignee=projects/myproject\"\n \"assignee=folders/123\"\n \"assignee=organizations/456\"", + "description": "Please specify resource name as assignee in the query.\n\nExamples:\n\n* `assignee=projects/myproject`\n* `assignee=folders/123`\n* `assignee=organizations/456`", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}:searchAllAssignments", + "response": { + "$ref": "SearchAllAssignmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchAssignments": { + "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n\n1. Assignments created on the project will be returned if they exist.\n2. Otherwise assignments created on the closest ancestor will be\n returned.\n3. Assignments for different JobTypes will all be returned.\n\nThe same logic applies if the request is about a folder.\n\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\n\nComparing to ListAssignments, there are some behavior\ndifferences:\n\n1. permission on the assignee will be verified in this API.\n2. Hierarchy lookup (project->folder->organization) happens in this API.\n3. Parent here is `projects/*/locations/*`, instead of\n `projects/*/locations/*reservations/*`.\n\n**Note** \"-\" cannot be used for projects\nnor locations.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchAssignments", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.searchAssignments", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of items to return per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the admin project(containing project and location),\ne.g.:\n `projects/myproject/locations/US`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "query": { + "description": "Please specify resource name as assignee in the query.\n\nExamples:\n\n* `assignee=projects/myproject`\n* `assignee=folders/123`\n* `assignee=organizations/456`", "location": "query", "type": "string" } @@ -253,7 +295,7 @@ ] }, "updateBiReservation": { - "description": "Updates a BI reservation.\nOnly fields specified in the field_mask are updated.\nSingleton BI reservation always exists with default size 0.\nIn order to reserve BI capacity it needs to be updated to an amount\ngreater than 0. In order to release BI capacity reservation size\nmust be set to 0.", + "description": "Updates a BI reservation.\n\nOnly fields specified in the `field_mask` are updated.\n\nA singleton BI reservation always exists with default size 0.\nIn order to reserve BI capacity it needs to be updated to an amount\ngreater than 0. In order to release BI capacity reservation size\nmust be set to 0.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/biReservation", "httpMethod": "PATCH", "id": "bigqueryreservation.projects.locations.updateBiReservation", @@ -306,7 +348,7 @@ "type": "boolean" }, "parent": { - "description": "Required. Resource name of the parent reservation. E.g.,\n projects/myproject/locations/US", + "description": "Required. Resource name of the parent reservation. E.g.,\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -335,7 +377,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the capacity commitment to delete. E.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. Resource name of the capacity commitment to delete. E.g.,\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -361,7 +403,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the capacity commitment to retrieve. E.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. Resource name of the capacity commitment to retrieve. E.g.,\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -398,7 +440,7 @@ "type": "string" }, "parent": { - "description": "Required. Resource name of the parent reservation. E.g.,\n projects/myproject/locations/US", + "description": "Required. Resource name of the parent reservation. E.g.,\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -415,7 +457,7 @@ ] }, "merge": { - "description": "Merges capacity commitments of the same plan into one. Resulting capacity\ncommitment has the longer commitment_end_time out of the two. Attempting to\nmerge capacity commitments of different plan will fail with the error code\n`google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Merges capacity commitments of the same plan into a single commitment.\n\nThe resulting capacity commitment has the greater commitment_end_time\nout of the to-be-merged capacity commitments.\n\nAttempting to merge capacity commitments of different plan will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments:merge", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.capacityCommitments.merge", @@ -424,7 +466,7 @@ ], "parameters": { "parent": { - "description": "Parent resource that identifies admin project and location e.g.,\nprojects/myproject/locations/us", + "description": "Parent resource that identifies admin project and location e.g.,\n `projects/myproject/locations/us`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -444,7 +486,7 @@ ] }, "patch": { - "description": "Updates an existing capacity commitment.\n\nOnly plan and renewal_plan fields can be updated.\nPlan can only be changed to a plan of a longer commitment period.\nAttempting to change to a plan with shorter commitment period will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Updates an existing capacity commitment.\n\nOnly `plan` and `renewal_plan` fields can be updated.\n\nPlan can only be changed to a plan of a longer commitment period.\nAttempting to change to a plan with shorter commitment period will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", "httpMethod": "PATCH", "id": "bigqueryreservation.projects.locations.capacityCommitments.patch", @@ -453,7 +495,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the capacity commitment, e.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Output only. The resource name of the capacity commitment, e.g.,\n`projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -479,7 +521,7 @@ ] }, "split": { - "description": "Splits capacity commitment to two commitments of the same plan and\ncommitment_end_time. A common use case to do that is to perform a downgrade\ne.g., in order to downgrade from 10000 slots to 8000, one might split 10000\ncapacity commitment to 2000 and 8000, change the plan of the first one to\nflex and then delete it.", + "description": "Splits capacity commitment to two commitments of the same plan and\n`commitment_end_time`.\n\nA common use case is to enable downgrading commitments.\n\nFor example, in order to downgrade from 10000 slots to 8000, you might\nsplit a 10000 capacity commitment into commitments of 2000 and 8000. Then,\nyou would change the plan of the first one to `FLEX` and then delete it.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}:split", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.capacityCommitments.split", @@ -488,7 +530,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name e.g.,:\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. The resource name e.g.,:\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -521,7 +563,7 @@ ], "parameters": { "parent": { - "description": "Required. Project, location. E.g.,\n projects/myproject/locations/US", + "description": "Required. Project, location. E.g.,\n`projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -555,7 +597,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the reservation to retrieve. E.g.,\n projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. Resource name of the reservation to retrieve. E.g.,\n `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -581,7 +623,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the reservation to retrieve. E.g.,\n projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. Resource name of the reservation to retrieve. E.g.,\n `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -607,7 +649,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of items to return.", + "description": "The maximum number of items to return per page.", "format": "int32", "location": "query", "type": "integer" @@ -618,7 +660,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name containing project and location, e.g.:\n \"projects/myproject/locations/US\"", + "description": "Required. The parent resource name containing project and location, e.g.:\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -644,7 +686,7 @@ ], "parameters": { "name": { - "description": "The resource name of the reservation, e.g.,\n\"projects/*/locations/*/reservations/team1-prod\".", + "description": "The resource name of the reservation, e.g.,\n`projects/*/locations/*/reservations/team1-prod`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -674,7 +716,7 @@ "assignments": { "methods": { "create": { - "description": "Creates an object which allows the given project to submit jobs\nof a certain type using slots from the specified reservation. Currently a\nresource (project, folder, organization) can only have one assignment per\n{job_type, location}, and that reservation will be used for all jobs of the\nmatching type. Within the organization, different assignments can be\ncreated on projects, folders or organization level. During query execution,\nthe assignment is looked up at the project, folder and organization levels\nin that order. The first assignment found is applied to the query. When\ncreating assignments, it does not matter if other assignments exist at\nhigher levels. E.g: organizationA contains project1, project2. Assignments\nfor organizationA, project1 and project2 could all be created, mapping to\nthe same or different reservations.\nReturns `google.rpc.Code.PERMISSION_DENIED` if user does not have\n'bigquery.admin' permissions on the project using the reservation\nand the project that owns this reservation.\nReturns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment\ndoes not match location of the reservation.", + "description": "Creates an assignment object which allows the given project to submit jobs\nof a certain type using slots from the specified reservation.\n\nCurrently a\nresource (project, folder, organization) can only have one assignment per\neach (job_type, location) combination, and that reservation will be used\nfor all jobs of the matching type.\n\nDifferent assignments can be created on different levels of the\nprojects, folders or organization hierarchy. During query execution,\nthe assignment is looked up at the project, folder and organization levels\nin that order. The first assignment found is applied to the query.\n\nWhen creating assignments, it does not matter if other assignments exist at\nhigher levels.\n\nExample:\n\n* The organization `organizationA` contains two projects, `project1`\n and `project2`.\n* Assignments for all three entities (`organizationA`, `project1`, and\n `project2`) could all be created and mapped to the same or different\n reservations.\n\nReturns `google.rpc.Code.PERMISSION_DENIED` if user does not have\n'bigquery.admin' permissions on the project using the reservation\nand the project that owns this reservation.\n\nReturns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment\ndoes not match location of the reservation.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.assignments.create", @@ -683,7 +725,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name of the assignment\nE.g.: projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. The parent resource name of the assignment\nE.g. `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -703,7 +745,7 @@ ] }, "delete": { - "description": "Deletes a assignment. No expansion will happen.\nE.g:\norganizationA contains project1 and project2. Reservation res1 exists.\nCreateAssignment was invoked previously and following assignments were\ncreated explicitly:\n \n \nThen deletion of won't affect . After\ndeletion of , queries from project1 will still use\nres1, while queries from project2 will use on-demand mode.", + "description": "Deletes a assignment. No expansion will happen.\n\nExample:\n\n* Organization `organizationA` contains two projects, `project1` and\n `project2`.\n* Reservation `res1` exists and was created previously.\n* CreateAssignment was used previously to define the following\n associations between entities and reservations: ``\n and ``\n\nIn this example, deletion of the `` assignment won't\naffect the other assignment ``. After said deletion,\nqueries from `project1` will still use `res1` while queries from\n`project2` will switch to use on-demand mode.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}", "httpMethod": "DELETE", "id": "bigqueryreservation.projects.locations.reservations.assignments.delete", @@ -712,7 +754,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource, e.g.:\n projects/myproject/locations/US/reservations/team1-prod/assignments/123", + "description": "Required. Name of the resource, e.g.\n `projects/myproject/locations/US/reservations/team1-prod/assignments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", "required": true, @@ -729,7 +771,7 @@ ] }, "list": { - "description": "Lists assignments.\nOnly explicitly created assignments will be returned. E.g:\norganizationA contains project1 and project2. Reservation res1 exists.\nCreateAssignment was invoked previously and following assignments were\ncreated explicitly:\n \n \nThen this API will just return the above two assignments for reservation\nres1, and no expansion/merge will happen. Wildcard \"-\" can be used for\nreservations in the request. In that case all assignments belongs to the\nspecified project and location will be listed. Note\n\"-\" cannot be used for projects nor locations.", + "description": "Lists assignments.\n\nOnly explicitly created assignments will be returned.\n\nExample:\n\n* Organization `organizationA` contains two projects, `project1` and\n `project2`.\n* Reservation `res1` exists and was created previously.\n* CreateAssignment was used previously to define the following\n associations between entities and reservations: ``\n and ``\n\nIn this example, ListAssignments will just return the above two assignments\nfor reservation `res1`, and no expansion/merge will happen.\n\nThe wildcard \"-\" can be used for\nreservations in the request. In that case all assignments belongs to the\nspecified project and location will be listed.\n\n**Note** \"-\" cannot be used for projects nor locations.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", "httpMethod": "GET", "id": "bigqueryreservation.projects.locations.reservations.assignments.list", @@ -738,7 +780,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of items to return.", + "description": "The maximum number of items to return per page.", "format": "int32", "location": "query", "type": "integer" @@ -749,7 +791,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name e.g.:\nprojects/myproject/locations/US/reservations/team1-prod\nOr:\nprojects/myproject/locations/US/reservations/-", + "description": "Required. The parent resource name e.g.:\n\n`projects/myproject/locations/US/reservations/team1-prod`\n\nOr:\n\n`projects/myproject/locations/US/reservations/-`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -766,7 +808,7 @@ ] }, "move": { - "description": "Moves a assignment under a new reservation. Customers can do this by\ndeleting the existing assignment followed by creating another assignment\nunder the new reservation, but this method provides a transactional way to\ndo so, to make sure the assignee always has an associated reservation.\nWithout the method customers might see some queries run on-demand which\nmight be unexpected.", + "description": "Moves an assignment under a new reservation.\n\nThis differs from removing an existing assignment and recreating a new one\nby providing a transactional change that ensures an assignee always has an\nassociated reservation.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}:move", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.assignments.move", @@ -775,7 +817,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the assignment,\ne.g.:\n projects/myproject/locations/US/reservations/team1-prod/assignments/123", + "description": "Required. The resource name of the assignment,\ne.g.\n`projects/myproject/locations/US/reservations/team1-prod/assignments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", "required": true, @@ -803,7 +845,7 @@ } } }, - "revision": "20200403", + "revision": "20200702", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { @@ -811,7 +853,7 @@ "id": "Assignment", "properties": { "assignee": { - "description": "The resource which will use the reservation. E.g.\nprojects/myproject, folders/123, organizations/456.", + "description": "The resource which will use the reservation. E.g.\n`projects/myproject`, `folders/123`, or `organizations/456`.", "type": "string" }, "jobType": { @@ -819,17 +861,19 @@ "enum": [ "JOB_TYPE_UNSPECIFIED", "PIPELINE", - "QUERY" + "QUERY", + "ML_EXTERNAL" ], "enumDescriptions": [ "Invalid type. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Pipeline (load/export) jobs from the project will use the reservation.", - "Query jobs from the project will use the reservation." + "Query jobs from the project will use the reservation.", + "BigQuery ML jobs that use services external to BigQuery for model\ntraining. These jobs will not utilize idle slots from other reservations." ], "type": "string" }, "name": { - "description": "Output only. Name of the resource. E.g.:\nprojects/myproject/locations/US/reservations/team1-prod/assignments/123.", + "description": "Output only. Name of the resource. E.g.:\n`projects/myproject/locations/US/reservations/team1-prod/assignments/123`.", "type": "string" }, "state": { @@ -871,7 +915,7 @@ "type": "object" }, "CapacityCommitment": { - "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs\n(in the form of slots) with some committed period of usage. Monthly and\nannual commitments renew by default. Only flex commitments can be removed. In\norder to remove monthly or annual commitments, their plan needs to be changed\nto flex first.\n\nA capacity commitment resource exists as a child resource of the admin\nproject.", + "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs\n(in the form of slots) with some committed period of usage. Annual\ncommitments renew by default. Commitments can be removed after their\ncommitment end time passes.\n\nIn order to remove annual commitment, its plan needs to be changed\nto monthly or flex first.\n\nA capacity commitment resource exists as a child resource of the admin\nproject.", "id": "CapacityCommitment", "properties": { "commitmentEndTime": { @@ -879,12 +923,17 @@ "format": "google-datetime", "type": "string" }, + "commitmentStartTime": { + "description": "Output only. The start of the current commitment period. It is applicable only for\nACTIVE capacity commitments.", + "format": "google-datetime", + "type": "string" + }, "failureStatus": { "$ref": "Status", "description": "Output only. For FAILED commitment plan, provides the reason of failure." }, "name": { - "description": "Output only. The resource name of the capacity commitment, e.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Output only. The resource name of the capacity commitment, e.g.,\n`projects/myproject/locations/US/capacityCommitments/123`", "type": "string" }, "plan": { @@ -892,30 +941,34 @@ "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Flex commitments have committed period of 1 minute after becoming ACTIVE.\nAfter that, they are not in a committed period anymore and can be removed\nany time.", - "Monthly commitments have a committed period of 30 days after becoming\nACTIVE.", - "Annual commitments have a committed period of 365 days after becoming\nACTIVE." + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\n`renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so\nthat it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming\nACTIVE. After that, they are not in a committed period anymore and can be\nremoved any time.", + "Annual commitments have a committed period of 365 days after becoming\nACTIVE. After that they are converted to a new commitment based on the\nrenewal_plan." ], "type": "string" }, "renewalPlan": { - "description": "The plan this capacity commitment is converted to after commitment_end_time\npasses. Once the plan is changed, committed period is extended according to\ncommitment plan. Only applicable for ANNUAL commitments.", + "description": "The plan this capacity commitment is converted to after commitment_end_time\npasses. Once the plan is changed, committed period is extended according to\ncommitment plan. Only applicable for ANNUAL and TRIAL commitments.", "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Flex commitments have committed period of 1 minute after becoming ACTIVE.\nAfter that, they are not in a committed period anymore and can be removed\nany time.", - "Monthly commitments have a committed period of 30 days after becoming\nACTIVE.", - "Annual commitments have a committed period of 365 days after becoming\nACTIVE." + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\n`renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so\nthat it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming\nACTIVE. After that, they are not in a committed period anymore and can be\nremoved any time.", + "Annual commitments have a committed period of 365 days after becoming\nACTIVE. After that they are converted to a new commitment based on the\nrenewal_plan." ], "type": "string" }, @@ -1037,7 +1090,7 @@ "id": "MergeCapacityCommitmentsRequest", "properties": { "capacityCommitmentIds": { - "description": "Ids of capacity commitments to merge.\nThese capacity commitments must exist under admin project and location\nspecified in the parent.", + "description": "Ids of capacity commitments to merge.\nThese capacity commitments must exist under admin project and location\nspecified in the parent.\nID is the last portion of capacity commitment name e.g., 'abc' for\nprojects/myproject/locations/US/capacityCommitments/abc", "items": { "type": "string" }, @@ -1047,11 +1100,11 @@ "type": "object" }, "MoveAssignmentRequest": { - "description": "The request for\nReservationService.MoveAssignment.\nNote: \"bigquery.reservationAssignments.create\" permission is required on the\ndestination_id. Note: \"bigquery.reservationAssignments.create\" and\n\"bigquery.reservationAssignments.delete\" permission is required on the\nrelated assignee.", + "description": "The request for\nReservationService.MoveAssignment.\n\n**Note**: \"bigquery.reservationAssignments.create\" permission is required on\nthe destination_id.\n\n**Note**: \"bigquery.reservationAssignments.create\" and\n\"bigquery.reservationAssignments.delete\" permission are required on the\nrelated assignee.", "id": "MoveAssignmentRequest", "properties": { "destinationId": { - "description": "The new reservation ID, e.g.:\n projects/myotherproject/locations/US/reservations/team2-prod", + "description": "The new reservation ID, e.g.:\n `projects/myotherproject/locations/US/reservations/team2-prod`", "type": "string" } }, @@ -1101,17 +1154,35 @@ "type": "boolean" }, "name": { - "description": "The resource name of the reservation, e.g.,\n\"projects/*/locations/*/reservations/team1-prod\".", + "description": "The resource name of the reservation, e.g.,\n`projects/*/locations/*/reservations/team1-prod`.", "type": "string" }, "slotCapacity": { - "description": "Minimum slots available to this reservation. A slot is a unit of\ncomputational power in BigQuery, and serves as the unit of parallelism.\nQueries using this reservation might use more slots during runtime if\nignore_idle_slots is set to false.\nIf the new reservation's slot capacity exceed the parent's slot capacity or\nif total slot capacity of the new reservation and its siblings exceeds the\nparent's slot capacity, the request will fail with\n`google.rpc.Code.RESOURCE_EXHAUSTED`.", + "description": "Minimum slots available to this reservation. A slot is a unit of\ncomputational power in BigQuery, and serves as the unit of parallelism.\n\nQueries using this reservation might use more slots during runtime if\nignore_idle_slots is set to false.\n\nIf the new reservation's slot capacity exceed the parent's slot capacity or\nif total slot capacity of the new reservation and its siblings exceeds the\nparent's slot capacity, the request will fail with\n`google.rpc.Code.RESOURCE_EXHAUSTED`.", "format": "int64", "type": "string" } }, "type": "object" }, + "SearchAllAssignmentsResponse": { + "description": "The response for ReservationService.SearchAllAssignments.", + "id": "SearchAllAssignmentsResponse", + "properties": { + "assignments": { + "description": "List of assignments visible to the user.", + "items": { + "$ref": "Assignment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, "SearchAssignmentsResponse": { "description": "The response for ReservationService.SearchAssignments.", "id": "SearchAssignmentsResponse", diff --git a/etc/api/bigqueryreservation/v1alpha2/bigqueryreservation-api.json b/etc/api/bigqueryreservation/v1alpha2/bigqueryreservation-api.json index 9b78a64758..724d430559 100644 --- a/etc/api/bigqueryreservation/v1alpha2/bigqueryreservation-api.json +++ b/etc/api/bigqueryreservation/v1alpha2/bigqueryreservation-api.json @@ -614,7 +614,7 @@ } } }, - "revision": "20200403", + "revision": "20200702", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "CreateSlotPoolMetadata": { @@ -830,12 +830,14 @@ "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Slot pool can be removed at any point, even after becoming ACTIVE.", + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\nrenewal_plan. Default renewal_plan for Trial commitment is Flex so that\nit can be deleted right after committed period ends.", "Slot pool cannot be removed for 30 days after becoming ACTIVE.", "Slot pool cannot be removed for 365 days after becoming ACTIVE.\nNote: annual commitments are automatically downgraded to monthly after\n365 days." ], diff --git a/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json b/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json index 2941fa9dd6..ed2412e519 100644 --- a/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json +++ b/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json @@ -139,7 +139,7 @@ ] }, "searchAssignments": { - "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n 1) Assignments created on the project will be returned if they exist.\n 2) Otherwise assignments created on the closest ancestor will be\n returned. 3) Assignments for different JobTypes will all be returned.\nSame logic applies if the request is about a folder.\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\nComparing to ListAssignments, there are some behavior\ndifferences:\n 1) permission on the assignee will be verified in this API.\n 2) Hierarchy lookup (project->folder->organization) happens in this API.\n 3) Parent here is projects/*/locations/*, instead of\n projects/*/locations/*reservations/*.\nNote \"-\" cannot be used for projects\nnor locations.", + "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n\n1. Assignments created on the project will be returned if they exist.\n2. Otherwise assignments created on the closest ancestor will be\n returned.\n3. Assignments for different JobTypes will all be returned.\n\nThe same logic applies if the request is about a folder.\n\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\n\nComparing to ListAssignments, there are some behavior\ndifferences:\n\n1. permission on the assignee will be verified in this API.\n2. Hierarchy lookup (project->folder->organization) happens in this API.\n3. Parent here is `projects/*/locations/*`, instead of\n `projects/*/locations/*reservations/*`.\n\n**Note** \"-\" cannot be used for projects\nnor locations.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:searchAssignments", "httpMethod": "GET", "id": "bigqueryreservation.projects.locations.searchAssignments", @@ -159,14 +159,14 @@ "type": "string" }, "parent": { - "description": "Required. The resource name of the admin project(containing project and location),\ne.g.:\n \"projects/myproject/locations/US\".", + "description": "Required. The resource name of the admin project(containing project and location),\ne.g.:\n `projects/myproject/locations/US`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "query": { - "description": "Please specify resource name as assignee in the query.\ne.g., \"assignee=projects/myproject\"\n \"assignee=folders/123\"\n \"assignee=organizations/456\"", + "description": "Please specify resource name as assignee in the query.\n\nExamples:\n\n* `assignee=projects/myproject`\n* `assignee=folders/123`\n* `assignee=organizations/456`", "location": "query", "type": "string" } @@ -181,7 +181,7 @@ ] }, "updateBiReservation": { - "description": "Updates a BI reservation.\nOnly fields specified in the field_mask are updated.\nSingleton BI reservation always exists with default size 0.\nIn order to reserve BI capacity it needs to be updated to an amount\ngreater than 0. In order to release BI capacity reservation size\nmust be set to 0.", + "description": "Updates a BI reservation.\n\nOnly fields specified in the `field_mask` are updated.\n\nA singleton BI reservation always exists with default size 0.\nIn order to reserve BI capacity it needs to be updated to an amount\ngreater than 0. In order to release BI capacity reservation size\nmust be set to 0.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/biReservation", "httpMethod": "PATCH", "id": "bigqueryreservation.projects.locations.updateBiReservation", @@ -234,7 +234,7 @@ "type": "boolean" }, "parent": { - "description": "Required. Resource name of the parent reservation. E.g.,\n projects/myproject/locations/US", + "description": "Required. Resource name of the parent reservation. E.g.,\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -263,7 +263,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the capacity commitment to delete. E.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. Resource name of the capacity commitment to delete. E.g.,\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -289,7 +289,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the capacity commitment to retrieve. E.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. Resource name of the capacity commitment to retrieve. E.g.,\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -326,7 +326,7 @@ "type": "string" }, "parent": { - "description": "Required. Resource name of the parent reservation. E.g.,\n projects/myproject/locations/US", + "description": "Required. Resource name of the parent reservation. E.g.,\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -343,7 +343,7 @@ ] }, "merge": { - "description": "Merges capacity commitments of the same plan into one. Resulting capacity\ncommitment has the longer commitment_end_time out of the two. Attempting to\nmerge capacity commitments of different plan will fail with the error code\n`google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Merges capacity commitments of the same plan into a single commitment.\n\nThe resulting capacity commitment has the greater commitment_end_time\nout of the to-be-merged capacity commitments.\n\nAttempting to merge capacity commitments of different plan will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments:merge", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.capacityCommitments.merge", @@ -352,7 +352,7 @@ ], "parameters": { "parent": { - "description": "Parent resource that identifies admin project and location e.g.,\nprojects/myproject/locations/us", + "description": "Parent resource that identifies admin project and location e.g.,\n `projects/myproject/locations/us`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -372,7 +372,7 @@ ] }, "patch": { - "description": "Updates an existing capacity commitment.\n\nOnly plan and renewal_plan fields can be updated.\nPlan can only be changed to a plan of a longer commitment period.\nAttempting to change to a plan with shorter commitment period will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Updates an existing capacity commitment.\n\nOnly `plan` and `renewal_plan` fields can be updated.\n\nPlan can only be changed to a plan of a longer commitment period.\nAttempting to change to a plan with shorter commitment period will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", "httpMethod": "PATCH", "id": "bigqueryreservation.projects.locations.capacityCommitments.patch", @@ -381,7 +381,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the capacity commitment, e.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Output only. The resource name of the capacity commitment, e.g.,\n`projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -407,7 +407,7 @@ ] }, "split": { - "description": "Splits capacity commitment to two commitments of the same plan and\ncommitment_end_time. A common use case to do that is to perform a downgrade\ne.g., in order to downgrade from 10000 slots to 8000, one might split 10000\ncapacity commitment to 2000 and 8000, change the plan of the first one to\nflex and then delete it.", + "description": "Splits capacity commitment to two commitments of the same plan and\n`commitment_end_time`.\n\nA common use case is to enable downgrading commitments.\n\nFor example, in order to downgrade from 10000 slots to 8000, you might\nsplit a 10000 capacity commitment into commitments of 2000 and 8000. Then,\nyou would change the plan of the first one to `FLEX` and then delete it.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}:split", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.capacityCommitments.split", @@ -416,7 +416,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name e.g.,:\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. The resource name e.g.,:\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -449,7 +449,7 @@ ], "parameters": { "parent": { - "description": "Required. Project, location. E.g.,\n projects/myproject/locations/US", + "description": "Required. Project, location. E.g.,\n`projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -483,7 +483,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the reservation to retrieve. E.g.,\n projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. Resource name of the reservation to retrieve. E.g.,\n `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -509,7 +509,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the reservation to retrieve. E.g.,\n projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. Resource name of the reservation to retrieve. E.g.,\n `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -551,7 +551,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name containing project and location, e.g.:\n \"projects/myproject/locations/US\"", + "description": "Required. The parent resource name containing project and location, e.g.:\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -577,7 +577,7 @@ ], "parameters": { "name": { - "description": "The resource name of the reservation, e.g.,\n\"projects/*/locations/*/reservations/team1-prod\".", + "description": "The resource name of the reservation, e.g.,\n`projects/*/locations/*/reservations/team1-prod`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -607,7 +607,7 @@ "assignments": { "methods": { "create": { - "description": "Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have\n'bigquery.admin' permissions on the project using the reservation\nand the project that owns this reservation.\nReturns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment\ndoes not match location of the reservation.", + "description": "Creates an assignment object which allows the given project to submit jobs\nof a certain type using slots from the specified reservation.\n\nCurrently a\nresource (project, folder, organization) can only have one assignment per\neach (job_type, location) combination, and that reservation will be used\nfor all jobs of the matching type.\n\nDifferent assignments can be created on different levels of the\nprojects, folders or organization hierarchy. During query execution,\nthe assignment is looked up at the project, folder and organization levels\nin that order. The first assignment found is applied to the query.\n\nWhen creating assignments, it does not matter if other assignments exist at\nhigher levels.\n\nExample:\n\n* The organization `organizationA` contains two projects, `project1`\n and `project2`.\n* Assignments for all three entities (`organizationA`, `project1`, and\n `project2`) could all be created and mapped to the same or different\n reservations.\n\nReturns `google.rpc.Code.PERMISSION_DENIED` if user does not have\n'bigquery.admin' permissions on the project using the reservation\nand the project that owns this reservation.\n\nReturns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment\ndoes not match location of the reservation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.assignments.create", @@ -616,7 +616,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name of the assignment\nE.g.: projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. The parent resource name of the assignment\nE.g. `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -636,7 +636,7 @@ ] }, "delete": { - "description": "Deletes a assignment. No expansion will happen.\nE.g:\norganizationA contains project1 and project2. Reservation res1 exists.\nCreateAssignment was invoked previously and following assignments were\ncreated explicitly:\n \n \nThen deletion of won't affect . After\ndeletion of , queries from project1 will still use\nres1, while queries from project2 will use on-demand mode.", + "description": "Deletes a assignment. No expansion will happen.\n\nExample:\n\n* Organization `organizationA` contains two projects, `project1` and\n `project2`.\n* Reservation `res1` exists and was created previously.\n* CreateAssignment was used previously to define the following\n associations between entities and reservations: ``\n and ``\n\nIn this example, deletion of the `` assignment won't\naffect the other assignment ``. After said deletion,\nqueries from `project1` will still use `res1` while queries from\n`project2` will switch to use on-demand mode.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}", "httpMethod": "DELETE", "id": "bigqueryreservation.projects.locations.reservations.assignments.delete", @@ -645,7 +645,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource, e.g.:\n projects/myproject/locations/US/reservations/team1-prod/assignments/123", + "description": "Required. Name of the resource, e.g.\n `projects/myproject/locations/US/reservations/team1-prod/assignments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", "required": true, @@ -662,7 +662,7 @@ ] }, "list": { - "description": "Lists assignments.\nOnly explicitly created assignments will be returned. E.g:\norganizationA contains project1 and project2. Reservation res1 exists.\nCreateAssignment was invoked previously and following assignments were\ncreated explicitly:\n \n \nThen this API will just return the above two assignments for reservation\nres1, and no expansion/merge will happen. Wildcard \"-\" can be used for\nreservations in the request. In that case all assignments belongs to the\nspecified project and location will be listed. Note\n\"-\" cannot be used for projects nor locations.", + "description": "Lists assignments.\n\nOnly explicitly created assignments will be returned.\n\nExample:\n\n* Organization `organizationA` contains two projects, `project1` and\n `project2`.\n* Reservation `res1` exists and was created previously.\n* CreateAssignment was used previously to define the following\n associations between entities and reservations: ``\n and ``\n\nIn this example, ListAssignments will just return the above two assignments\nfor reservation `res1`, and no expansion/merge will happen.\n\nThe wildcard \"-\" can be used for\nreservations in the request. In that case all assignments belongs to the\nspecified project and location will be listed.\n\n**Note** \"-\" cannot be used for projects nor locations.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", "httpMethod": "GET", "id": "bigqueryreservation.projects.locations.reservations.assignments.list", @@ -682,7 +682,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name e.g.:\nprojects/myproject/locations/US/reservations/team1-prod\nOr:\nprojects/myproject/locations/US/reservations/-", + "description": "Required. The parent resource name e.g.:\n\n`projects/myproject/locations/US/reservations/team1-prod`\n\nOr:\n\n`projects/myproject/locations/US/reservations/-`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -699,7 +699,7 @@ ] }, "move": { - "description": "Moves a assignment under a new reservation. Customers can do this by\ndeleting the existing assignment followed by creating another assignment\nunder the new reservation, but this method provides a transactional way to\ndo so, to make sure the assignee always has an associated reservation.\nWithout the method customers might see some queries run on-demand which\nmight be unexpected.", + "description": "Moves an assignment under a new reservation.\n\nThis differs from removing an existing assignment and recreating a new one\nby providing a transactional change that ensures an assignee always has an\nassociated reservation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}:move", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.assignments.move", @@ -708,7 +708,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the assignment,\ne.g.:\n projects/myproject/locations/US/reservations/team1-prod/assignments/123", + "description": "Required. The resource name of the assignment,\ne.g.\n`projects/myproject/locations/US/reservations/team1-prod/assignments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", "required": true, @@ -736,7 +736,7 @@ } } }, - "revision": "20200403", + "revision": "20200702", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { @@ -744,7 +744,7 @@ "id": "Assignment", "properties": { "assignee": { - "description": "The resource which will use the reservation. E.g.\nprojects/myproject, folders/123, organizations/456.", + "description": "The resource which will use the reservation. E.g.\n`projects/myproject`, `folders/123`, or `organizations/456`.", "type": "string" }, "jobType": { @@ -752,17 +752,19 @@ "enum": [ "JOB_TYPE_UNSPECIFIED", "PIPELINE", - "QUERY" + "QUERY", + "ML_EXTERNAL" ], "enumDescriptions": [ "Invalid type. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Pipeline (load/export) jobs from the project will use the reservation.", - "Query jobs from the project will use the reservation." + "Query jobs from the project will use the reservation.", + "BigQuery ML jobs that use services external to BigQuery for model\ntraining. These jobs will not utilize idle slots from other reservations." ], "type": "string" }, "name": { - "description": "Output only. Name of the resource. E.g.:\nprojects/myproject/locations/US/reservations/team1-prod/assignments/123.", + "description": "Output only. Name of the resource. E.g.:\n`projects/myproject/locations/US/reservations/team1-prod/assignments/123`.", "type": "string" }, "state": { @@ -782,23 +784,6 @@ }, "type": "object" }, - "Autoscale": { - "description": "Auto scaling settings and current situation.\nSystem will create a dedicated FLEX capacity commitment to hold the slots\nfor auto-scale. Users won't be able to manage it,to avoid conflicts.\nScale-up will happen, if there are always pending tasks for the past 10\nminutes.\nScale-down will happen, if the system knows that scale-up won't be\ntriggered again.\nNote this is an alpha feature.", - "id": "Autoscale", - "properties": { - "currentSlots": { - "description": "Output only. The slot capacity added to this reservation when autoscale happens. Will\nbe between [0, max_slots].", - "format": "int64", - "type": "string" - }, - "maxSlots": { - "description": "Number of slots to be scaled when needed.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "BiReservation": { "description": "Represents a BI Reservation.", "id": "BiReservation", @@ -821,7 +806,7 @@ "type": "object" }, "CapacityCommitment": { - "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs\n(in the form of slots) with some committed period of usage. Monthly and\nannual commitments renew by default. Only flex commitments can be removed. In\norder to remove monthly or annual commitments, their plan needs to be changed\nto flex first.\n\nA capacity commitment resource exists as a child resource of the admin\nproject.", + "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs\n(in the form of slots) with some committed period of usage. Annual\ncommitments renew by default. Commitments can be removed after their\ncommitment end time passes.\n\nIn order to remove annual commitment, its plan needs to be changed\nto monthly or flex first.\n\nA capacity commitment resource exists as a child resource of the admin\nproject.", "id": "CapacityCommitment", "properties": { "commitmentEndTime": { @@ -829,12 +814,17 @@ "format": "google-datetime", "type": "string" }, + "commitmentStartTime": { + "description": "Output only. The start of the current commitment period. It is applicable only for\nACTIVE capacity commitments.", + "format": "google-datetime", + "type": "string" + }, "failureStatus": { "$ref": "Status", "description": "Output only. For FAILED commitment plan, provides the reason of failure." }, "name": { - "description": "Output only. The resource name of the capacity commitment, e.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Output only. The resource name of the capacity commitment, e.g.,\n`projects/myproject/locations/US/capacityCommitments/123`", "type": "string" }, "plan": { @@ -842,14 +832,16 @@ "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Flex commitments have committed period of 1 minute after becoming ACTIVE.\nAfter that, they are not in a committed period anymore and can be removed\nany time.", - "Monthly commitments have a committed period of 30 days after becoming\nACTIVE.", - "Annual commitments have a committed period of 365 days after becoming\nACTIVE." + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\n`renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so\nthat it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming\nACTIVE. After that, they are not in a committed period anymore and can be\nremoved any time.", + "Annual commitments have a committed period of 365 days after becoming\nACTIVE. After that they are converted to a new commitment based on the\nrenewal_plan." ], "type": "string" }, @@ -858,14 +850,16 @@ "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Flex commitments have committed period of 1 minute after becoming ACTIVE.\nAfter that, they are not in a committed period anymore and can be removed\nany time.", - "Monthly commitments have a committed period of 30 days after becoming\nACTIVE.", - "Annual commitments have a committed period of 365 days after becoming\nACTIVE." + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\n`renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so\nthat it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming\nACTIVE. After that, they are not in a committed period anymore and can be\nremoved any time.", + "Annual commitments have a committed period of 365 days after becoming\nACTIVE. After that they are converted to a new commitment based on the\nrenewal_plan." ], "type": "string" }, @@ -969,7 +963,7 @@ "id": "MergeCapacityCommitmentsRequest", "properties": { "capacityCommitmentIds": { - "description": "Ids of capacity commitments to merge.\nThese capacity commitments must exist under admin project and location\nspecified in the parent.", + "description": "Ids of capacity commitments to merge.\nThese capacity commitments must exist under admin project and location\nspecified in the parent.\nID is the last portion of capacity commitment name e.g., 'abc' for\nprojects/myproject/locations/US/capacityCommitments/abc", "items": { "type": "string" }, @@ -979,11 +973,11 @@ "type": "object" }, "MoveAssignmentRequest": { - "description": "The request for\nReservationService.MoveAssignment.\nNote: \"bigquery.reservationAssignments.create\" permission is required on the\ndestination_id. Note: \"bigquery.reservationAssignments.create\" and\n\"bigquery.reservationAssignments.delete\" permission is required on the\nrelated assignee.", + "description": "The request for\nReservationService.MoveAssignment.\n\n**Note**: \"bigquery.reservationAssignments.create\" permission is required on\nthe destination_id.\n\n**Note**: \"bigquery.reservationAssignments.create\" and\n\"bigquery.reservationAssignments.delete\" permission are required on the\nrelated assignee.", "id": "MoveAssignmentRequest", "properties": { "destinationId": { - "description": "The new reservation ID, e.g.:\n projects/myotherproject/locations/US/reservations/team2-prod", + "description": "The new reservation ID, e.g.:\n `projects/myotherproject/locations/US/reservations/team2-prod`", "type": "string" } }, @@ -993,20 +987,16 @@ "description": "A reservation is a mechanism used to guarantee slots to users.", "id": "Reservation", "properties": { - "autoscale": { - "$ref": "Autoscale", - "description": "The configuration parameters for the auto scaling feature. Note this is an\nalpha feature." - }, "ignoreIdleSlots": { "description": "If false, any query using this reservation will use idle slots from other\nreservations within the same admin project. If true, a query using this\nreservation will execute with the slot capacity specified above at most.", "type": "boolean" }, "name": { - "description": "The resource name of the reservation, e.g.,\n\"projects/*/locations/*/reservations/team1-prod\".", + "description": "The resource name of the reservation, e.g.,\n`projects/*/locations/*/reservations/team1-prod`.", "type": "string" }, "slotCapacity": { - "description": "Minimum slots available to this reservation. A slot is a unit of\ncomputational power in BigQuery, and serves as the unit of parallelism.\nQueries using this reservation might use more slots during runtime if\nignore_idle_slots is set to false.\nIf the new reservation's slot capacity exceed the parent's slot capacity or\nif total slot capacity of the new reservation and its siblings exceeds the\nparent's slot capacity, the request will fail with\n`google.rpc.Code.RESOURCE_EXHAUSTED`.", + "description": "Minimum slots available to this reservation. A slot is a unit of\ncomputational power in BigQuery, and serves as the unit of parallelism.\n\nQueries using this reservation might use more slots during runtime if\nignore_idle_slots is set to false.\n\nIf the new reservation's slot capacity exceed the parent's slot capacity or\nif total slot capacity of the new reservation and its siblings exceeds the\nparent's slot capacity, the request will fail with\n`google.rpc.Code.RESOURCE_EXHAUSTED`.", "format": "int64", "type": "string" } diff --git a/etc/api/bigtableadmin/v1/bigtableadmin-api.json b/etc/api/bigtableadmin/v1/bigtableadmin-api.json index 66c186c74f..ee3bc03015 100644 --- a/etc/api/bigtableadmin/v1/bigtableadmin-api.json +++ b/etc/api/bigtableadmin/v1/bigtableadmin-api.json @@ -96,7 +96,7 @@ }, "protocol": "rest", "resources": {}, - "revision": "20200211", + "revision": "20200609", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "Cluster": { @@ -104,7 +104,7 @@ "id": "Cluster", "properties": { "defaultStorageType": { - "description": "(`CreationOnly`)\nThe type of storage used by this cluster to serve its\nparent instance's tables, unless explicitly overridden.", + "description": "Immutable. The type of storage used by this cluster to serve its\nparent instance's tables, unless explicitly overridden.", "enum": [ "STORAGE_TYPE_UNSPECIFIED", "SSD", @@ -118,11 +118,11 @@ "type": "string" }, "location": { - "description": "(`CreationOnly`)\nThe location where this cluster's nodes and storage reside. For best\nperformance, clients should be located as close as possible to this\ncluster. Currently only zones are supported, so values should be of the\nform `projects/{project}/locations/{zone}`.", + "description": "Immutable. The location where this cluster's nodes and storage reside. For best\nperformance, clients should be located as close as possible to this\ncluster. Currently only zones are supported, so values should be of the\nform `projects/{project}/locations/{zone}`.", "type": "string" }, "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", + "description": "The unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", "type": "string" }, "serveNodes": { @@ -131,7 +131,7 @@ "type": "integer" }, "state": { - "description": "(`OutputOnly`)\nThe current state of the cluster.", + "description": "Output only. The current state of the cluster.", "enum": [ "STATE_NOT_KNOWN", "READY", @@ -261,11 +261,11 @@ "type": "object" }, "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", + "description": "The unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", "type": "string" }, "state": { - "description": "(`OutputOnly`)\nThe current state of the instance.", + "description": "Output only. The current state of the instance.", "enum": [ "STATE_NOT_KNOWN", "READY", @@ -288,7 +288,7 @@ "enumDescriptions": [ "The type of the instance is unspecified. If set when creating an\ninstance, a `PRODUCTION` instance will be created. If set when updating\nan instance, the type will be left unchanged.", "An instance meant for production use. `serve_nodes` must be set\non the cluster.", - "The instance is meant for development and testing purposes only; it has\nno performance or uptime guarantees and is not covered by SLA.\nAfter a development instance is created, it can be upgraded by\nupdating the instance to type `PRODUCTION`. An instance created\nas a production instance cannot be changed to a development instance.\nWhen creating a development instance, `serve_nodes` on the cluster must\nnot be set." + "DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces\na higher minimum node count than DEVELOPMENT." ], "type": "string" } diff --git a/etc/api/bigtableadmin/v2/bigtableadmin-api.json b/etc/api/bigtableadmin/v2/bigtableadmin-api.json index 9e34686048..d7aa86b6a9 100644 --- a/etc/api/bigtableadmin/v2/bigtableadmin-api.json +++ b/etc/api/bigtableadmin/v2/bigtableadmin-api.json @@ -143,7 +143,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", - "pattern": "^operations/.+$", + "pattern": "^operations/.*$", "required": true, "type": "string" } @@ -173,7 +173,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", - "pattern": "^operations/.+$", + "pattern": "^operations/.*$", "required": true, "type": "string" } @@ -203,7 +203,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", - "pattern": "^operations/.+$", + "pattern": "^operations/.*$", "required": true, "type": "string" } @@ -245,7 +245,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", - "pattern": "^operations/projects/.+$", + "pattern": "^operations/projects/.*$", "required": true, "type": "string" }, @@ -458,7 +458,7 @@ ], "parameters": { "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", + "description": "The unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+$", "required": true, @@ -563,7 +563,7 @@ ], "parameters": { "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", + "description": "The unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+$", "required": true, @@ -755,7 +755,7 @@ "type": "boolean" }, "name": { - "description": "(`OutputOnly`)\nThe unique name of the app profile. Values are of the form\n`projects//instances//appProfiles/_a-zA-Z0-9*`.", + "description": "The unique name of the app profile. Values are of the form\n`projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+/appProfiles/[^/]+$", "required": true, @@ -933,7 +933,7 @@ ], "parameters": { "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", + "description": "The unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", "required": true, @@ -961,7 +961,7 @@ "backups": { "methods": { "getIamPolicy": { - "description": "Gets the access control policy for a Table or Backup resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.", + "description": "Gets the access control policy for a Table resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:getIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.clusters.backups.getIamPolicy", @@ -993,7 +993,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a Table or Backup resource.\nReplaces any existing policy.", + "description": "Sets the access control policy on a Table resource.\nReplaces any existing policy.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:setIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.clusters.backups.setIamPolicy", @@ -1262,7 +1262,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a Table or Backup resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.", + "description": "Gets the access control policy for a Table resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:getIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.tables.getIamPolicy", @@ -1379,7 +1379,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a Table or Backup resource.\nReplaces any existing policy.", + "description": "Sets the access control policy on a Table resource.\nReplaces any existing policy.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:setIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.tables.setIamPolicy", @@ -1531,7 +1531,7 @@ } } }, - "revision": "20200211", + "revision": "20200609", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -1539,7 +1539,7 @@ "id": "AppProfile", "properties": { "description": { - "description": "Optional long form description of the use case for this AppProfile.", + "description": "Long form description of the use case for this AppProfile.", "type": "string" }, "etag": { @@ -1551,7 +1551,7 @@ "description": "Use a multi-cluster routing policy." }, "name": { - "description": "(`OutputOnly`)\nThe unique name of the app profile. Values are of the form\n`projects//instances//appProfiles/_a-zA-Z0-9*`.", + "description": "The unique name of the app profile. Values are of the form\n`projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.", "type": "string" }, "singleClusterRouting": { @@ -1562,7 +1562,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1580,7 +1580,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1615,7 +1615,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1658,7 +1658,7 @@ "id": "Cluster", "properties": { "defaultStorageType": { - "description": "(`CreationOnly`)\nThe type of storage used by this cluster to serve its\nparent instance's tables, unless explicitly overridden.", + "description": "Immutable. The type of storage used by this cluster to serve its\nparent instance's tables, unless explicitly overridden.", "enum": [ "STORAGE_TYPE_UNSPECIFIED", "SSD", @@ -1672,11 +1672,11 @@ "type": "string" }, "location": { - "description": "(`CreationOnly`)\nThe location where this cluster's nodes and storage reside. For best\nperformance, clients should be located as close as possible to this\ncluster. Currently only zones are supported, so values should be of the\nform `projects/{project}/locations/{zone}`.", + "description": "Immutable. The location where this cluster's nodes and storage reside. For best\nperformance, clients should be located as close as possible to this\ncluster. Currently only zones are supported, so values should be of the\nform `projects/{project}/locations/{zone}`.", "type": "string" }, "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", + "description": "The unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", "type": "string" }, "serveNodes": { @@ -1685,7 +1685,7 @@ "type": "integer" }, "state": { - "description": "(`OutputOnly`)\nThe current state of the cluster.", + "description": "Output only. The current state of the cluster.", "enum": [ "STATE_NOT_KNOWN", "READY", @@ -1950,7 +1950,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1960,7 +1960,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1983,11 +1983,11 @@ "type": "object" }, "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", + "description": "The unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", "type": "string" }, "state": { - "description": "(`OutputOnly`)\nThe current state of the instance.", + "description": "Output only. The current state of the instance.", "enum": [ "STATE_NOT_KNOWN", "READY", @@ -2010,7 +2010,7 @@ "enumDescriptions": [ "The type of the instance is unspecified. If set when creating an\ninstance, a `PRODUCTION` instance will be created. If set when updating\nan instance, the type will be left unchanged.", "An instance meant for production use. `serve_nodes` must be set\non the cluster.", - "The instance is meant for development and testing purposes only; it has\nno performance or uptime guarantees and is not covered by SLA.\nAfter a development instance is created, it can be upgraded by\nupdating the instance to type `PRODUCTION`. An instance created\nas a production instance cannot be changed to a development instance.\nWhen creating a development instance, `serve_nodes` on the cluster must\nnot be set." + "DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces\na higher minimum node count than DEVELOPMENT." ], "type": "string" } @@ -2289,7 +2289,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -2312,7 +2312,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2328,7 +2328,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -2404,11 +2404,11 @@ "additionalProperties": { "$ref": "ColumnFamily" }, - "description": "(`CreationOnly`)\nThe column families configured for this table, mapped by column family ID.\nViews: `SCHEMA_VIEW`, `FULL`", + "description": "The column families configured for this table, mapped by column family ID.\nViews: `SCHEMA_VIEW`, `FULL`", "type": "object" }, "granularity": { - "description": "(`CreationOnly`)\nThe granularity (i.e. `MILLIS`) at which timestamps are stored in\nthis table. Timestamps not matching the granularity will be rejected.\nIf unspecified at creation time, the value will be set to `MILLIS`.\nViews: `SCHEMA_VIEW`, `FULL`.", + "description": "Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this\ntable. Timestamps not matching the granularity will be rejected.\nIf unspecified at creation time, the value will be set to `MILLIS`.\nViews: `SCHEMA_VIEW`, `FULL`.", "enum": [ "TIMESTAMP_GRANULARITY_UNSPECIFIED", "MILLIS" @@ -2420,7 +2420,7 @@ "type": "string" }, "name": { - "description": "Output only. The unique name of the table. Values are of the form\n`projects//instances//tables/_a-zA-Z0-9*`.\nViews: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`", + "description": "The unique name of the table. Values are of the form\n`projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`.\nViews: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`", "type": "string" } }, diff --git a/etc/api/billingbudgets/v1beta1/billingbudgets-api.json b/etc/api/billingbudgets/v1beta1/billingbudgets-api.json index dced394dff..da332924f3 100644 --- a/etc/api/billingbudgets/v1beta1/billingbudgets-api.json +++ b/etc/api/billingbudgets/v1beta1/billingbudgets-api.json @@ -256,7 +256,7 @@ } } }, - "revision": "20200405", + "revision": "20200704", "rootUrl": "https://billingbudgets.googleapis.com/", "schemas": { "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": { @@ -356,6 +356,16 @@ ], "type": "string" }, + "labels": { + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "Optional. A single label and value pair specifying that usage from only this set of\nlabeled resources should be included in the budget. Currently, multiple\nentries or multiple values per entry are not allowed. If omitted, the\nreport will include all labeled and unlabeled usage.", + "type": "object" + }, "projects": { "description": "Optional. A set of projects of the form `projects/{project}`,\nspecifying that usage from only this set of projects should be\nincluded in the budget. If omitted, the report will include all usage for\nthe billing account, regardless of which project the usage occurred on.\nOnly zero or one project can be specified currently.", "items": { @@ -369,6 +379,13 @@ "type": "string" }, "type": "array" + }, + "subaccounts": { + "description": "Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying\nthat usage from only this set of subaccounts should be included in the\nbudget. If a subaccount is set to the name of the resller account, usage\nfrom the reseller account will be included. If omitted, the report will\ninclude usage from the reseller account and all subaccounts, if they exist.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/etc/api/binaryauthorization/v1/binaryauthorization-api.json b/etc/api/binaryauthorization/v1/binaryauthorization-api.json index 125d9ea20b..f866d856ec 100644 --- a/etc/api/binaryauthorization/v1/binaryauthorization-api.json +++ b/etc/api/binaryauthorization/v1/binaryauthorization-api.json @@ -257,7 +257,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -315,7 +315,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/attestors/{attestorsId}:setIamPolicy", "httpMethod": "POST", "id": "binaryauthorization.projects.attestors.setIamPolicy", @@ -343,7 +343,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/attestors/{attestorsId}:testIamPermissions", "httpMethod": "POST", "id": "binaryauthorization.projects.attestors.testIamPermissions", @@ -412,7 +412,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -434,7 +434,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/policy:setIamPolicy", "httpMethod": "POST", "id": "binaryauthorization.projects.policy.setIamPolicy", @@ -462,7 +462,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/policy:testIamPermissions", "httpMethod": "POST", "id": "binaryauthorization.projects.policy.testIamPermissions", @@ -494,7 +494,7 @@ } } }, - "revision": "20200327", + "revision": "20200619", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { @@ -605,7 +605,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -651,7 +651,7 @@ "type": "object" }, "IamPolicy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "IamPolicy", "properties": { "bindings": { @@ -667,7 +667,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json b/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json index db27d4ba96..dae481506d 100644 --- a/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json +++ b/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json @@ -257,7 +257,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -315,7 +315,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/attestors/{attestorsId}:setIamPolicy", "httpMethod": "POST", "id": "binaryauthorization.projects.attestors.setIamPolicy", @@ -343,7 +343,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/attestors/{attestorsId}:testIamPermissions", "httpMethod": "POST", "id": "binaryauthorization.projects.attestors.testIamPermissions", @@ -412,7 +412,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -434,7 +434,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/policy:setIamPolicy", "httpMethod": "POST", "id": "binaryauthorization.projects.policy.setIamPolicy", @@ -462,7 +462,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/policy:testIamPermissions", "httpMethod": "POST", "id": "binaryauthorization.projects.policy.testIamPermissions", @@ -494,7 +494,7 @@ } } }, - "revision": "20200327", + "revision": "20200619", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { @@ -605,7 +605,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -651,7 +651,7 @@ "type": "object" }, "IamPolicy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "IamPolicy", "properties": { "bindings": { @@ -667,7 +667,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/blogger/v2/blogger-api.json b/etc/api/blogger/v2/blogger-api.json index d7b5a18e26..9ae3112b8c 100644 --- a/etc/api/blogger/v2/blogger-api.json +++ b/etc/api/blogger/v2/blogger-api.json @@ -8,38 +8,64 @@ } } }, - "basePath": "/blogger/v2/", - "baseUrl": "https://www.googleapis.com/blogger/v2/", - "batchPath": "batch/blogger/v2", - "description": "API for access to the data within Blogger.", + "basePath": "", + "baseUrl": "https://blogger.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Blogger", + "description": "The Blogger API provides access to posts, comments and pages of a\n Blogger blog.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/blogger/docs/2.0/json/getting_started", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/5n8J-SrfC_3u-tnboDRXTbXXKhw\"", + "documentationLink": "https://developers.google.com/blogger/docs/3.0/getting_started", + "fullyEncodeReservedExpansion": true, "icons": { - "x16": "https://www.google.com/images/icons/product/blogger-16.png", - "x32": "https://www.google.com/images/icons/product/blogger-32.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "blogger:v2", "kind": "discovery#restDescription", - "labels": [ - "limited_availability" - ], + "mtlsRootUrl": "https://blogger.mtls.googleapis.com/", "name": "blogger", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -62,12 +88,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -77,7 +108,8 @@ "blogs": { "methods": { "get": { - "description": "Gets one blog by id.", + "description": "Gets a blog by id.", + "flatPath": "v2/blogs/{blogId}", "httpMethod": "GET", "id": "blogger.blogs.get", "parameterOrder": [ @@ -85,26 +117,49 @@ ], "parameters": { "blogId": { - "description": "The ID of the blog to get.", "location": "path", "required": true, "type": "string" } }, - "path": "blogs/{blogId}", + "path": "v2/blogs/{blogId}", "response": { "$ref": "Blog" }, "scopes": [ "https://www.googleapis.com/auth/blogger" ] + }, + "list": { + "description": "Lists blogs by user id, possibly filtered.", + "flatPath": "v2/users/{userId}/blogs", + "httpMethod": "GET", + "id": "blogger.blogs.list", + "parameterOrder": [ + "userId" + ], + "parameters": { + "userId": { + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2/users/{userId}/blogs", + "response": { + "$ref": "BlogList" + }, + "scopes": [ + "https://www.googleapis.com/auth/blogger" + ] } } }, "comments": { "methods": { "get": { - "description": "Gets one comment by id.", + "description": "Gets a comment by blog id, post id and comment id.", + "flatPath": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}", "httpMethod": "GET", "id": "blogger.comments.get", "parameterOrder": [ @@ -114,25 +169,22 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to containing the comment.", "location": "path", "required": true, "type": "string" }, "commentId": { - "description": "The ID of the comment to get.", "location": "path", "required": true, "type": "string" }, "postId": { - "description": "ID of the post to fetch posts from.", "location": "path", "required": true, "type": "string" } }, - "path": "blogs/{blogId}/posts/{postId}/comments/{commentId}", + "path": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}", "response": { "$ref": "Comment" }, @@ -141,7 +193,8 @@ ] }, "list": { - "description": "Retrieves the comments for a blog, possibly filtered.", + "description": "Lists comments.", + "flatPath": "v2/blogs/{blogId}/posts/{postId}/comments", "httpMethod": "GET", "id": "blogger.comments.list", "parameterOrder": [ @@ -150,41 +203,34 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to fetch comments from.", "location": "path", "required": true, "type": "string" }, "fetchBodies": { - "description": "Whether the body content of the comments is included.", "location": "query", "type": "boolean" }, "maxResults": { - "description": "Maximum number of comments to include in the result.", "format": "uint32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Continuation token if request is paged.", "location": "query", "type": "string" }, "postId": { - "description": "ID of the post to fetch posts from.", "location": "path", "required": true, "type": "string" }, "startDate": { - "description": "Earliest date of comment to fetch, a date-time with RFC 3339 formatting.", - "format": "date-time", "location": "query", "type": "string" } }, - "path": "blogs/{blogId}/posts/{postId}/comments", + "path": "v2/blogs/{blogId}/posts/{postId}/comments", "response": { "$ref": "CommentList" }, @@ -197,7 +243,8 @@ "pages": { "methods": { "get": { - "description": "Gets one blog page by id.", + "description": "Gets a page by blog id and page id.", + "flatPath": "v2/blogs/{blogId}/pages/{pageId}", "httpMethod": "GET", "id": "blogger.pages.get", "parameterOrder": [ @@ -206,19 +253,17 @@ ], "parameters": { "blogId": { - "description": "ID of the blog containing the page.", "location": "path", "required": true, "type": "string" }, "pageId": { - "description": "The ID of the page to get.", "location": "path", "required": true, "type": "string" } }, - "path": "blogs/{blogId}/pages/{pageId}", + "path": "v2/blogs/{blogId}/pages/{pageId}", "response": { "$ref": "Page" }, @@ -227,7 +272,8 @@ ] }, "list": { - "description": "Retrieves pages for a blog, possibly filtered.", + "description": "Lists pages.", + "flatPath": "v2/blogs/{blogId}/pages", "httpMethod": "GET", "id": "blogger.pages.list", "parameterOrder": [ @@ -235,18 +281,16 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to fetch pages from.", "location": "path", "required": true, "type": "string" }, "fetchBodies": { - "description": "Whether to retrieve the Page bodies.", "location": "query", "type": "boolean" } }, - "path": "blogs/{blogId}/pages", + "path": "v2/blogs/{blogId}/pages", "response": { "$ref": "PageList" }, @@ -259,7 +303,8 @@ "posts": { "methods": { "get": { - "description": "Get a post by id.", + "description": "Gets a post by blog id and post id", + "flatPath": "v2/blogs/{blogId}/posts/{postId}", "httpMethod": "GET", "id": "blogger.posts.get", "parameterOrder": [ @@ -268,19 +313,17 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to fetch the post from.", "location": "path", "required": true, "type": "string" }, "postId": { - "description": "The ID of the post", "location": "path", "required": true, "type": "string" } }, - "path": "blogs/{blogId}/posts/{postId}", + "path": "v2/blogs/{blogId}/posts/{postId}", "response": { "$ref": "Post" }, @@ -289,7 +332,8 @@ ] }, "list": { - "description": "Retrieves a list of posts, possibly filtered.", + "description": "Lists posts.", + "flatPath": "v2/blogs/{blogId}/posts", "httpMethod": "GET", "id": "blogger.posts.list", "parameterOrder": [ @@ -297,35 +341,29 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to fetch posts from.", "location": "path", "required": true, "type": "string" }, "fetchBodies": { - "description": "Whether the body content of posts is included.", "location": "query", "type": "boolean" }, "maxResults": { - "description": "Maximum number of posts to fetch.", "format": "uint32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Continuation token if the request is paged.", "location": "query", "type": "string" }, "startDate": { - "description": "Earliest post date to fetch, a date-time with RFC 3339 formatting.", - "format": "date-time", "location": "query", "type": "string" } }, - "path": "blogs/{blogId}/posts", + "path": "v2/blogs/{blogId}/posts", "response": { "$ref": "PostList" }, @@ -338,7 +376,8 @@ "users": { "methods": { "get": { - "description": "Gets one user by id.", + "description": "Gets a user by user id.", + "flatPath": "v2/users/{userId}", "httpMethod": "GET", "id": "blogger.users.get", "parameterOrder": [ @@ -346,13 +385,12 @@ ], "parameters": { "userId": { - "description": "The ID of the user to get.", "location": "path", "required": true, "type": "string" } }, - "path": "users/{userId}", + "path": "v2/users/{userId}", "response": { "$ref": "User" }, @@ -360,56 +398,29 @@ "https://www.googleapis.com/auth/blogger" ] } - }, - "resources": { - "blogs": { - "methods": { - "list": { - "description": "Retrieves a list of blogs, possibly filtered.", - "httpMethod": "GET", - "id": "blogger.users.blogs.list", - "parameterOrder": [ - "userId" - ], - "parameters": { - "userId": { - "description": "ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userId}/blogs", - "response": { - "$ref": "BlogList" - }, - "scopes": [ - "https://www.googleapis.com/auth/blogger" - ] - } - } - } } } }, - "revision": "20200204", - "rootUrl": "https://www.googleapis.com/", + "revision": "20200707", + "rootUrl": "https://blogger.googleapis.com/", "schemas": { "Blog": { "id": "Blog", "properties": { + "customMetaData": { + "description": "The JSON custom meta-data for the Blog.", + "type": "string" + }, "description": { "description": "The description of this blog. This is displayed underneath the title.", "type": "string" }, "id": { "description": "The identifier for this resource.", - "format": "int64", "type": "string" }, "kind": { - "default": "blogger#blog", - "description": "The kind of this entry. Always blogger#blog", + "description": "The kind of this entry. Always blogger#blog.", "type": "string" }, "locale": { @@ -452,6 +463,13 @@ "posts": { "description": "The container of posts in this blog.", "properties": { + "items": { + "description": "The List of Posts for this Blog.", + "items": { + "$ref": "Post" + }, + "type": "array" + }, "selfLink": { "description": "The URL of the container for posts in this blog.", "type": "string" @@ -466,16 +484,26 @@ }, "published": { "description": "RFC 3339 date-time when this blog was published.", - "format": "date-time", "type": "string" }, "selfLink": { "description": "The API REST URL to fetch this resource from.", "type": "string" }, + "status": { + "description": "The status of the blog.", + "enum": [ + "LIVE", + "DELETED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this blog was last updated.", - "format": "date-time", "type": "string" }, "url": { @@ -488,6 +516,13 @@ "BlogList": { "id": "BlogList", "properties": { + "blogUserInfos": { + "description": "Admin level list of blog per-user information.", + "items": { + "$ref": "BlogUserInfo" + }, + "type": "array" + }, "items": { "description": "The list of Blogs this user has Authorship or Admin rights over.", "items": { @@ -496,8 +531,67 @@ "type": "array" }, "kind": { - "default": "blogger#blogList", - "description": "The kind of this entity. Always blogger#blogList", + "description": "The kind of this entity. Always blogger#blogList.", + "type": "string" + } + }, + "type": "object" + }, + "BlogPerUserInfo": { + "id": "BlogPerUserInfo", + "properties": { + "blogId": { + "description": "ID of the Blog resource.", + "type": "string" + }, + "hasAdminAccess": { + "description": "True if the user has Admin level access to the blog.", + "type": "boolean" + }, + "kind": { + "description": "The kind of this entity. Always blogger#blogPerUserInfo.", + "type": "string" + }, + "photosAlbumKey": { + "description": "The Photo Album Key for the user when adding photos to the blog.", + "type": "string" + }, + "role": { + "description": "Access permissions that the user has for the blog (ADMIN, AUTHOR, or\nREADER).", + "enum": [ + "VIEW_TYPE_UNSPECIFIED", + "READER", + "AUTHOR", + "ADMIN" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "userId": { + "description": "ID of the User.", + "type": "string" + } + }, + "type": "object" + }, + "BlogUserInfo": { + "id": "BlogUserInfo", + "properties": { + "blog": { + "$ref": "Blog", + "description": "The Blog resource." + }, + "blog_user_info": { + "$ref": "BlogPerUserInfo", + "description": "Information about a User for the Blog." + }, + "kind": { + "description": "The kind of this entity. Always blogger#blogUserInfo.", "type": "string" } }, @@ -514,21 +608,21 @@ "type": "string" }, "id": { - "description": "The identifier of the Comment creator.", + "description": "The identifier of the creator.", "type": "string" }, "image": { - "description": "The comment creator's avatar.", + "description": "The creator's avatar.", "properties": { "url": { - "description": "The comment creator's avatar URL.", + "description": "The creator's avatar URL.", "type": "string" } }, "type": "object" }, "url": { - "description": "The URL of the Comment creator's Profile page.", + "description": "The URL of the creator's Profile page.", "type": "string" } }, @@ -539,7 +633,6 @@ "properties": { "id": { "description": "The identifier of the blog containing this comment.", - "format": "int64", "type": "string" } }, @@ -551,7 +644,6 @@ }, "id": { "description": "The identifier for this resource.", - "format": "int64", "type": "string" }, "inReplyTo": { @@ -559,15 +651,13 @@ "properties": { "id": { "description": "The identified of the parent of this comment.", - "format": "int64", "type": "string" } }, "type": "object" }, "kind": { - "default": "blogger#comment", - "description": "The kind of this entry. Always blogger#comment", + "description": "The kind of this entry. Always blogger#comment.", "type": "string" }, "post": { @@ -575,7 +665,6 @@ "properties": { "id": { "description": "The identifier of the post containing this comment.", - "format": "int64", "type": "string" } }, @@ -583,16 +672,30 @@ }, "published": { "description": "RFC 3339 date-time when this comment was published.", - "format": "date-time", "type": "string" }, "selfLink": { "description": "The API REST URL to fetch this resource from.", "type": "string" }, + "status": { + "description": "The status of the comment (only populated for admin users).", + "enum": [ + "LIVE", + "EMPTIED", + "PENDING", + "SPAM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this comment was last updated.", - "format": "date-time", "type": "string" } }, @@ -601,6 +704,10 @@ "CommentList": { "id": "CommentList", "properties": { + "etag": { + "description": "Etag of the response.", + "type": "string" + }, "items": { "description": "The List of Comments for a Post.", "items": { @@ -609,8 +716,7 @@ "type": "array" }, "kind": { - "default": "blogger#commentList", - "description": "The kind of this entry. Always blogger#commentList", + "description": "The kind of this entry. Always blogger#commentList.", "type": "string" }, "nextPageToken": { @@ -635,21 +741,21 @@ "type": "string" }, "id": { - "description": "The identifier of the Page creator.", + "description": "The identifier of the creator.", "type": "string" }, "image": { - "description": "The page author's avatar.", + "description": "The creator's avatar.", "properties": { "url": { - "description": "The page author's avatar URL.", + "description": "The creator's avatar URL.", "type": "string" } }, "type": "object" }, "url": { - "description": "The URL of the Page creator's Profile page.", + "description": "The URL of the creator's Profile page.", "type": "string" } }, @@ -660,7 +766,6 @@ "properties": { "id": { "description": "The identifier of the blog containing this page.", - "format": "int64", "type": "string" } }, @@ -670,32 +775,44 @@ "description": "The body content of this Page, in HTML.", "type": "string" }, + "etag": { + "description": "Etag of the resource.", + "type": "string" + }, "id": { "description": "The identifier for this resource.", - "format": "int64", "type": "string" }, "kind": { - "default": "blogger#page", - "description": "The kind of this entity. Always blogger#page", + "description": "The kind of this entity. Always blogger#page.", "type": "string" }, "published": { "description": "RFC 3339 date-time when this Page was published.", - "format": "date-time", "type": "string" }, "selfLink": { "description": "The API REST URL to fetch this resource from.", "type": "string" }, + "status": { + "description": "The status of the page for admin resources (either LIVE or DRAFT).", + "enum": [ + "LIVE", + "DRAFT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "title": { - "description": "The title of this entity. This is the name displayed in the Admin user interface.", + "description": "The title of this entity. This is the name displayed in the Admin user\ninterface.", "type": "string" }, "updated": { "description": "RFC 3339 date-time when this Page was last updated.", - "format": "date-time", "type": "string" }, "url": { @@ -708,6 +825,10 @@ "PageList": { "id": "PageList", "properties": { + "etag": { + "description": "Etag of the response.", + "type": "string" + }, "items": { "description": "The list of Pages for a Blog.", "items": { @@ -716,8 +837,11 @@ "type": "array" }, "kind": { - "default": "blogger#pageList", - "description": "The kind of this entity. Always blogger#pageList", + "description": "The kind of this entity. Always blogger#pageList.", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to fetch the next page, if one exists.", "type": "string" } }, @@ -734,21 +858,21 @@ "type": "string" }, "id": { - "description": "The identifier of the Post creator.", + "description": "The identifier of the creator.", "type": "string" }, "image": { - "description": "The Post author's avatar.", + "description": "The creator's avatar.", "properties": { "url": { - "description": "The Post author's avatar URL.", + "description": "The creator's avatar URL.", "type": "string" } }, "type": "object" }, "url": { - "description": "The URL of the Post creator's Profile page.", + "description": "The URL of the creator's Profile page.", "type": "string" } }, @@ -759,7 +883,6 @@ "properties": { "id": { "description": "The identifier of the Blog that contains this Post.", - "format": "int64", "type": "string" } }, @@ -769,14 +892,32 @@ "description": "The content of the Post. May contain HTML markup.", "type": "string" }, - "id": { - "description": "The identifier of this Post.", - "format": "int64", + "customMetaData": { + "description": "The JSON meta-data for the Post.", "type": "string" }, + "etag": { + "description": "Etag of the resource.", + "type": "string" + }, + "id": { + "description": "The identifier of this Post.", + "type": "string" + }, + "images": { + "description": "Display image for the Post.", + "items": { + "properties": { + "url": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, "kind": { - "default": "blogger#post", - "description": "The kind of this entity. Always blogger#post", + "description": "The kind of this entity. Always blogger#post.", "type": "string" }, "labels": { @@ -786,14 +927,58 @@ }, "type": "array" }, + "location": { + "description": "The location for geotagged posts.", + "properties": { + "lat": { + "description": "Location's latitude.", + "format": "double", + "type": "number" + }, + "lng": { + "description": "Location's longitude.", + "format": "double", + "type": "number" + }, + "name": { + "description": "Location name.", + "type": "string" + }, + "span": { + "description": "Location's viewport span. Can be used when rendering a map preview.", + "type": "string" + } + }, + "type": "object" + }, "published": { "description": "RFC 3339 date-time when this Post was published.", - "format": "date-time", + "type": "string" + }, + "readerComments": { + "description": "Comment control and display setting for readers of this post.", + "enum": [ + "ALLOW", + "DONT_ALLOW_SHOW_EXISTING", + "DONT_ALLOW_HIDE_EXISTING" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" }, "replies": { "description": "The container of comments on this Post.", "properties": { + "items": { + "description": "The List of Comments for this Post.", + "items": { + "$ref": "Comment" + }, + "type": "array" + }, "selfLink": { "description": "The URL of the comments on this post.", "type": "string" @@ -810,13 +995,30 @@ "description": "The API REST URL to fetch this resource from.", "type": "string" }, + "status": { + "description": "Status of the post. Only set for admin-level requests.", + "enum": [ + "LIVE", + "DRAFT", + "SCHEDULED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, "title": { "description": "The title of the Post.", "type": "string" }, + "titleLink": { + "description": "The title link URL, similar to atom's related link.", + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this Post was last updated.", - "format": "date-time", "type": "string" }, "url": { @@ -829,6 +1031,10 @@ "PostList": { "id": "PostList", "properties": { + "etag": { + "description": "Etag of the response.", + "type": "string" + }, "items": { "description": "The list of Posts for this Blog.", "items": { @@ -837,8 +1043,7 @@ "type": "array" }, "kind": { - "default": "blogger#postList", - "description": "The kind of this entity. Always blogger#postList", + "description": "The kind of this entity. Always blogger#postList.", "type": "string" }, "nextPageToken": { @@ -871,7 +1076,6 @@ }, "created": { "description": "The timestamp of when this profile was created, in seconds since epoch.", - "format": "date-time", "type": "string" }, "displayName": { @@ -883,23 +1087,22 @@ "type": "string" }, "kind": { - "default": "blogger#user", - "description": "The kind of this entity. Always blogger#user", + "description": "The kind of this entity. Always blogger#user.", "type": "string" }, "locale": { "description": "This user's locale", "properties": { "country": { - "description": "The user's country setting.", + "description": "The country this blog's locale is set to.", "type": "string" }, "language": { - "description": "The user's language setting.", + "description": "The language this blog is authored in.", "type": "string" }, "variant": { - "description": "The user's language variant setting.", + "description": "The language variant this blog is authored in.", "type": "string" } }, @@ -917,7 +1120,7 @@ "type": "object" } }, - "servicePath": "blogger/v2/", - "title": "Blogger API", + "servicePath": "", + "title": "Blogger API v3", "version": "v2" } \ No newline at end of file diff --git a/etc/api/blogger/v3/blogger-api.json b/etc/api/blogger/v3/blogger-api.json index fb2e78e809..e8e3a9d9bc 100644 Binary files a/etc/api/blogger/v3/blogger-api.json and b/etc/api/blogger/v3/blogger-api.json differ diff --git a/etc/api/books/v1/books-api.json b/etc/api/books/v1/books-api.json index 523dde3f69..6e3fc2a213 100644 --- a/etc/api/books/v1/books-api.json +++ b/etc/api/books/v1/books-api.json @@ -8,35 +8,62 @@ } } }, - "basePath": "/books/v1/", - "baseUrl": "https://www.googleapis.com/books/v1/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/books/v1", - "description": "Searches for books and manages your Google Books library.", + "description": "The Google Books API allows clients to access the Google Books repository.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/books/docs/v1/getting_started", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/FivGHh5u6W1RctbrVrrDR-2aAQM\"", + "documentationLink": "https://code.google.com/apis/books/docs/v1/getting_started.html", "icons": { - "x16": "https://www.google.com/images/icons/product/ebooks-16.png", - "x32": "https://www.google.com/images/icons/product/ebooks-32.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "books:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "books", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -59,12 +86,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -75,6 +107,7 @@ "methods": { "get": { "description": "Retrieves metadata for a specific bookshelf for the specified user.", + "flatPath": "books/v1/users/{userId}/bookshelves/{shelf}", "httpMethod": "GET", "id": "books.bookshelves.get", "parameterOrder": [ @@ -100,7 +133,7 @@ "type": "string" } }, - "path": "users/{userId}/bookshelves/{shelf}", + "path": "books/v1/users/{userId}/bookshelves/{shelf}", "response": { "$ref": "Bookshelf" }, @@ -110,6 +143,7 @@ }, "list": { "description": "Retrieves a list of public bookshelves for the specified user.", + "flatPath": "books/v1/users/{userId}/bookshelves", "httpMethod": "GET", "id": "books.bookshelves.list", "parameterOrder": [ @@ -128,7 +162,7 @@ "type": "string" } }, - "path": "users/{userId}/bookshelves", + "path": "books/v1/users/{userId}/bookshelves", "response": { "$ref": "Bookshelves" }, @@ -142,6 +176,7 @@ "methods": { "list": { "description": "Retrieves volumes in a specific bookshelf for the specified user.", + "flatPath": "books/v1/users/{userId}/bookshelves/{shelf}/volumes", "httpMethod": "GET", "id": "books.bookshelves.volumes.list", "parameterOrder": [ @@ -153,7 +188,6 @@ "description": "Maximum number of results to return", "format": "uint32", "location": "query", - "minimum": "0", "type": "integer" }, "shelf": { @@ -176,7 +210,6 @@ "description": "Index of the first element to return (starts at 0)", "format": "uint32", "location": "query", - "minimum": "0", "type": "integer" }, "userId": { @@ -186,7 +219,7 @@ "type": "string" } }, - "path": "users/{userId}/bookshelves/{shelf}/volumes", + "path": "books/v1/users/{userId}/bookshelves/{shelf}/volumes", "response": { "$ref": "Volumes" }, @@ -201,9 +234,11 @@ "cloudloading": { "methods": { "addBook": { - "description": "", + "description": "Add a user-upload volume and triggers processing.", + "flatPath": "books/v1/cloudloading/addBook", "httpMethod": "POST", "id": "books.cloudloading.addBook", + "parameterOrder": [], "parameters": { "drive_document_id": { "description": "A drive document id. The upload_client_token must not be set.", @@ -221,11 +256,12 @@ "type": "string" }, "upload_client_token": { + "description": "Scotty upload token.", "location": "query", "type": "string" } }, - "path": "cloudloading/addBook", + "path": "books/v1/cloudloading/addBook", "response": { "$ref": "BooksCloudloadingResource" }, @@ -235,29 +271,33 @@ }, "deleteBook": { "description": "Remove the book and its contents", + "flatPath": "books/v1/cloudloading/deleteBook", "httpMethod": "POST", "id": "books.cloudloading.deleteBook", - "parameterOrder": [ - "volumeId" - ], + "parameterOrder": [], "parameters": { "volumeId": { "description": "The id of the book to be removed.", "location": "query", - "required": true, "type": "string" } }, - "path": "cloudloading/deleteBook", + "path": "books/v1/cloudloading/deleteBook", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "updateBook": { - "description": "", + "description": "Updates a user-upload volume.", + "flatPath": "books/v1/cloudloading/updateBook", "httpMethod": "POST", "id": "books.cloudloading.updateBook", - "path": "cloudloading/updateBook", + "parameterOrder": [], + "parameters": {}, + "path": "books/v1/cloudloading/updateBook", "request": { "$ref": "BooksCloudloadingResource" }, @@ -274,20 +314,18 @@ "methods": { "listOfflineMetadata": { "description": "Returns a list of offline dictionary metadata available", + "flatPath": "books/v1/dictionary/listOfflineMetadata", "httpMethod": "GET", "id": "books.dictionary.listOfflineMetadata", - "parameterOrder": [ - "cpksver" - ], + "parameterOrder": [], "parameters": { "cpksver": { "description": "The device/version ID from which to request the data.", "location": "query", - "required": true, "type": "string" } }, - "path": "dictionary/listOfflineMetadata", + "path": "books/v1/dictionary/listOfflineMetadata", "response": { "$ref": "Metadata" }, @@ -301,8 +339,10 @@ "methods": { "getFamilyInfo": { "description": "Gets information regarding the family that the user is part of.", + "flatPath": "books/v1/familysharing/getFamilyInfo", "httpMethod": "GET", "id": "books.familysharing.getFamilyInfo", + "parameterOrder": [], "parameters": { "source": { "description": "String to identify the originator of this request.", @@ -310,7 +350,7 @@ "type": "string" } }, - "path": "familysharing/getFamilyInfo", + "path": "books/v1/familysharing/getFamilyInfo", "response": { "$ref": "FamilyInfo" }, @@ -319,9 +359,11 @@ ] }, "share": { - "description": "Initiates sharing of the content with the user's family. Empty response indicates success.", + "description": "Initiates sharing of the content with the user's family. Empty response\nindicates success.", + "flatPath": "books/v1/familysharing/share", "httpMethod": "POST", "id": "books.familysharing.share", + "parameterOrder": [], "parameters": { "docId": { "description": "The docid to share.", @@ -339,15 +381,20 @@ "type": "string" } }, - "path": "familysharing/share", + "path": "books/v1/familysharing/share", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "unshare": { - "description": "Initiates revoking content that has already been shared with the user's family. Empty response indicates success.", + "description": "Initiates revoking content that has already been shared with the user's\nfamily. Empty response indicates success.", + "flatPath": "books/v1/familysharing/unshare", "httpMethod": "POST", "id": "books.familysharing.unshare", + "parameterOrder": [], "parameters": { "docId": { "description": "The docid to unshare.", @@ -365,7 +412,10 @@ "type": "string" } }, - "path": "familysharing/unshare", + "path": "books/v1/familysharing/unshare", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] @@ -376,6 +426,7 @@ "methods": { "get": { "description": "Gets the layer summary for a volume.", + "flatPath": "books/v1/volumes/{volumeId}/layersummary/{summaryId}", "httpMethod": "GET", "id": "books.layers.get", "parameterOrder": [ @@ -406,7 +457,7 @@ "type": "string" } }, - "path": "volumes/{volumeId}/layersummary/{summaryId}", + "path": "books/v1/volumes/{volumeId}/layersummary/{summaryId}", "response": { "$ref": "Layersummary" }, @@ -416,6 +467,7 @@ }, "list": { "description": "List the layer summaries for a volume.", + "flatPath": "books/v1/volumes/{volumeId}/layersummary", "httpMethod": "GET", "id": "books.layers.list", "parameterOrder": [ @@ -431,8 +483,6 @@ "description": "Maximum number of results to return", "format": "uint32", "location": "query", - "maximum": "200", - "minimum": "0", "type": "integer" }, "pageToken": { @@ -452,7 +502,7 @@ "type": "string" } }, - "path": "volumes/{volumeId}/layersummary", + "path": "books/v1/volumes/{volumeId}/layersummary", "response": { "$ref": "Layersummaries" }, @@ -466,13 +516,13 @@ "methods": { "get": { "description": "Gets the annotation data.", + "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}", "httpMethod": "GET", "id": "books.layers.annotationData.get", "parameterOrder": [ "volumeId", "layerId", - "annotationDataId", - "contentVersion" + "annotationDataId" ], "parameters": { "allowWebDefinitions": { @@ -489,11 +539,10 @@ "contentVersion": { "description": "The content version for the volume you are trying to retrieve.", "location": "query", - "required": true, "type": "string" }, "h": { - "description": "The requested pixel height for any images. If height is provided width must also be provided.", + "description": "The requested pixel height for any images. If height is provided width must\nalso be provided.", "format": "int32", "location": "query", "type": "integer" @@ -505,7 +554,7 @@ "type": "string" }, "locale": { - "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", + "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1\ncountry code. Ex: 'en_US'.", "location": "query", "type": "string" }, @@ -513,7 +562,6 @@ "description": "The requested scale for the image.", "format": "int32", "location": "query", - "minimum": "0", "type": "integer" }, "source": { @@ -528,15 +576,15 @@ "type": "string" }, "w": { - "description": "The requested pixel width for any images. If width is provided height must also be provided.", + "description": "The requested pixel width for any images. If width is provided height must\nalso be provided.", "format": "int32", "location": "query", "type": "integer" } }, - "path": "volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}", + "path": "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}", "response": { - "$ref": "Annotationdata" + "$ref": "DictionaryAnnotationdata" }, "scopes": [ "https://www.googleapis.com/auth/books" @@ -544,16 +592,16 @@ }, "list": { "description": "Gets the annotation data for a volume and layer.", + "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/data", "httpMethod": "GET", "id": "books.layers.annotationData.list", "parameterOrder": [ "volumeId", - "layerId", - "contentVersion" + "layerId" ], "parameters": { "annotationDataId": { - "description": "The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set.", + "description": "The list of Annotation Data Ids to retrieve. Pagination is ignored if this\nis set.", "location": "query", "repeated": true, "type": "string" @@ -561,11 +609,10 @@ "contentVersion": { "description": "The content version for the requested volume.", "location": "query", - "required": true, "type": "string" }, "h": { - "description": "The requested pixel height for any images. If height is provided width must also be provided.", + "description": "The requested pixel height for any images. If height is provided width must\nalso be provided.", "format": "int32", "location": "query", "type": "integer" @@ -577,7 +624,7 @@ "type": "string" }, "locale": { - "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", + "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1\ncountry code. Ex: 'en_US'.", "location": "query", "type": "string" }, @@ -585,8 +632,6 @@ "description": "Maximum number of results to return", "format": "uint32", "location": "query", - "maximum": "200", - "minimum": "0", "type": "integer" }, "pageToken": { @@ -598,7 +643,6 @@ "description": "The requested scale for the image.", "format": "int32", "location": "query", - "minimum": "0", "type": "integer" }, "source": { @@ -607,12 +651,12 @@ "type": "string" }, "updatedMax": { - "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", + "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp\n(exclusive).", "location": "query", "type": "string" }, "updatedMin": { - "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", + "description": "RFC 3339 timestamp to restrict to items updated since this timestamp\n(inclusive).", "location": "query", "type": "string" }, @@ -623,13 +667,13 @@ "type": "string" }, "w": { - "description": "The requested pixel width for any images. If width is provided height must also be provided.", + "description": "The requested pixel width for any images. If width is provided height must\nalso be provided.", "format": "int32", "location": "query", "type": "integer" } }, - "path": "volumes/{volumeId}/layers/{layerId}/data", + "path": "books/v1/volumes/{volumeId}/layers/{layerId}/data", "response": { "$ref": "Annotationsdata" }, @@ -643,6 +687,7 @@ "methods": { "get": { "description": "Gets the volume annotation.", + "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}", "httpMethod": "GET", "id": "books.layers.volumeAnnotations.get", "parameterOrder": [ @@ -664,7 +709,7 @@ "type": "string" }, "locale": { - "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", + "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1\ncountry code. Ex: 'en_US'.", "location": "query", "type": "string" }, @@ -680,7 +725,7 @@ "type": "string" } }, - "path": "volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}", + "path": "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}", "response": { "$ref": "Volumeannotation" }, @@ -690,18 +735,17 @@ }, "list": { "description": "Gets the volume annotations for a volume and layer.", + "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}", "httpMethod": "GET", "id": "books.layers.volumeAnnotations.list", "parameterOrder": [ "volumeId", - "layerId", - "contentVersion" + "layerId" ], "parameters": { "contentVersion": { "description": "The content version for the requested volume.", "location": "query", - "required": true, "type": "string" }, "endOffset": { @@ -721,7 +765,7 @@ "type": "string" }, "locale": { - "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.", + "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1\ncountry code. Ex: 'en_US'.", "location": "query", "type": "string" }, @@ -729,8 +773,6 @@ "description": "Maximum number of results to return", "format": "uint32", "location": "query", - "maximum": "200", - "minimum": "0", "type": "integer" }, "pageToken": { @@ -739,7 +781,7 @@ "type": "string" }, "showDeleted": { - "description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.", + "description": "Set to true to return deleted annotations. updatedMin must be in the\nrequest to use this. Defaults to false.", "location": "query", "type": "boolean" }, @@ -759,12 +801,12 @@ "type": "string" }, "updatedMax": { - "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", + "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp\n(exclusive).", "location": "query", "type": "string" }, "updatedMin": { - "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", + "description": "RFC 3339 timestamp to restrict to items updated since this timestamp\n(inclusive).", "location": "query", "type": "string" }, @@ -780,7 +822,7 @@ "type": "string" } }, - "path": "volumes/{volumeId}/layers/{layerId}", + "path": "books/v1/volumes/{volumeId}/layers/{layerId}", "response": { "$ref": "Volumeannotations" }, @@ -796,9 +838,18 @@ "methods": { "getUserSettings": { "description": "Gets the current settings for the user.", + "flatPath": "books/v1/myconfig/getUserSettings", "httpMethod": "GET", "id": "books.myconfig.getUserSettings", - "path": "myconfig/getUserSettings", + "parameterOrder": [], + "parameters": { + "country": { + "description": "Unused. Added only to workaround TEX mandatory request template requirement", + "location": "query", + "type": "string" + } + }, + "path": "books/v1/myconfig/getUserSettings", "response": { "$ref": "Usersettings" }, @@ -808,17 +859,14 @@ }, "releaseDownloadAccess": { "description": "Release downloaded content access restriction.", + "flatPath": "books/v1/myconfig/releaseDownloadAccess", "httpMethod": "POST", "id": "books.myconfig.releaseDownloadAccess", - "parameterOrder": [ - "volumeIds", - "cpksver" - ], + "parameterOrder": [], "parameters": { "cpksver": { "description": "The device/version ID from which to release the restriction.", "location": "query", - "required": true, "type": "string" }, "locale": { @@ -835,11 +883,10 @@ "description": "The volume(s) to release restrictions for.", "location": "query", "repeated": true, - "required": true, "type": "string" } }, - "path": "myconfig/releaseDownloadAccess", + "path": "books/v1/myconfig/releaseDownloadAccess", "response": { "$ref": "DownloadAccesses" }, @@ -849,33 +896,24 @@ }, "requestAccess": { "description": "Request concurrent and download access restrictions.", + "flatPath": "books/v1/myconfig/requestAccess", "httpMethod": "POST", "id": "books.myconfig.requestAccess", - "parameterOrder": [ - "source", - "volumeId", - "nonce", - "cpksver" - ], + "parameterOrder": [], "parameters": { "cpksver": { "description": "The device/version ID from which to request the restrictions.", "location": "query", - "required": true, "type": "string" }, "licenseTypes": { - "description": "The type of access license to request. If not specified, the default is BOTH.", + "description": "The type of access license to request. If not specified, the default is\nBOTH.", "enum": [ + "LICENSE_TYPES_UNDEFINED", "BOTH", "CONCURRENT", "DOWNLOAD" ], - "enumDescriptions": [ - "Both concurrent and download licenses.", - "Concurrent access license.", - "Offline download access license." - ], "location": "query", "type": "string" }, @@ -887,54 +925,45 @@ "nonce": { "description": "The client nonce value.", "location": "query", - "required": true, "type": "string" }, "source": { "description": "String to identify the originator of this request.", "location": "query", - "required": true, "type": "string" }, "volumeId": { "description": "The volume to request concurrent/download restrictions for.", "location": "query", - "required": true, "type": "string" } }, - "path": "myconfig/requestAccess", + "path": "books/v1/myconfig/requestAccess", "response": { - "$ref": "RequestAccess" + "$ref": "RequestAccessData" }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "syncVolumeLicenses": { - "description": "Request downloaded content access for specified volumes on the My eBooks shelf.", + "description": "Request downloaded content access for specified volumes on the My eBooks\nshelf.", + "flatPath": "books/v1/myconfig/syncVolumeLicenses", "httpMethod": "POST", "id": "books.myconfig.syncVolumeLicenses", - "parameterOrder": [ - "source", - "nonce", - "cpksver" - ], + "parameterOrder": [], "parameters": { "cpksver": { "description": "The device/version ID from which to release the restriction.", "location": "query", - "required": true, "type": "string" }, "features": { "description": "List of features supported by the client, i.e., 'RENTALS'", "enum": [ + "FEATURES_UNDEFINED", "RENTALS" ], - "enumDescriptions": [ - "Client supports rentals." - ], "location": "query", "repeated": true, "type": "string" @@ -952,7 +981,6 @@ "nonce": { "description": "The client nonce value.", "location": "query", - "required": true, "type": "string" }, "showPreorders": { @@ -963,7 +991,6 @@ "source": { "description": "String to identify the originator of this request.", "location": "query", - "required": true, "type": "string" }, "volumeIds": { @@ -973,7 +1000,7 @@ "type": "string" } }, - "path": "myconfig/syncVolumeLicenses", + "path": "books/v1/myconfig/syncVolumeLicenses", "response": { "$ref": "Volumes" }, @@ -982,10 +1009,13 @@ ] }, "updateUserSettings": { - "description": "Sets the settings for the user. If a sub-object is specified, it will overwrite the existing sub-object stored in the server. Unspecified sub-objects will retain the existing value.", + "description": "Sets the settings for the user. If a sub-object is specified, it will\noverwrite the existing sub-object stored in the server. Unspecified\nsub-objects will retain the existing value.", + "flatPath": "books/v1/myconfig/updateUserSettings", "httpMethod": "POST", "id": "books.myconfig.updateUserSettings", - "path": "myconfig/updateUserSettings", + "parameterOrder": [], + "parameters": {}, + "path": "books/v1/myconfig/updateUserSettings", "request": { "$ref": "Usersettings" }, @@ -1004,6 +1034,7 @@ "methods": { "delete": { "description": "Deletes an annotation.", + "flatPath": "books/v1/mylibrary/annotations/{annotationId}", "httpMethod": "DELETE", "id": "books.mylibrary.annotations.delete", "parameterOrder": [ @@ -1022,15 +1053,20 @@ "type": "string" } }, - "path": "mylibrary/annotations/{annotationId}", + "path": "books/v1/mylibrary/annotations/{annotationId}", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "insert": { "description": "Inserts a new annotation.", + "flatPath": "books/v1/mylibrary/annotations", "httpMethod": "POST", "id": "books.mylibrary.annotations.insert", + "parameterOrder": [], "parameters": { "annotationId": { "description": "The ID for the annotation to insert.", @@ -1043,7 +1079,7 @@ "type": "string" }, "showOnlySummaryInResponse": { - "description": "Requests that only the summary of the specified layer be provided in the response.", + "description": "Requests that only the summary of the specified layer be provided in the\nresponse.", "location": "query", "type": "boolean" }, @@ -1053,7 +1089,7 @@ "type": "string" } }, - "path": "mylibrary/annotations", + "path": "books/v1/mylibrary/annotations", "request": { "$ref": "Annotation" }, @@ -1066,8 +1102,10 @@ }, "list": { "description": "Retrieves a list of annotations, possibly filtered.", + "flatPath": "books/v1/mylibrary/annotations", "httpMethod": "GET", "id": "books.mylibrary.annotations.list", + "parameterOrder": [], "parameters": { "contentVersion": { "description": "The content version for the requested volume.", @@ -1089,8 +1127,6 @@ "description": "Maximum number of results to return", "format": "uint32", "location": "query", - "maximum": "40", - "minimum": "0", "type": "integer" }, "pageToken": { @@ -1099,7 +1135,7 @@ "type": "string" }, "showDeleted": { - "description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.", + "description": "Set to true to return deleted annotations. updatedMin must be in the\nrequest to use this. Defaults to false.", "location": "query", "type": "boolean" }, @@ -1109,12 +1145,12 @@ "type": "string" }, "updatedMax": { - "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).", + "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp\n(exclusive).", "location": "query", "type": "string" }, "updatedMin": { - "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).", + "description": "RFC 3339 timestamp to restrict to items updated since this timestamp\n(inclusive).", "location": "query", "type": "string" }, @@ -1124,7 +1160,7 @@ "type": "string" } }, - "path": "mylibrary/annotations", + "path": "books/v1/mylibrary/annotations", "response": { "$ref": "Annotations" }, @@ -1134,28 +1170,24 @@ }, "summary": { "description": "Gets the summary of specified layers.", + "flatPath": "books/v1/mylibrary/annotations/summary", "httpMethod": "POST", "id": "books.mylibrary.annotations.summary", - "parameterOrder": [ - "layerIds", - "volumeId" - ], + "parameterOrder": [], "parameters": { "layerIds": { "description": "Array of layer IDs to get the summary for.", "location": "query", "repeated": true, - "required": true, "type": "string" }, "volumeId": { "description": "Volume id to get the summary for.", "location": "query", - "required": true, "type": "string" } }, - "path": "mylibrary/annotations/summary", + "path": "books/v1/mylibrary/annotations/summary", "response": { "$ref": "AnnotationsSummary" }, @@ -1165,6 +1197,7 @@ }, "update": { "description": "Updates an existing annotation.", + "flatPath": "books/v1/mylibrary/annotations/{annotationId}", "httpMethod": "PUT", "id": "books.mylibrary.annotations.update", "parameterOrder": [ @@ -1183,7 +1216,7 @@ "type": "string" } }, - "path": "mylibrary/annotations/{annotationId}", + "path": "books/v1/mylibrary/annotations/{annotationId}", "request": { "$ref": "Annotation" }, @@ -1200,25 +1233,21 @@ "methods": { "addVolume": { "description": "Adds a volume to a bookshelf.", + "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/addVolume", "httpMethod": "POST", "id": "books.mylibrary.bookshelves.addVolume", "parameterOrder": [ - "shelf", - "volumeId" + "shelf" ], "parameters": { "reason": { "description": "The reason for which the book is added to the library.", "enum": [ + "REASON_UNDEFINED", "IOS_PREX", "IOS_SEARCH", "ONBOARDING" ], - "enumDescriptions": [ - "Volumes added from the PREX flow on iOS.", - "Volumes added from the Search flow on iOS.", - "Volumes added from the Onboarding flow." - ], "location": "query", "type": "string" }, @@ -1236,17 +1265,20 @@ "volumeId": { "description": "ID of volume to add.", "location": "query", - "required": true, "type": "string" } }, - "path": "mylibrary/bookshelves/{shelf}/addVolume", + "path": "books/v1/mylibrary/bookshelves/{shelf}/addVolume", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "clearVolumes": { "description": "Clears all volumes from a bookshelf.", + "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes", "httpMethod": "POST", "id": "books.mylibrary.bookshelves.clearVolumes", "parameterOrder": [ @@ -1265,13 +1297,17 @@ "type": "string" } }, - "path": "mylibrary/bookshelves/{shelf}/clearVolumes", + "path": "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "get": { - "description": "Retrieves metadata for a specific bookshelf belonging to the authenticated user.", + "description": "Retrieves metadata for a specific bookshelf belonging to the authenticated\nuser.", + "flatPath": "books/v1/mylibrary/bookshelves/{shelf}", "httpMethod": "GET", "id": "books.mylibrary.bookshelves.get", "parameterOrder": [ @@ -1290,7 +1326,7 @@ "type": "string" } }, - "path": "mylibrary/bookshelves/{shelf}", + "path": "books/v1/mylibrary/bookshelves/{shelf}", "response": { "$ref": "Bookshelf" }, @@ -1300,8 +1336,10 @@ }, "list": { "description": "Retrieves a list of bookshelves belonging to the authenticated user.", + "flatPath": "books/v1/mylibrary/bookshelves", "httpMethod": "GET", "id": "books.mylibrary.bookshelves.list", + "parameterOrder": [], "parameters": { "source": { "description": "String to identify the originator of this request.", @@ -1309,7 +1347,7 @@ "type": "string" } }, - "path": "mylibrary/bookshelves", + "path": "books/v1/mylibrary/bookshelves", "response": { "$ref": "Bookshelves" }, @@ -1319,12 +1357,11 @@ }, "moveVolume": { "description": "Moves a volume within a bookshelf.", + "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/moveVolume", "httpMethod": "POST", "id": "books.mylibrary.bookshelves.moveVolume", "parameterOrder": [ - "shelf", - "volumeId", - "volumePosition" + "shelf" ], "parameters": { "shelf": { @@ -1341,39 +1378,38 @@ "volumeId": { "description": "ID of volume to move.", "location": "query", - "required": true, "type": "string" }, "volumePosition": { - "description": "Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.)", + "description": "Position on shelf to move the item (0 puts the item before the current\nfirst item, 1 puts it between the first and the second and so on.)", "format": "int32", "location": "query", - "required": true, "type": "integer" } }, - "path": "mylibrary/bookshelves/{shelf}/moveVolume", + "path": "books/v1/mylibrary/bookshelves/{shelf}/moveVolume", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "removeVolume": { "description": "Removes a volume from a bookshelf.", + "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/removeVolume", "httpMethod": "POST", "id": "books.mylibrary.bookshelves.removeVolume", "parameterOrder": [ - "shelf", - "volumeId" + "shelf" ], "parameters": { "reason": { "description": "The reason for which the book is removed from the library.", "enum": [ + "REASON_UNDEFINED", "ONBOARDING" ], - "enumDescriptions": [ - "Samples removed from the Onboarding flow." - ], "location": "query", "type": "string" }, @@ -1391,11 +1427,13 @@ "volumeId": { "description": "ID of volume to remove.", "location": "query", - "required": true, "type": "string" } }, - "path": "mylibrary/bookshelves/{shelf}/removeVolume", + "path": "books/v1/mylibrary/bookshelves/{shelf}/removeVolume", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] @@ -1406,6 +1444,7 @@ "methods": { "list": { "description": "Gets volume information for volumes on a bookshelf.", + "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/volumes", "httpMethod": "GET", "id": "books.mylibrary.bookshelves.volumes.list", "parameterOrder": [ @@ -1421,18 +1460,14 @@ "description": "Maximum number of results to return", "format": "uint32", "location": "query", - "minimum": "0", "type": "integer" }, "projection": { "description": "Restrict information returned to a set of selected fields.", "enum": [ - "full", - "lite" - ], - "enumDescriptions": [ - "Includes all volume data.", - "Includes a subset of fields in volumeInfo and accessInfo." + "PROJECTION_UNDEFINED", + "FULL", + "LITE" ], "location": "query", "type": "string" @@ -1462,11 +1497,10 @@ "description": "Index of the first element to return (starts at 0)", "format": "uint32", "location": "query", - "minimum": "0", "type": "integer" } }, - "path": "mylibrary/bookshelves/{shelf}/volumes", + "path": "books/v1/mylibrary/bookshelves/{shelf}/volumes", "response": { "$ref": "Volumes" }, @@ -1482,6 +1516,7 @@ "methods": { "get": { "description": "Retrieves my reading position information for a volume.", + "flatPath": "books/v1/mylibrary/readingpositions/{volumeId}", "httpMethod": "GET", "id": "books.mylibrary.readingpositions.get", "parameterOrder": [ @@ -1505,7 +1540,7 @@ "type": "string" } }, - "path": "mylibrary/readingpositions/{volumeId}", + "path": "books/v1/mylibrary/readingpositions/{volumeId}", "response": { "$ref": "ReadingPosition" }, @@ -1515,17 +1550,17 @@ }, "setPosition": { "description": "Sets my reading position information for a volume.", + "flatPath": "books/v1/mylibrary/readingpositions/{volumeId}/setPosition", "httpMethod": "POST", "id": "books.mylibrary.readingpositions.setPosition", "parameterOrder": [ - "volumeId", - "timestamp", - "position" + "volumeId" ], "parameters": { "action": { "description": "Action that caused this reading position to be set.", "enum": [ + "ACTION_UNDEFINED", "bookmark", "chapter", "next-page", @@ -1533,14 +1568,6 @@ "scroll", "search" ], - "enumDescriptions": [ - "User chose bookmark within volume.", - "User selected chapter from list.", - "Next page event.", - "Previous page event.", - "User navigated to page.", - "User chose search results within volume." - ], "location": "query", "type": "string" }, @@ -1557,7 +1584,6 @@ "position": { "description": "Position string for the new volume reading position.", "location": "query", - "required": true, "type": "string" }, "source": { @@ -1568,7 +1594,6 @@ "timestamp": { "description": "RFC 3339 UTC format timestamp associated with this reading position.", "location": "query", - "required": true, "type": "string" }, "volumeId": { @@ -1578,7 +1603,10 @@ "type": "string" } }, - "path": "mylibrary/readingpositions/{volumeId}/setPosition", + "path": "books/v1/mylibrary/readingpositions/{volumeId}/setPosition", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] @@ -1591,21 +1619,19 @@ "methods": { "get": { "description": "Returns notification details for a given notification id.", + "flatPath": "books/v1/notification/get", "httpMethod": "GET", "id": "books.notification.get", - "parameterOrder": [ - "notification_id" - ], + "parameterOrder": [], "parameters": { "locale": { - "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating notification title and body.", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for\ngenerating notification title and body.", "location": "query", "type": "string" }, "notification_id": { "description": "String to identify the notification.", "location": "query", - "required": true, "type": "string" }, "source": { @@ -1614,7 +1640,7 @@ "type": "string" } }, - "path": "notification/get", + "path": "books/v1/notification/get", "response": { "$ref": "Notification" }, @@ -1628,8 +1654,10 @@ "methods": { "listCategories": { "description": "List categories for onboarding experience.", + "flatPath": "books/v1/onboarding/listCategories", "httpMethod": "GET", "id": "books.onboarding.listCategories", + "parameterOrder": [], "parameters": { "locale": { "description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.", @@ -1637,7 +1665,7 @@ "type": "string" } }, - "path": "onboarding/listCategories", + "path": "books/v1/onboarding/listCategories", "response": { "$ref": "Category" }, @@ -1647,8 +1675,10 @@ }, "listCategoryVolumes": { "description": "List available volumes under categories for onboarding experience.", + "flatPath": "books/v1/onboarding/listCategoryVolumes", "httpMethod": "GET", "id": "books.onboarding.listCategoryVolumes", + "parameterOrder": [], "parameters": { "categoryId": { "description": "List of category ids requested.", @@ -1662,15 +1692,12 @@ "type": "string" }, "maxAllowedMaturityRating": { - "description": "The maximum allowed maturity rating of returned volumes. Books with a higher maturity rating are filtered out.", + "description": "The maximum allowed maturity rating of returned volumes. Books with a\nhigher maturity rating are filtered out.", "enum": [ - "mature", + "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", + "MATURE", "not-mature" ], - "enumDescriptions": [ - "Show books which are rated mature or lower.", - "Show books which are rated not mature." - ], "location": "query", "type": "string" }, @@ -1686,7 +1713,7 @@ "type": "string" } }, - "path": "onboarding/listCategoryVolumes", + "path": "books/v1/onboarding/listCategoryVolumes", "response": { "$ref": "Volume2" }, @@ -1700,24 +1727,23 @@ "methods": { "get": { "description": "Returns a stream of personalized book clusters", + "flatPath": "books/v1/personalizedstream/get", "httpMethod": "GET", "id": "books.personalizedstream.get", + "parameterOrder": [], "parameters": { "locale": { - "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for\ngenerating recommendations.", "location": "query", "type": "string" }, "maxAllowedMaturityRating": { - "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", + "description": "The maximum allowed maturity rating of returned recommendations. Books with\na higher maturity rating are filtered out.", "enum": [ - "mature", + "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", + "MATURE", "not-mature" ], - "enumDescriptions": [ - "Show books which are rated mature or lower.", - "Show books which are rated not mature." - ], "location": "query", "type": "string" }, @@ -1727,7 +1753,7 @@ "type": "string" } }, - "path": "personalizedstream/get", + "path": "books/v1/personalizedstream/get", "response": { "$ref": "Discoveryclusters" }, @@ -1740,9 +1766,11 @@ "promooffer": { "methods": { "accept": { - "description": "", + "description": "Accepts the promo offer.", + "flatPath": "books/v1/promooffer/accept", "httpMethod": "POST", "id": "books.promooffer.accept", + "parameterOrder": [], "parameters": { "androidId": { "description": "device android_id", @@ -1784,15 +1812,20 @@ "type": "string" } }, - "path": "promooffer/accept", + "path": "books/v1/promooffer/accept", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "dismiss": { - "description": "", + "description": "Marks the promo offer as dismissed.", + "flatPath": "books/v1/promooffer/dismiss", "httpMethod": "POST", "id": "books.promooffer.dismiss", + "parameterOrder": [], "parameters": { "androidId": { "description": "device android_id", @@ -1830,15 +1863,20 @@ "type": "string" } }, - "path": "promooffer/dismiss", + "path": "books/v1/promooffer/dismiss", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/books" ] }, "get": { "description": "Returns a list of promo offers available to the user", + "flatPath": "books/v1/promooffer/get", "httpMethod": "GET", "id": "books.promooffer.get", + "parameterOrder": [], "parameters": { "androidId": { "description": "device android_id", @@ -1871,7 +1909,7 @@ "type": "string" } }, - "path": "promooffer/get", + "path": "books/v1/promooffer/get", "response": { "$ref": "Offers" }, @@ -1885,21 +1923,19 @@ "methods": { "get": { "description": "Returns Series metadata for the given series ids.", + "flatPath": "books/v1/series/get", "httpMethod": "GET", "id": "books.series.get", - "parameterOrder": [ - "series_id" - ], + "parameterOrder": [], "parameters": { "series_id": { "description": "String that identifies the series", "location": "query", "repeated": true, - "required": true, "type": "string" } }, - "path": "series/get", + "path": "books/v1/series/get", "response": { "$ref": "Series" }, @@ -1913,11 +1949,10 @@ "methods": { "get": { "description": "Returns Series membership data given the series id.", + "flatPath": "books/v1/series/membership/get", "httpMethod": "GET", "id": "books.series.membership.get", - "parameterOrder": [ - "series_id" - ], + "parameterOrder": [], "parameters": { "page_size": { "description": "Number of maximum results per page to be included in the response.", @@ -1933,11 +1968,10 @@ "series_id": { "description": "String that identifies the series", "location": "query", - "required": true, "type": "string" } }, - "path": "series/membership/get", + "path": "books/v1/series/membership/get", "response": { "$ref": "Seriesmembership" }, @@ -1953,6 +1987,7 @@ "methods": { "get": { "description": "Gets volume information for a single volume.", + "flatPath": "books/v1/volumes/{volumeId}", "httpMethod": "GET", "id": "books.volumes.get", "parameterOrder": [ @@ -1977,18 +2012,15 @@ "projection": { "description": "Restrict information returned to a set of selected fields.", "enum": [ - "full", - "lite" - ], - "enumDescriptions": [ - "Includes all volume data.", - "Includes a subset of fields in volumeInfo and accessInfo." + "PROJECTION_UNDEFINED", + "FULL", + "LITE" ], "location": "query", "type": "string" }, "source": { - "description": "String to identify the originator of this request.", + "description": "string to identify the originator of this request.", "location": "query", "type": "string" }, @@ -2003,7 +2035,7 @@ "type": "string" } }, - "path": "volumes/{volumeId}", + "path": "books/v1/volumes/{volumeId}", "response": { "$ref": "Volume" }, @@ -2013,19 +2045,16 @@ }, "list": { "description": "Performs a book search.", + "flatPath": "books/v1/volumes", "httpMethod": "GET", "id": "books.volumes.list", - "parameterOrder": [ - "q" - ], + "parameterOrder": [], "parameters": { "download": { "description": "Restrict to volumes by download availability.", "enum": [ - "epub" - ], - "enumDescriptions": [ - "All volumes with epub." + "DOWNLOAD_UNDEFINED", + "EPUB" ], "location": "query", "type": "string" @@ -2033,19 +2062,13 @@ "filter": { "description": "Filter search results.", "enum": [ + "FILTER_UNDEFINED", "ebooks", "free-ebooks", "full", "paid-ebooks", "partial" ], - "enumDescriptions": [ - "All Google eBooks.", - "Google eBook with full volume text viewability.", - "Public can view entire volume text.", - "Google eBook with a price.", - "Public able to see parts of text." - ], "location": "query", "type": "string" }, @@ -2057,26 +2080,20 @@ "libraryRestrict": { "description": "Restrict search to this user's library.", "enum": [ + "LIBRARY_RESTRICT_UNDEFINED", "my-library", "no-restrict" ], - "enumDescriptions": [ - "Restrict to the user's library, any shelf.", - "Do not restrict based on user's library." - ], "location": "query", "type": "string" }, "maxAllowedMaturityRating": { - "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", + "description": "The maximum allowed maturity rating of returned recommendations. Books with\na higher maturity rating are filtered out.", "enum": [ - "mature", + "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", + "MATURE", "not-mature" ], - "enumDescriptions": [ - "Show books which are rated mature or lower.", - "Show books which are rated not mature." - ], "location": "query", "type": "string" }, @@ -2084,20 +2101,15 @@ "description": "Maximum number of results to return.", "format": "uint32", "location": "query", - "maximum": "40", - "minimum": "0", "type": "integer" }, "orderBy": { "description": "Sort search results.", "enum": [ + "ORDER_BY_UNDEFINED", "newest", "relevance" ], - "enumDescriptions": [ - "Most recently published.", - "Relevance to search terms." - ], "location": "query", "type": "string" }, @@ -2109,14 +2121,10 @@ "printType": { "description": "Restrict to books or magazines.", "enum": [ - "all", - "books", - "magazines" - ], - "enumDescriptions": [ - "All volume content types.", - "Just books.", - "Just magazines." + "PRINT_TYPE_UNDEFINED", + "ALL", + "BOOKS", + "MAGAZINES" ], "location": "query", "type": "string" @@ -2124,12 +2132,9 @@ "projection": { "description": "Restrict information returned to a set of selected fields.", "enum": [ - "full", - "lite" - ], - "enumDescriptions": [ - "Includes all volume data.", - "Includes a subset of fields in volumeInfo and accessInfo." + "PROJECTION_UNDEFINED", + "FULL", + "LITE" ], "location": "query", "type": "string" @@ -2137,7 +2142,6 @@ "q": { "description": "Full-text search query string.", "location": "query", - "required": true, "type": "string" }, "showPreorders": { @@ -2154,11 +2158,10 @@ "description": "Index of the first result to return (starts at 0)", "format": "uint32", "location": "query", - "minimum": "0", "type": "integer" } }, - "path": "volumes", + "path": "books/v1/volumes", "response": { "$ref": "Volumes" }, @@ -2172,6 +2175,7 @@ "methods": { "list": { "description": "Return a list of associated books.", + "flatPath": "books/v1/volumes/{volumeId}/associated", "httpMethod": "GET", "id": "books.volumes.associated.list", "parameterOrder": [ @@ -2181,33 +2185,26 @@ "association": { "description": "Association type.", "enum": [ + "ASSOCIATION_UNDEFINED", "end-of-sample", "end-of-volume", "related-for-play" ], - "enumDescriptions": [ - "Recommendations for display end-of-sample.", - "Recommendations for display end-of-volume.", - "Related volumes for Play Store." - ], "location": "query", "type": "string" }, "locale": { - "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for\ngenerating recommendations.", "location": "query", "type": "string" }, "maxAllowedMaturityRating": { - "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", + "description": "The maximum allowed maturity rating of returned recommendations. Books with\na higher maturity rating are filtered out.", "enum": [ - "mature", + "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", + "MATURE", "not-mature" ], - "enumDescriptions": [ - "Show books which are rated mature or lower.", - "Show books which are rated not mature." - ], "location": "query", "type": "string" }, @@ -2223,7 +2220,7 @@ "type": "string" } }, - "path": "volumes/{volumeId}/associated", + "path": "books/v1/volumes/{volumeId}/associated", "response": { "$ref": "Volumes" }, @@ -2237,12 +2234,15 @@ "methods": { "list": { "description": "Return a list of books in My Library.", + "flatPath": "books/v1/volumes/mybooks", "httpMethod": "GET", "id": "books.volumes.mybooks.list", + "parameterOrder": [], "parameters": { "acquireMethod": { "description": "How the book was acquired", "enum": [ + "ACQUIRE_METHOD_UNDEFINED", "FAMILY_SHARED", "PREORDERED", "PREVIOUSLY_RENTED", @@ -2252,16 +2252,6 @@ "SAMPLE", "UPLOADED" ], - "enumDescriptions": [ - "Books acquired via Family Sharing", - "Preordered books (not yet available)", - "User-rented books past their expiration time", - "Public domain books", - "Purchased books", - "User-rented books", - "Sample books", - "User uploaded books" - ], "location": "query", "repeated": true, "type": "string" @@ -2272,7 +2262,7 @@ "type": "string" }, "locale": { - "description": "ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations.", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for\ngenerating recommendations.", "location": "query", "type": "string" }, @@ -2280,22 +2270,16 @@ "description": "Maximum number of results to return.", "format": "uint32", "location": "query", - "maximum": "100", - "minimum": "0", "type": "integer" }, "processingState": { - "description": "The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod.", + "description": "The processing state of the user uploaded volumes to be returned.\nApplicable only if the UPLOADED is specified in the acquireMethod.", "enum": [ + "PROCESSING_STATE_UNDEFINED", "COMPLETED_FAILED", "COMPLETED_SUCCESS", "RUNNING" ], - "enumDescriptions": [ - "The volume processing hase failed.", - "The volume processing was completed.", - "The volume processing is not completed." - ], "location": "query", "repeated": true, "type": "string" @@ -2309,11 +2293,10 @@ "description": "Index of the first result to return (starts at 0)", "format": "uint32", "location": "query", - "minimum": "0", "type": "integer" } }, - "path": "volumes/mybooks", + "path": "books/v1/volumes/mybooks", "response": { "$ref": "Volumes" }, @@ -2327,24 +2310,23 @@ "methods": { "list": { "description": "Return a list of recommended books for the current user.", + "flatPath": "books/v1/volumes/recommended", "httpMethod": "GET", "id": "books.volumes.recommended.list", + "parameterOrder": [], "parameters": { "locale": { - "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for\ngenerating recommendations.", "location": "query", "type": "string" }, "maxAllowedMaturityRating": { - "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", + "description": "The maximum allowed maturity rating of returned recommendations. Books with\na higher maturity rating are filtered out.", "enum": [ - "mature", + "MAX_ALLOWED_MATURITY_RATING_UNDEFINED", + "MATURE", "not-mature" ], - "enumDescriptions": [ - "Show books which are rated mature or lower.", - "Show books which are rated not mature." - ], "location": "query", "type": "string" }, @@ -2354,7 +2336,7 @@ "type": "string" } }, - "path": "volumes/recommended", + "path": "books/v1/volumes/recommended", "response": { "$ref": "Volumes" }, @@ -2364,30 +2346,24 @@ }, "rate": { "description": "Rate a recommended book for the current user.", + "flatPath": "books/v1/volumes/recommended/rate", "httpMethod": "POST", "id": "books.volumes.recommended.rate", - "parameterOrder": [ - "rating", - "volumeId" - ], + "parameterOrder": [], "parameters": { "locale": { - "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for\ngenerating recommendations.", "location": "query", "type": "string" }, "rating": { "description": "Rating to be given to the volume.", "enum": [ + "RATING_UNDEFINED", "HAVE_IT", "NOT_INTERESTED" ], - "enumDescriptions": [ - "Rating indicating a dismissal due to ownership.", - "Rating indicating a negative dismissal of a volume." - ], "location": "query", - "required": true, "type": "string" }, "source": { @@ -2398,11 +2374,10 @@ "volumeId": { "description": "ID of the source volume.", "location": "query", - "required": true, "type": "string" } }, - "path": "volumes/recommended/rate", + "path": "books/v1/volumes/recommended/rate", "response": { "$ref": "BooksVolumesRecommendedRateResponse" }, @@ -2416,11 +2391,13 @@ "methods": { "list": { "description": "Return a list of books uploaded by the current user.", + "flatPath": "books/v1/volumes/useruploaded", "httpMethod": "GET", "id": "books.volumes.useruploaded.list", + "parameterOrder": [], "parameters": { "locale": { - "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for\ngenerating recommendations.", "location": "query", "type": "string" }, @@ -2428,22 +2405,16 @@ "description": "Maximum number of results to return.", "format": "uint32", "location": "query", - "maximum": "40", - "minimum": "0", "type": "integer" }, "processingState": { "description": "The processing state of the user uploaded volumes to be returned.", "enum": [ + "PROCESSING_STATE_UNDEFINED", "COMPLETED_FAILED", "COMPLETED_SUCCESS", "RUNNING" ], - "enumDescriptions": [ - "The volume processing hase failed.", - "The volume processing was completed.", - "The volume processing is not completed." - ], "location": "query", "repeated": true, "type": "string" @@ -2457,17 +2428,16 @@ "description": "Index of the first result to return (starts at 0)", "format": "uint32", "location": "query", - "minimum": "0", "type": "integer" }, "volumeId": { - "description": "The ids of the volumes to be returned. If not specified all that match the processingState are returned.", + "description": "The ids of the volumes to be returned. If not specified all that match the\nprocessingState are returned.", "location": "query", "repeated": true, "type": "string" } }, - "path": "volumes/useruploaded", + "path": "books/v1/volumes/useruploaded", "response": { "$ref": "Volumes" }, @@ -2480,18 +2450,18 @@ } } }, - "revision": "20200310", + "revision": "20200707", "rootUrl": "https://www.googleapis.com/", "schemas": { "Annotation": { "id": "Annotation", "properties": { "afterSelectedText": { - "description": "Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.", + "description": "Anchor text after excerpt. For requests, if the user bookmarked a screen\nthat has no flowing text on it, then this field should be empty.", "type": "string" }, "beforeSelectedText": { - "description": "Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.", + "description": "Anchor text before excerpt. For requests, if the user bookmarked a screen\nthat has no flowing text on it, then this field should be empty.", "type": "string" }, "clientVersionRanges": { @@ -2522,7 +2492,6 @@ }, "created": { "description": "Timestamp for the created time of this annotation.", - "format": "date-time", "type": "string" }, "currentVersionRanges": { @@ -2568,7 +2537,6 @@ "type": "string" }, "kind": { - "default": "books#annotation", "description": "Resource type.", "type": "string" }, @@ -2579,16 +2547,16 @@ "layerSummary": { "properties": { "allowedCharacterCount": { - "description": "Maximum allowed characters on this layer, especially for the \"copy\" layer.", + "description": "Maximum allowed characters on this layer, especially for the \"copy\"\nlayer.", "format": "int32", "type": "integer" }, "limitType": { - "description": "Type of limitation on this layer. \"limited\" or \"unlimited\" for the \"copy\" layer.", + "description": "Type of limitation on this layer. \"limited\" or \"unlimited\" for the \"copy\"\nlayer.", "type": "string" }, "remainingCharacterCount": { - "description": "Remaining allowed characters on this layer, especially for the \"copy\" layer.", + "description": "Remaining allowed characters on this layer, especially for the \"copy\"\nlayer.", "format": "int32", "type": "integer" } @@ -2612,7 +2580,6 @@ }, "updated": { "description": "Timestamp for the last time this annotation was modified.", - "format": "date-time", "type": "string" }, "volumeId": { @@ -2622,50 +2589,6 @@ }, "type": "object" }, - "Annotationdata": { - "id": "Annotationdata", - "properties": { - "annotationType": { - "description": "The type of annotation this data is for.", - "type": "string" - }, - "data": { - "type": "any" - }, - "encoded_data": { - "description": "Base64 encoded data for this annotation data.", - "format": "byte", - "type": "string" - }, - "id": { - "description": "Unique id for this annotation data.", - "type": "string" - }, - "kind": { - "default": "books#annotationdata", - "description": "Resource Type", - "type": "string" - }, - "layerId": { - "description": "The Layer id for this data. *", - "type": "string" - }, - "selfLink": { - "description": "URL for this resource. *", - "type": "string" - }, - "updated": { - "description": "Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).", - "format": "date-time", - "type": "string" - }, - "volumeId": { - "description": "The volume id for this data. *", - "type": "string" - } - }, - "type": "object" - }, "Annotations": { "id": "Annotations", "properties": { @@ -2677,16 +2600,15 @@ "type": "array" }, "kind": { - "default": "books#annotations", "description": "Resource type.", "type": "string" }, "nextPageToken": { - "description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", + "description": "Token to pass in for pagination for the next page. This will not be present\nif this request does not have more results.", "type": "string" }, "totalItems": { - "description": "Total number of annotations found. This may be greater than the number of notes returned in this response if results have been paginated.", + "description": "Total number of annotations found. This may be greater than the number of\nnotes returned in this response if results have been paginated.", "format": "int32", "type": "integer" } @@ -2697,7 +2619,6 @@ "id": "AnnotationsSummary", "properties": { "kind": { - "default": "books#annotationsSummary", "type": "string" }, "layers": { @@ -2718,7 +2639,6 @@ "type": "integer" }, "updated": { - "format": "date-time", "type": "string" } }, @@ -2735,17 +2655,16 @@ "items": { "description": "A list of Annotation Data.", "items": { - "$ref": "Annotationdata" + "$ref": "GeoAnnotationdata" }, "type": "array" }, "kind": { - "default": "books#annotationsdata", "description": "Resource type", "type": "string" }, "nextPageToken": { - "description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", + "description": "Token to pass in for pagination for the next page. This will not be present\nif this request does not have more results.", "type": "string" }, "totalItems": { @@ -2796,30 +2715,6 @@ }, "type": "object" }, - "BooksSubscriptionReleaseInfo": { - "id": "BooksSubscriptionReleaseInfo", - "properties": { - "amountInMicros": { - "description": "Amount in micros of the specified currency code.", - "format": "int64", - "type": "string" - }, - "currencyCode": { - "description": "Currency code of the amount.", - "type": "string" - }, - "releaseNumber": { - "description": "The release number of this issue/volume/book.", - "type": "string" - }, - "releaseTimestampUs": { - "description": "The release date.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "BooksVolumesRecommendedRateResponse": { "id": "BooksVolumesRecommendedRateResponse", "properties": { @@ -2837,8 +2732,7 @@ "type": "string" }, "created": { - "description": "Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).", - "format": "date-time", + "description": "Created time for this bookshelf (formatted UTC timestamp with millisecond\nresolution).", "type": "string" }, "description": { @@ -2851,7 +2745,6 @@ "type": "integer" }, "kind": { - "default": "books#bookshelf", "description": "Resource type for bookshelf metadata.", "type": "string" }, @@ -2864,8 +2757,7 @@ "type": "string" }, "updated": { - "description": "Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).", - "format": "date-time", + "description": "Last modified time of this bookshelf (formatted UTC timestamp with\nmillisecond resolution).", "type": "string" }, "volumeCount": { @@ -2874,8 +2766,7 @@ "type": "integer" }, "volumesLastUpdated": { - "description": "Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).", - "format": "date-time", + "description": "Last time a volume was added or removed from this bookshelf (formatted UTC\ntimestamp with millisecond resolution).", "type": "string" } }, @@ -2892,7 +2783,6 @@ "type": "array" }, "kind": { - "default": "books#bookshelves", "description": "Resource type.", "type": "string" } @@ -2921,7 +2811,6 @@ "type": "array" }, "kind": { - "default": "onboarding#category", "description": "Resource type.", "type": "string" } @@ -2936,7 +2825,6 @@ "type": "boolean" }, "kind": { - "default": "books#concurrentAccessRestriction", "description": "Resource type.", "type": "string" }, @@ -2966,7 +2854,7 @@ "type": "string" }, "source": { - "description": "Client app identifier for verification. Download access and client-validation only.", + "description": "Client app identifier for verification. Download access and\nclient-validation only.", "type": "string" }, "timeWindowSeconds": { @@ -2981,13 +2869,56 @@ }, "type": "object" }, + "DictionaryAnnotationdata": { + "id": "DictionaryAnnotationdata", + "properties": { + "annotationType": { + "description": "The type of annotation this data is for.", + "type": "string" + }, + "data": { + "$ref": "Dictlayerdata", + "description": "JSON encoded data for this dictionary annotation data.\nEmitted with name 'data' in JSON output. Either this or geo_data will\nbe populated." + }, + "encodedData": { + "description": "Base64 encoded data for this annotation data.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "Unique id for this annotation data.", + "type": "string" + }, + "kind": { + "description": "Resource Type", + "type": "string" + }, + "layerId": { + "description": "The Layer id for this data. *", + "type": "string" + }, + "selfLink": { + "description": "URL for this resource. *", + "type": "string" + }, + "updated": { + "description": "Timestamp for the last time this data was updated. (RFC 3339 UTC date-time\nformat).", + "type": "string" + }, + "volumeId": { + "description": "The volume id for this data. *", + "type": "string" + } + }, + "type": "object" + }, "Dictlayerdata": { "id": "Dictlayerdata", "properties": { "common": { "properties": { "title": { - "description": "The display title and localized canonical name to use when searching for this entity on Google search.", + "description": "The display title and localized canonical name to use when searching for\nthis entity on Google search.", "type": "string" } }, @@ -3155,7 +3086,7 @@ "type": "array" }, "source": { - "description": "The words with different meanings but not related words, e.g. \"go\" (game) and \"go\" (verb).", + "description": "The words with different meanings but not related words, e.g. \"go\"\n(game) and \"go\" (verb).", "properties": { "attribution": { "type": "string" @@ -3175,7 +3106,6 @@ "type": "object" }, "kind": { - "default": "books#dictlayerdata", "type": "string" } }, @@ -3235,7 +3165,6 @@ "type": "array" }, "kind": { - "default": "books#discovery#clusters", "description": "Resorce type.", "type": "string" }, @@ -3254,7 +3183,7 @@ "type": "boolean" }, "downloadsAcquired": { - "description": "If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).", + "description": "If restricted, the number of content download licenses already acquired\n(including the requesting client, if licensed).", "format": "int32", "type": "integer" }, @@ -3263,12 +3192,11 @@ "type": "boolean" }, "kind": { - "default": "books#downloadAccessRestriction", "description": "Resource type.", "type": "string" }, "maxDownloadDevices": { - "description": "If restricted, the maximum number of content download licenses for this volume.", + "description": "If restricted, the maximum number of content download licenses for this\nvolume.", "format": "int32", "type": "integer" }, @@ -3281,7 +3209,7 @@ "type": "string" }, "reasonCode": { - "description": "Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS", + "description": "Error/warning reason code. Additional codes may be added in the future. 0\nOK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200\nWARNING_USED_LAST_ACCESS", "type": "string" }, "restricted": { @@ -3293,7 +3221,7 @@ "type": "string" }, "source": { - "description": "Client app identifier for verification. Download access and client-validation only.", + "description": "Client app identifier for verification. Download access and\nclient-validation only.", "type": "string" }, "volumeId": { @@ -3314,18 +3242,22 @@ "type": "array" }, "kind": { - "default": "books#downloadAccesses", "description": "Resource type.", "type": "string" } }, "type": "object" }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, "FamilyInfo": { "id": "FamilyInfo", "properties": { "kind": { - "default": "books#familyInfo", "description": "Resource type.", "type": "string" }, @@ -3357,6 +3289,49 @@ }, "type": "object" }, + "GeoAnnotationdata": { + "id": "GeoAnnotationdata", + "properties": { + "annotationType": { + "description": "The type of annotation this data is for.", + "type": "string" + }, + "data": { + "$ref": "Geolayerdata", + "description": "JSON encoded data for this geo annotation data.\nEmitted with name 'data' in JSON output. Either this or dict_data will\nbe populated." + }, + "encodedData": { + "description": "Base64 encoded data for this annotation data.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "Unique id for this annotation data.", + "type": "string" + }, + "kind": { + "description": "Resource Type", + "type": "string" + }, + "layerId": { + "description": "The Layer id for this data. *", + "type": "string" + }, + "selfLink": { + "description": "URL for this resource. *", + "type": "string" + }, + "updated": { + "description": "Timestamp for the last time this data was updated. (RFC 3339 UTC date-time\nformat).", + "type": "string" + }, + "volumeId": { + "description": "The volume id for this data. *", + "type": "string" + } + }, + "type": "object" + }, "Geolayerdata": { "id": "Geolayerdata", "properties": { @@ -3379,7 +3354,7 @@ "type": "string" }, "title": { - "description": "The display title and localized canonical name to use when searching for this entity on Google search.", + "description": "The display title and localized canonical name to use when searching for\nthis entity on Google search.", "type": "string" } }, @@ -3388,27 +3363,14 @@ "geo": { "properties": { "boundary": { - "description": "The boundary of the location as a set of loops containing pairs of latitude, longitude coordinates.", + "description": "The boundary of the location as a set of loops containing pairs of\nlatitude, longitude coordinates.", "items": { - "items": { - "properties": { - "latitude": { - "format": "uint32", - "type": "integer" - }, - "longitude": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "type": "array" + "type": "string" }, "type": "array" }, "cachePolicy": { - "description": "The cache policy active for this data. EX: UNRESTRICTED, RESTRICTED, NEVER", + "description": "The cache policy active for this data. EX: UNRESTRICTED, RESTRICTED,\nNEVER", "type": "string" }, "countryCode": { @@ -3426,11 +3388,11 @@ "type": "number" }, "mapType": { - "description": "The type of map that should be used for this location. EX: HYBRID, ROADMAP, SATELLITE, TERRAIN", + "description": "The type of map that should be used for this location. EX: HYBRID,\nROADMAP, SATELLITE, TERRAIN", "type": "string" }, "viewport": { - "description": "The viewport for showing this location. This is a latitude, longitude rectangle.", + "description": "The viewport for showing this location. This is a latitude, longitude\nrectangle.", "properties": { "hi": { "properties": { @@ -3462,7 +3424,7 @@ "type": "object" }, "zoom": { - "description": "The Zoom level to use for the map. Zoom levels between 0 (the lowest zoom level, in which the entire world can be seen on one map) to 21+ (down to individual buildings). See: https://developers.google.com/maps/documentation/staticmaps/#Zoomlevels", + "description": "The Zoom level to use for the map. Zoom levels between 0 (the lowest zoom\nlevel, in which the entire world can be seen on one map) to 21+ (down to\nindividual buildings). See: https:\n//developers.google.com/maps/documentation/staticmaps/#Zoomlevels", "format": "int32", "type": "integer" } @@ -3470,7 +3432,6 @@ "type": "object" }, "kind": { - "default": "books#geolayerdata", "type": "string" } }, @@ -3487,7 +3448,6 @@ "type": "array" }, "kind": { - "default": "books#layersummaries", "description": "Resource type.", "type": "string" }, @@ -3536,7 +3496,6 @@ "type": "string" }, "kind": { - "default": "books#layersummary", "description": "Resource Type", "type": "string" }, @@ -3549,12 +3508,11 @@ "type": "string" }, "updated": { - "description": "Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC date-time format).", - "format": "date-time", + "description": "Timestamp for the last time an item in this layer was updated. (RFC 3339\nUTC date-time format).", "type": "string" }, "volumeAnnotationsVersion": { - "description": "The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.", + "description": "The current version of this layer's volume annotations. Note that this\nversion applies only to the data in the books.layers.volumeAnnotations.*\nresponses. The actual annotation data is versioned separately.", "type": "string" }, "volumeId": { @@ -3594,7 +3552,6 @@ "type": "array" }, "kind": { - "default": "dictionary#metadata", "description": "Resource type.", "type": "string" } @@ -3631,7 +3588,6 @@ "type": "boolean" }, "kind": { - "default": "books#notification", "description": "Resource type.", "type": "string" }, @@ -3711,7 +3667,6 @@ "type": "array" }, "kind": { - "default": "promooffer#offers", "description": "Resource type.", "type": "string" } @@ -3734,7 +3689,6 @@ "type": "string" }, "kind": { - "default": "books#readingPosition", "description": "Resource type for a reading position.", "type": "string" }, @@ -3743,8 +3697,7 @@ "type": "string" }, "updated": { - "description": "Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).", - "format": "date-time", + "description": "Timestamp when this reading position was last updated (formatted UTC\ntimestamp with millisecond resolution).", "type": "string" }, "volumeId": { @@ -3754,8 +3707,8 @@ }, "type": "object" }, - "RequestAccess": { - "id": "RequestAccess", + "RequestAccessData": { + "id": "RequestAccessData", "properties": { "concurrentAccess": { "$ref": "ConcurrentAccessRestriction", @@ -3766,7 +3719,6 @@ "description": "A download access response." }, "kind": { - "default": "books#requestAccess", "description": "Resource type.", "type": "string" } @@ -3799,16 +3751,15 @@ "type": "string" }, "kind": { - "default": "books#review", "description": "Resource type for a review.", "type": "string" }, "rating": { - "description": "Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.", + "description": "Star rating for this review. Possible values are ONE, TWO, THREE, FOUR,\nFIVE or NOT_RATED.", "type": "string" }, "source": { - "description": "Information regarding the source of this review, when the review is not from a Google Books user.", + "description": "Information regarding the source of this review, when the review is not\nfrom a Google Books user.", "properties": { "description": { "description": "Name of the source.", @@ -3830,7 +3781,7 @@ "type": "string" }, "type": { - "description": "Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.", + "description": "Source type for this review. Possible values are EDITORIAL, WEB_USER or\nGOOGLE_USER.", "type": "string" }, "volumeId": { @@ -3844,7 +3795,6 @@ "id": "Series", "properties": { "kind": { - "default": "books#series", "description": "Resource type.", "type": "string" }, @@ -3871,21 +3821,46 @@ }, "seriesSubscriptionReleaseInfo": { "properties": { - "cancellationTimestampUs": { - "description": "Cancellation date of the series subscription (or when it ends).", - "format": "int64", + "cancelTime": { "type": "string" }, "currentReleaseInfo": { - "$ref": "BooksSubscriptionReleaseInfo", - "description": "Release information for the last release." + "properties": { + "amountInMicros": { + "format": "double", + "type": "number" + }, + "currencyCode": { + "type": "string" + }, + "releaseNumber": { + "type": "string" + }, + "releaseTime": { + "type": "string" + } + }, + "type": "object" }, "nextReleaseInfo": { - "$ref": "BooksSubscriptionReleaseInfo", - "description": "Release information for the next release." + "properties": { + "amountInMicros": { + "format": "double", + "type": "number" + }, + "currencyCode": { + "type": "string" + }, + "releaseNumber": { + "type": "string" + }, + "releaseTime": { + "type": "string" + } + }, + "type": "object" }, "seriesSubscriptionType": { - "description": "series subscription type.", "type": "string" } }, @@ -3912,7 +3887,6 @@ "id": "Seriesmembership", "properties": { "kind": { - "default": "books#series#membership", "description": "Resorce type.", "type": "string" }, @@ -3932,7 +3906,6 @@ "id": "Usersettings", "properties": { "kind": { - "default": "books#usersettings", "description": "Resource type.", "type": "string" }, @@ -4000,14 +3973,14 @@ "id": "Volume", "properties": { "accessInfo": { - "description": "Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).", + "description": "Any information about a volume related to reading or obtaining that volume\ntext. This information can depend on country (books may be public domain in\none country but not in another, e.g.).", "properties": { "accessViewStatus": { - "description": "Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)", + "description": "Combines the access and viewability of this volume into a single status\nfield for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN,\nSAMPLE or NONE. (In LITE projection.)", "type": "string" }, "country": { - "description": "The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)", + "description": "The two-letter ISO_3166-1 country code for which this access information\nis valid. (In LITE projection.)", "type": "string" }, "downloadAccess": { @@ -4015,11 +3988,11 @@ "description": "Information about a volume's download license access restrictions." }, "driveImportedContentLink": { - "description": "URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.", + "description": "URL to the Google Drive viewer if this volume is uploaded by the user by\nselecting the file from Google Drive.", "type": "string" }, "embeddable": { - "description": "Whether this volume can be embedded in a viewport using the Embedded Viewer API.", + "description": "Whether this volume can be embedded in a viewport using the Embedded\nViewer API.", "type": "boolean" }, "epub": { @@ -4034,14 +4007,14 @@ "type": "string" }, "isAvailable": { - "description": "Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)", + "description": "Is a flowing text epub available either as public domain or for\npurchase. (In LITE projection.)", "type": "boolean" } }, "type": "object" }, "explicitOfflineLicenseManagement": { - "description": "Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.", + "description": "Whether this volume requires that the client explicitly request offline\ndownload license rather than have it done automatically when loading the\ncontent, if the client supports it.", "type": "boolean" }, "pdf": { @@ -4056,7 +4029,7 @@ "type": "string" }, "isAvailable": { - "description": "Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)", + "description": "Is a scanned image pdf available either as public domain or for\npurchase. (In LITE projection.)", "type": "boolean" } }, @@ -4071,26 +4044,26 @@ "type": "boolean" }, "textToSpeechPermission": { - "description": "Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.", + "description": "Whether text-to-speech is permitted for this volume. Values can be\nALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.", "type": "string" }, "viewOrderUrl": { - "description": "For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.", + "description": "For ordered but not yet processed orders, we give a URL that can be used\nto go to the appropriate Google Wallet page.", "type": "string" }, "viewability": { - "description": "The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.", + "description": "The read access of a volume. Possible values are PARTIAL, ALL_PAGES,\nNO_PAGES or UNKNOWN. This value depends on the country listed above. A\nvalue of PARTIAL means that the publisher has allowed some portion of the\nvolume to be viewed publicly, without purchase. This can apply to eBooks\nas well as non-eBooks. Public domain books will always have a value of\nALL_PAGES.", "type": "string" }, "webReaderLink": { - "description": "URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.", + "description": "URL to read this volume on the Google Books site. Link will not allow\nusers to read non-viewable volumes.", "type": "string" } }, "type": "object" }, "etag": { - "description": "Opaque identifier for a specific version of a volume resource. (In LITE projection)", + "description": "Opaque identifier for a specific version of a volume resource. (In LITE\nprojection)", "type": "string" }, "id": { @@ -4098,7 +4071,6 @@ "type": "string" }, "kind": { - "default": "books#volume", "description": "Resource type for a volume. (In LITE projection.)", "type": "string" }, @@ -4114,7 +4086,7 @@ "type": "string" }, "volumeAnnotationsVersion": { - "description": "The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.", + "description": "The current version of this layer's volume annotations. Note that this\nversion applies only to the data in the\nbooks.layers.volumeAnnotations.* responses. The actual annotation data\nis versioned separately.", "type": "string" } }, @@ -4136,18 +4108,18 @@ "type": "object" }, "saleInfo": { - "description": "Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).", + "description": "Any information about a volume related to the eBookstore and/or\npurchaseability. This information can depend on the country where the\nrequest originates from (i.e. books may not be for sale in certain\ncountries).", "properties": { "buyLink": { - "description": "URL to purchase this volume on the Google Books site. (In LITE projection)", + "description": "URL to purchase this volume on the Google Books site. (In LITE\nprojection)", "type": "string" }, "country": { - "description": "The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)", + "description": "The two-letter ISO_3166-1 country code for which this sale information is\nvalid. (In LITE projection.)", "type": "string" }, "isEbook": { - "description": "Whether or not this volume is an eBook (can be added to the My eBooks shelf).", + "description": "Whether or not this volume is an eBook (can be added to the My eBooks\nshelf).", "type": "boolean" }, "listPrice": { @@ -4224,11 +4196,10 @@ }, "onSaleDate": { "description": "The date on which this book is available for sale.", - "format": "date-time", "type": "string" }, "retailPrice": { - "description": "The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)", + "description": "The actual selling price of the book. This is the same as the suggested\nretail or list price unless there are offers or discounts on this volume.\n(In LITE projection.)", "properties": { "amount": { "description": "Amount in the currency listed below. (In LITE projection.)", @@ -4243,7 +4214,7 @@ "type": "object" }, "saleability": { - "description": "Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.", + "description": "Whether or not this book is available for sale or offered for free in the\nGoogle eBookstore for the country listed above. Possible values are\nFOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or\nFOR_PREORDER.", "type": "string" } }, @@ -4264,11 +4235,10 @@ "type": "string" }, "userInfo": { - "description": "User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)", + "description": "User specific information related to this volume. (e.g. page this user last\nread or whether they purchased this book)", "properties": { "acquiredTime": { - "description": "Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc.", - "format": "date-time", + "description": "Timestamp when this volume was acquired by the user. (RFC 3339 UTC\ndate-time format) Acquiring includes purchase, user upload, receiving\nfamily sharing, etc.", "type": "string" }, "acquisitionType": { @@ -4291,7 +4261,6 @@ "type": "integer" }, "updated": { - "format": "date-time", "type": "string" } }, @@ -4310,11 +4279,11 @@ "type": "string" }, "isSharingAllowed": { - "description": "Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action.", + "description": "Whether or not this volume can be shared with the family by the user.\nThis includes sharing eligibility of both the volume and the user. If\nthe value is true, the user can initiate a family sharing action.", "type": "boolean" }, "isSharingDisabledByFop": { - "description": "Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet.", + "description": "Whether or not sharing this volume is temporarily disabled due to\nissues with the Family Wallet.", "type": "boolean" } }, @@ -4341,11 +4310,11 @@ "type": "boolean" }, "isPreordered": { - "description": "Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)", + "description": "Whether or not this volume was pre-ordered by the authenticated user\nmaking the request. (In LITE projection.)", "type": "boolean" }, "isPurchased": { - "description": "Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)", + "description": "Whether or not this volume was purchased by the authenticated user making\nthe request. (In LITE projection.)", "type": "boolean" }, "isUploaded": { @@ -4354,7 +4323,7 @@ }, "readingPosition": { "$ref": "ReadingPosition", - "description": "The user's current reading position in the volume, if one is available. (In LITE projection.)" + "description": "The user's current reading position in the volume, if one is available.\n(In LITE projection.)" }, "rentalPeriod": { "description": "Period during this book is/was a valid rental.", @@ -4379,8 +4348,7 @@ "description": "This user's review of this volume, if one exists." }, "updated": { - "description": "Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).", - "format": "date-time", + "description": "Timestamp when this volume was last modified by a user action, such as a\nreading position update, volume purchase or writing a review. (RFC 3339\nUTC date-time format).", "type": "string" }, "userUploadedVolumeInfo": { @@ -4402,7 +4370,7 @@ "type": "boolean" }, "authors": { - "description": "The names of the authors and/or editors for this volume. (In LITE projection)", + "description": "The names of the authors and/or editors for this volume. (In LITE\nprojection)", "items": { "type": "string" }, @@ -4429,11 +4397,11 @@ "type": "boolean" }, "contentVersion": { - "description": "An identifier for the version of the volume content (text & images). (In LITE projection)", + "description": "An identifier for the version of the volume content (text & images). (In\nLITE projection)", "type": "string" }, "description": { - "description": "A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)", + "description": "A synopsis of the volume. The text of the description is formatted in\nHTML and includes simple formatting elements, such as b, i, and br tags.\n(In LITE projection.)", "type": "string" }, "dimensions": { @@ -4455,10 +4423,10 @@ "type": "object" }, "imageLinks": { - "description": "A list of image links for all the sizes that are available. (In LITE projection.)", + "description": "A list of image links for all the sizes that are available. (In LITE\nprojection.)", "properties": { "extraLarge": { - "description": "Image link for extra large size (width of ~1280 pixels). (In LITE projection)", + "description": "Image link for extra large size (width of ~1280 pixels). (In LITE\nprojection)", "type": "string" }, "large": { @@ -4474,11 +4442,11 @@ "type": "string" }, "smallThumbnail": { - "description": "Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)", + "description": "Image link for small thumbnail size (width of ~80 pixels). (In LITE\nprojection)", "type": "string" }, "thumbnail": { - "description": "Image link for thumbnail size (width of ~128 pixels). (In LITE projection)", + "description": "Image link for thumbnail size (width of ~128 pixels). (In LITE\nprojection)", "type": "string" } }, @@ -4502,15 +4470,15 @@ "type": "array" }, "infoLink": { - "description": "URL to view information about this volume on the Google Books site. (In LITE projection)", + "description": "URL to view information about this volume on the Google Books site. (In\nLITE projection)", "type": "string" }, "language": { - "description": "Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.", + "description": "Best language for this volume (based on content). It is the two-letter\nISO 639-1 code such as 'fr', 'en', etc.", "type": "string" }, "mainCategory": { - "description": "The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.", + "description": "The main category to which this volume belongs. It will be the category\nfrom the categories list returned below that has the highest weight.", "type": "string" }, "maturityRating": { @@ -4567,7 +4535,15 @@ }, "readingModes": { "description": "The reading modes available for this volume.", - "type": "any" + "properties": { + "image": { + "type": "boolean" + }, + "text": { + "type": "boolean" + } + }, + "type": "object" }, "samplePageCount": { "description": "Total number of sample pages as per publisher metadata.", @@ -4602,7 +4578,6 @@ "type": "array" }, "kind": { - "default": "onboarding#volume", "description": "Resource type.", "type": "string" }, @@ -4662,7 +4637,6 @@ "type": "string" }, "kind": { - "default": "books#volumeannotation", "description": "Resource Type", "type": "string" }, @@ -4686,8 +4660,7 @@ "type": "string" }, "updated": { - "description": "Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).", - "format": "date-time", + "description": "Timestamp for the last time this anntoation was updated. (RFC 3339 UTC\ndate-time format).", "type": "string" }, "volumeId": { @@ -4708,12 +4681,11 @@ "type": "array" }, "kind": { - "default": "books#volumeannotations", "description": "Resource type", "type": "string" }, "nextPageToken": { - "description": "Token to pass in for pagination for the next page. This will not be present if this request does not have more results.", + "description": "Token to pass in for pagination for the next page. This will not be present\nif this request does not have more results.", "type": "string" }, "totalItems": { @@ -4722,7 +4694,7 @@ "type": "integer" }, "version": { - "description": "The version string for all of the volume annotations in this layer (not just the ones in this response). Note: the version string doesn't apply to the annotation data, just the information in this response (e.g. the location of annotations in the book).", + "description": "The version string for all of the volume annotations in this layer (not\njust the ones in this response). Note: the version string\ndoesn't apply to the annotation data, just the information in this response\n(e.g. the location of annotations in the book).", "type": "string" } }, @@ -4739,12 +4711,11 @@ "type": "array" }, "kind": { - "default": "books#volumes", "description": "Resource type.", "type": "string" }, "totalItems": { - "description": "Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.", + "description": "Total number of volumes found. This might be greater than the number of\nvolumes returned in this response if results have been paginated.", "format": "int32", "type": "integer" } @@ -4755,11 +4726,10 @@ "id": "Volumeseriesinfo", "properties": { "bookDisplayNumber": { - "description": "The display number string. This should be used only for display purposes and the actual sequence should be inferred from the below orderNumber.", + "description": "The display number string. This should be used only for display purposes\nand the actual sequence should be inferred from the below orderNumber.", "type": "string" }, "kind": { - "default": "books#volume_series_info", "description": "Resource type.", "type": "string" }, @@ -4792,7 +4762,7 @@ "type": "integer" }, "seriesBookType": { - "description": "The book type in the context of series. Examples - Single Issue, Collection Edition, etc.", + "description": "The book type in the context of series. Examples - Single Issue,\nCollection Edition, etc.", "type": "string" }, "seriesId": { @@ -4808,7 +4778,8 @@ "type": "object" } }, - "servicePath": "books/v1/", + "servicePath": "", "title": "Books API", - "version": "v1" + "version": "v1", + "version_module": true } \ No newline at end of file diff --git a/etc/api/calendar/v3/calendar-api.json b/etc/api/calendar/v3/calendar-api.json index 8e90c296a9..4d2495c50d 100644 --- a/etc/api/calendar/v3/calendar-api.json +++ b/etc/api/calendar/v3/calendar-api.json @@ -26,7 +26,6 @@ "description": "Manipulates events and other calendar data.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/google-apps/calendar/firstapp", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/7Yu8Dg6pIx8hQ9JbwRYcDNjZYUM\"", "icons": { "x16": "http://www.google.com/images/icons/product/calendar-16.png", "x32": "http://www.google.com/images/icons/product/calendar-32.png" @@ -1724,7 +1723,7 @@ } } }, - "revision": "20200405", + "revision": "20200705", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { @@ -1930,7 +1929,7 @@ }, "hidden": { "default": "false", - "description": "Whether the calendar has been hidden from the list. Optional. The default is False.", + "description": "Whether the calendar has been hidden from the list. Optional. The attribute is only returned when the calendar is hidden, in which case the value is true.", "type": "boolean" }, "id": { @@ -2110,7 +2109,7 @@ }, "conferenceSolution": { "$ref": "ConferenceSolution", - "description": "The conference solution, such as Hangouts or Hangouts Meet.\nUnset for a conference with a failed create request.\nEither conferenceSolution and at least one entryPoint, or createRequest is required." + "description": "The conference solution, such as Hangouts or Google Meet.\nUnset for a conference with a failed create request.\nEither conferenceSolution and at least one entryPoint, or createRequest is required." }, "createRequest": { "$ref": "CreateConferenceRequest", @@ -2205,7 +2204,7 @@ "id": "ConferenceSolutionKey", "properties": { "type": { - "description": "The conference solution type.\nIf a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.\nThe possible values are: \n- \"eventHangout\" for Hangouts for consumers (http://hangouts.google.com)\n- \"eventNamedHangout\" for classic Hangouts for G Suite users (http://hangouts.google.com)\n- \"hangoutsMeet\" for Hangouts Meet (http://meet.google.com)\n- \"addOn\" for 3P conference providers", + "description": "The conference solution type.\nIf a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.\nThe possible values are: \n- \"eventHangout\" for Hangouts for consumers (http://hangouts.google.com)\n- \"eventNamedHangout\" for classic Hangouts for G Suite users (http://hangouts.google.com)\n- \"hangoutsMeet\" for Google Meet (http://meet.google.com)\n- \"addOn\" for 3P conference providers", "type": "string" } }, @@ -2216,7 +2215,7 @@ "properties": { "conferenceSolutionKey": { "$ref": "ConferenceSolutionKey", - "description": "The conference solution, such as Hangouts or Hangouts Meet." + "description": "The conference solution, such as Hangouts or Google Meet." }, "requestId": { "description": "The client-generated unique ID for this request.\nClients should regenerate this ID for every new request. If an ID provided is the same as for the previous request, the request is ignored.", @@ -2325,7 +2324,7 @@ }, "conferenceData": { "$ref": "ConferenceData", - "description": "The conference-related information, such as details of a Hangouts Meet conference. To create new conference details use the createRequest field. To persist your changes, remember to set the conferenceDataVersion request parameter to 1 for all event modification requests." + "description": "The conference-related information, such as details of a Google Meet conference. To create new conference details use the createRequest field. To persist your changes, remember to set the conferenceDataVersion request parameter to 1 for all event modification requests." }, "created": { "description": "Creation time of the event (as a RFC3339 timestamp). Read-only.", diff --git a/etc/api/chat/v1/chat-api.json b/etc/api/chat/v1/chat-api.json index 2e7ab8193f..7ed95befc0 100644 --- a/etc/api/chat/v1/chat-api.json +++ b/etc/api/chat/v1/chat-api.json @@ -317,7 +317,7 @@ } } }, - "revision": "20200405", + "revision": "20200701", "rootUrl": "https://chat.googleapis.com/", "schemas": { "ActionParameter": { @@ -963,15 +963,23 @@ "id": "Space", "properties": { "displayName": { - "description": "Output only. The display name (only if the space is a room).", + "description": "Output only. The display name (only if the space is a room).\nPlease note that this field might not be populated in direct messages\nbetween humans.", "type": "string" }, "name": { "description": "Resource name of the space, in the form \"spaces/*\".\n\nExample: spaces/AAAAMpdlehYs", "type": "string" }, + "singleUserBotDm": { + "description": "Whether the space is a DM between a bot and a single human.", + "type": "boolean" + }, + "threaded": { + "description": "Whether the messages are threaded in this space.", + "type": "boolean" + }, "type": { - "description": "Output only. The type of a space.", + "description": "Output only. The type of a space.\nThis is deprecated. Use `single_user_bot_dm` instead.", "enum": [ "TYPE_UNSPECIFIED", "ROOM", @@ -979,7 +987,7 @@ ], "enumDescriptions": [ "", - "A chat space where memberships are free to change. Messages in rooms are\nthreaded.", + "Multi-user spaces such as rooms and DMs between humans.", "1:1 Direct Message between a human and a bot, where all messages are\nflat." ], "type": "string" diff --git a/etc/api/chromeuxreport/v1/chromeuxreport-api.json b/etc/api/chromeuxreport/v1/chromeuxreport-api.json new file mode 100644 index 0000000000..f08e9fc33e --- /dev/null +++ b/etc/api/chromeuxreport/v1/chromeuxreport-api.json @@ -0,0 +1,293 @@ +{ + "basePath": "", + "baseUrl": "https://chromeuxreport.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Chrome UX Report", + "description": "The Chrome UX Report API lets you view real user experience data for millions of websites.\n", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/web/tools/chrome-user-experience-report/api/reference", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "chromeuxreport:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://chromeuxreport.mtls.googleapis.com/", + "name": "chromeuxreport", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "records": { + "methods": { + "queryRecord": { + "description": "Queries the Chrome User Experience for a single `record` for a given site.\n\nReturns a `record` that contains one or more `metrics` corresponding to\nperformance data about the requested site.", + "flatPath": "v1/records:queryRecord", + "httpMethod": "POST", + "id": "chromeuxreport.records.queryRecord", + "parameterOrder": [], + "parameters": {}, + "path": "v1/records:queryRecord", + "request": { + "$ref": "QueryRequest" + }, + "response": { + "$ref": "QueryResponse" + } + } + } + } + }, + "revision": "20200708", + "rootUrl": "https://chromeuxreport.googleapis.com/", + "schemas": { + "Bin": { + "description": "A bin is a discrete portion of data spanning from start to end, or if no\nend is given, then from start to +inf.\n\nA bin's start and end values are given in the value type of the metric it\nrepresents. For example, \"first contentful paint\" is measured in\nmilliseconds and exposed as ints, therefore its metric bins will use int32s\nfor its start and end types. However, \"cumulative layout shift\" is measured\nin unitless decimals and is exposed as a decimal encoded as a string,\ntherefore its metric bins will use strings for its value type.", + "id": "Bin", + "properties": { + "density": { + "description": "The proportion of users that experienced this bin's value for the given\nmetric.", + "format": "double", + "type": "number" + }, + "end": { + "description": "End is the end of the data bin. If end is not populated, then the bin has\nno end and is valid from start to +inf.", + "type": "any" + }, + "start": { + "description": "Start is the beginning of the data bin.", + "type": "any" + } + }, + "type": "object" + }, + "Key": { + "description": "Key defines all the dimensions that identify this record as unique.", + "id": "Key", + "properties": { + "formFactor": { + "description": "The form factor is the device class that all users used to access the\nsite for this record.\n\nIf the form factor is unspecified, then aggregated data over all form\nfactors will be returned.", + "enum": [ + "ALL_FORM_FACTORS", + "PHONE", + "DESKTOP", + "TABLET" + ], + "enumDescriptions": [ + "The default value, representing all device classes.", + "The device class representing a \"mobile\"/\"phone\" sized client.", + "The device class representing a \"desktop\"/\"laptop\" type full size client.", + "The device class representing a \"tablet\" type client." + ], + "type": "string" + }, + "origin": { + "description": "Origin specifies the origin that this record is for.\n\nNote: When specifying an origin, data for loads under this origin over\nall pages are aggregated into origin level user experience data.", + "type": "string" + }, + "url": { + "description": "Url specifies a specific url that this record is for.\n\nNote: When specifying a \"url\" only data for that specific url will be\naggregated.", + "type": "string" + } + }, + "type": "object" + }, + "Metric": { + "description": "A `metric` is a set of user experience data for a single web performance\nmetric, like \"first contentful paint\". It contains a summary histogram of\nreal world Chrome usage as a series of `bins`.", + "id": "Metric", + "properties": { + "histogram": { + "description": "The histogram of user experiences for a metric. The histogram will have at\nleast one bin and the densities of all bins will add up to ~1.", + "items": { + "$ref": "Bin" + }, + "type": "array" + }, + "percentiles": { + "$ref": "Percentiles", + "description": "Common useful percentiles of the Metric. The value type for the\npercentiles will be the same as the value types given for the Histogram\nbins." + } + }, + "type": "object" + }, + "Percentiles": { + "description": "Percentiles contains synthetic values of a metric at a given statistical\npercentile. These are used for estimating a metric's value as experienced\nby a percentage of users out of the total number of users.", + "id": "Percentiles", + "properties": { + "p75": { + "description": "75% of users experienced the given metric at or below this value.", + "type": "any" + } + }, + "type": "object" + }, + "QueryRequest": { + "description": "Request payload sent by a physical web client.\n\nThis request includes all necessary context to load a particular\nuser experience record.", + "id": "QueryRequest", + "properties": { + "formFactor": { + "description": "The form factor is a query dimension that specifies the device class that\nthe record's data should belong to.\n\nNote: If no form factor is specified, then a special record with\naggregated data over all form factors will be returned.", + "enum": [ + "ALL_FORM_FACTORS", + "PHONE", + "DESKTOP", + "TABLET" + ], + "enumDescriptions": [ + "The default value, representing all device classes.", + "The device class representing a \"mobile\"/\"phone\" sized client.", + "The device class representing a \"desktop\"/\"laptop\" type full size client.", + "The device class representing a \"tablet\" type client." + ], + "type": "string" + }, + "metrics": { + "description": "The metrics that should be included in the response.\nIf none are specified then any metrics found will be returned.\n\nAllowed values: [\"first_contentful_paint\",\n\"first_input_delay\", \"largest_contentful_paint\",\n\"cumulative_layout_shift\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "origin": { + "description": "The url pattern \"origin\" refers to a url pattern that is the origin of\na website.\n\nExamples: \"https://example.com\", \"https://cloud.google.com\"", + "type": "string" + }, + "url": { + "description": "The url pattern \"url\" refers to a url pattern that is any arbitrary url.\n\nExamples: \"https://example.com/\",\n \"https://cloud.google.com/why-google-cloud/\"", + "type": "string" + } + }, + "type": "object" + }, + "QueryResponse": { + "description": "Response payload sent back to a physical web client.\n\nThis response contains the record found based on the identiers present in a\n`QueryRequest`. The returned response will have a record, and sometimes\ndetails on normalization actions taken on the request that were necessary to\nmake the request successful.", + "id": "QueryResponse", + "properties": { + "record": { + "$ref": "Record", + "description": "The record that was found." + }, + "urlNormalizationDetails": { + "$ref": "UrlNormalization", + "description": "These are details about automated normalization actions that were taken in\norder to make the requested `url_pattern` valid." + } + }, + "type": "object" + }, + "Record": { + "description": "Record is a single Chrome UX report data record. It contains use experience\nstatistics for a single url pattern and set of dimensions.", + "id": "Record", + "properties": { + "key": { + "$ref": "Key", + "description": "Key defines all of the unique querying parameters needed to look up a user\nexperience record." + }, + "metrics": { + "additionalProperties": { + "$ref": "Metric" + }, + "description": "Metrics is the map of user experience data available for the record defined\nin the key field. Metrics are keyed on the metric name.\n\nAllowed key values: [\"first_contentful_paint\",\n\"first_input_delay\", \"largest_contentful_paint\",\n\"cumulative_layout_shift\"]", + "type": "object" + } + }, + "type": "object" + }, + "UrlNormalization": { + "description": "Object representing the normalization actions taken to normalize a url to\nachieve a higher chance of successful lookup. These are simple automated\nchanges that are taken when looking up the provided `url_patten` would be\nknown to fail. Complex actions like following redirects are not handled.", + "id": "UrlNormalization", + "properties": { + "normalizedUrl": { + "description": "The URL after any normalization actions. This is a valid user experience\nURL that could reasonably be looked up.", + "type": "string" + }, + "originalUrl": { + "description": "The original requested URL prior to any normalization actions.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Chrome UX Report API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/civicinfo/v2/civicinfo-api.json b/etc/api/civicinfo/v2/civicinfo-api.json index 771935fa30..d5b162261c 100644 --- a/etc/api/civicinfo/v2/civicinfo-api.json +++ b/etc/api/civicinfo/v2/civicinfo-api.json @@ -1,34 +1,61 @@ { - "basePath": "/civicinfo/v2/", - "baseUrl": "https://www.googleapis.com/civicinfo/v2/", - "batchPath": "batch/civicinfo/v2", + "basePath": "", + "baseUrl": "https://civicinfo.googleapis.com/", + "batchPath": "batch", "canonicalName": "Civic Info", "description": "Provides polling places, early vote locations, contest data, election officials, and government representatives for U.S. residential addresses.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/civic-information", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/1WnlVFZbiNK3xcDMHn8dwHwgifk\"", + "documentationLink": "https://developers.google.com/civic-information/", "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "civicinfo:v2", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://civicinfo.mtls.googleapis.com/", "name": "civicinfo", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -51,12 +78,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -67,8 +99,10 @@ "methods": { "search": { "description": "Searches for political divisions by their natural name or OCD ID.", + "flatPath": "civicinfo/v2/divisions", "httpMethod": "GET", "id": "civicinfo.divisions.search", + "parameterOrder": [], "parameters": { "query": { "description": "The search query. Queries can cover any parts of a OCD ID or a human readable division name. All words given in the query are treated as required patterns. In addition to that, most query operators of the Apache Lucene library are supported. See http://lucene.apache.org/core/2_9_4/queryparsersyntax.html", @@ -76,10 +110,7 @@ "type": "string" } }, - "path": "divisions", - "request": { - "$ref": "DivisionSearchRequest" - }, + "path": "civicinfo/v2/divisions", "response": { "$ref": "DivisionSearchResponse" } @@ -90,18 +121,19 @@ "methods": { "electionQuery": { "description": "List of available elections to query.", + "flatPath": "civicinfo/v2/elections", "httpMethod": "GET", "id": "civicinfo.elections.electionQuery", - "path": "elections", - "request": { - "$ref": "ElectionsQueryRequest" - }, + "parameterOrder": [], + "parameters": {}, + "path": "civicinfo/v2/elections", "response": { "$ref": "ElectionsQueryResponse" } }, "voterInfoQuery": { "description": "Looks up information relevant to a voter based on the voter's registered address.", + "flatPath": "civicinfo/v2/voterinfo", "httpMethod": "GET", "id": "civicinfo.elections.voterInfoQuery", "parameterOrder": [ @@ -116,7 +148,7 @@ }, "electionId": { "default": "0", - "description": "The unique ID of the election to look up. A list of election IDs can be obtained at https://www.googleapis.com/civicinfo/{version}/electionsIf no election ID is specified in the query and there is more than one election with data for the given voter, the additional elections are provided in the otherElections response field.", + "description": "The unique ID of the election to look up. A list of election IDs can be obtained at https://www.googleapis.com/civicinfo/{version}/elections. If no election ID is specified in the query and there is more than one election with data for the given voter, the additional elections are provided in the otherElections response field.", "format": "int64", "location": "query", "type": "string" @@ -129,15 +161,12 @@ }, "returnAllAvailableData": { "default": "false", - "description": "If set to true, the query will return the success codeand include any partial information when it is unable to determine a matching address or unable to determine the election for electionId=0 queries.", + "description": "If set to true, the query will return the success code and include any partial information when it is unable to determine a matching address or unable to determine the election for electionId=0 queries.", "location": "query", "type": "boolean" } }, - "path": "voterinfo", - "request": { - "$ref": "VoterInfoRequest" - }, + "path": "civicinfo/v2/voterinfo", "response": { "$ref": "VoterInfoResponse" } @@ -148,11 +177,13 @@ "methods": { "representativeInfoByAddress": { "description": "Looks up political geography and representative information for a single address.", + "flatPath": "civicinfo/v2/representatives", "httpMethod": "GET", "id": "civicinfo.representatives.representativeInfoByAddress", + "parameterOrder": [], "parameters": { "address": { - "description": "The address to look up. May only be specified if the field ocdId is not given in the URL.", + "description": "The address to look up. May only be specified if the field ocdId is not given in the URL", "location": "query", "type": "string" }, @@ -165,26 +196,15 @@ "levels": { "description": "A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don't contain a matching office will not be returned.", "enum": [ - "administrativeArea1", - "administrativeArea2", - "country", "international", - "locality", + "country", + "administrativeArea1", "regional", - "special", + "administrativeArea2", + "locality", "subLocality1", - "subLocality2" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" + "subLocality2", + "special" ], "location": "query", "repeated": true, @@ -193,46 +213,31 @@ "roles": { "description": "A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don't contain a matching office will not be returned.", "enum": [ - "deputyHeadOfGovernment", - "executiveCouncil", - "governmentOfficer", - "headOfGovernment", "headOfState", + "headOfGovernment", + "deputyHeadOfGovernment", + "governmentOfficer", + "executiveCouncil", + "legislatorUpperBody", + "legislatorLowerBody", "highestCourtJudge", "judge", - "legislatorLowerBody", - "legislatorUpperBody", "schoolBoard", "specialPurposeOfficer" ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], "location": "query", "repeated": true, "type": "string" } }, - "path": "representatives", - "request": { - "$ref": "RepresentativeInfoRequest" - }, + "path": "civicinfo/v2/representatives", "response": { "$ref": "RepresentativeInfoResponse" } }, "representativeInfoByDivision": { "description": "Looks up representative information for a single geographic division.", + "flatPath": "civicinfo/v2/representatives/{ocdId}", "httpMethod": "GET", "id": "civicinfo.representatives.representativeInfoByDivision", "parameterOrder": [ @@ -242,26 +247,15 @@ "levels": { "description": "A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don't contain a matching office will not be returned.", "enum": [ - "administrativeArea1", - "administrativeArea2", - "country", "international", - "locality", + "country", + "administrativeArea1", "regional", - "special", + "administrativeArea2", + "locality", "subLocality1", - "subLocality2" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" + "subLocality2", + "special" ], "location": "query", "repeated": true, @@ -281,40 +275,24 @@ "roles": { "description": "A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don't contain a matching office will not be returned.", "enum": [ - "deputyHeadOfGovernment", - "executiveCouncil", - "governmentOfficer", - "headOfGovernment", "headOfState", + "headOfGovernment", + "deputyHeadOfGovernment", + "governmentOfficer", + "executiveCouncil", + "legislatorUpperBody", + "legislatorLowerBody", "highestCourtJudge", "judge", - "legislatorLowerBody", - "legislatorUpperBody", "schoolBoard", "specialPurposeOfficer" ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], "location": "query", "repeated": true, "type": "string" } }, - "path": "representatives/{ocdId}", - "request": { - "$ref": "DivisionRepresentativeInfoRequest" - }, + "path": "civicinfo/v2/representatives/{ocdId}", "response": { "$ref": "RepresentativeInfoData" } @@ -322,8 +300,8 @@ } } }, - "revision": "20191030", - "rootUrl": "https://www.googleapis.com/", + "revision": "20200706", + "rootUrl": "https://civicinfo.googleapis.com/", "schemas": { "AdministrationRegion": { "description": "Describes information about a regional election administrative area.", @@ -363,12 +341,6 @@ "description": "A URL provided by this administrative body for information on absentee voting.", "type": "string" }, - "addressLines": { - "items": { - "type": "string" - }, - "type": "array" - }, "ballotInfoUrl": { "description": "A URL provided by this administrative body to give contest information to the voter.", "type": "string" @@ -518,7 +490,29 @@ }, "level": { "description": "The levels of government of the office for this contest. There may be more than one in cases where a jurisdiction effectively acts at two different levels of government; for example, the mayor of the District of Columbia acts at \"locality\" level, but also effectively at both \"administrative-area-2\" and \"administrative-area-1\".", + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "items": { + "enum": [ + "international", + "country", + "administrativeArea1", + "regional", + "administrativeArea2", + "locality", + "subLocality1", + "subLocality2", + "special" + ], "type": "string" }, "type": "array" @@ -537,8 +531,15 @@ "description": "The name of the office for this contest.", "type": "string" }, + "primaryParties": { + "description": "If this is a partisan election, the name of the party/parties it is for.", + "items": { + "type": "string" + }, + "type": "array" + }, "primaryParty": { - "description": "If this is a partisan election, the name of the party it is for.", + "description": "[DEPRECATED] If this is a partisan election, the name of the party it is for. This field as deprecated in favor of the array \"primaryParties\", as contests may contain more than one party.", "type": "string" }, "referendumBallotResponses": { @@ -586,7 +587,33 @@ }, "roles": { "description": "The roles which this office fulfills.", + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "items": { + "enum": [ + "headOfState", + "headOfGovernment", + "deputyHeadOfGovernment", + "governmentOfficer", + "executiveCouncil", + "legislatorUpperBody", + "legislatorLowerBody", + "highestCourtJudge", + "judge", + "schoolBoard", + "specialPurposeOfficer" + ], "type": "string" }, "type": "array" @@ -609,35 +636,6 @@ }, "type": "object" }, - "ContextParams": { - "id": "ContextParams", - "properties": { - "clientProfile": { - "type": "string" - } - }, - "type": "object" - }, - "DivisionRepresentativeInfoRequest": { - "description": "A request to look up representative information for a single division.", - "id": "DivisionRepresentativeInfoRequest", - "properties": { - "contextParams": { - "$ref": "ContextParams" - } - }, - "type": "object" - }, - "DivisionSearchRequest": { - "description": "A search request for political geographies.", - "id": "DivisionSearchRequest", - "properties": { - "contextParams": { - "$ref": "ContextParams" - } - }, - "type": "object" - }, "DivisionSearchResponse": { "description": "The result of a division search query.", "id": "DivisionSearchResponse", @@ -672,7 +670,7 @@ "type": "string" }, "ocdId": { - "description": "The unique Open Civic Data identifier for this division.", + "description": "The unique Open Civic Data identifier for this division", "type": "string" } }, @@ -729,15 +727,6 @@ }, "type": "object" }, - "ElectionsQueryRequest": { - "id": "ElectionsQueryRequest", - "properties": { - "contextParams": { - "$ref": "ContextParams" - } - }, - "type": "object" - }, "ElectionsQueryResponse": { "description": "The list of elections available for this version of the API.", "id": "ElectionsQueryResponse", @@ -765,35 +754,55 @@ "description": "An identifier for this district, relative to its scope. For example, the 34th State Senate district would have id \"34\" and a scope of stateUpper.", "type": "string" }, - "kgForeignKey": { - "type": "string" - }, "name": { "description": "The name of the district.", "type": "string" }, "scope": { "description": "The geographic scope of this district. If unspecified the district's geography is not known. One of: national, statewide, congressional, stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, township, countyCouncil, cityCouncil, ward, special", + "enum": [ + "statewide", + "congressional", + "stateUpper", + "stateLower", + "countywide", + "judicial", + "schoolBoard", + "citywide", + "special", + "countyCouncil", + "township", + "ward", + "cityCouncil", + "national" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "type": "string" } }, "type": "object" }, - "FieldMetadataProto": { - "id": "FieldMetadataProto", - "properties": { - "internal": { - "$ref": "InternalFieldMetadataProto" - } - }, - "type": "object" - }, "GeographicDivision": { "description": "Describes a political geography.", "id": "GeographicDivision", "properties": { "alsoKnownAs": { - "description": "Any other valid OCD IDs that refer to the same division.\n\nBecause OCD IDs are meant to be human-readable and at least somewhat predictable, there are occasionally several identifiers for a single division. These identifiers are defined to be equivalent to one another, and one is always indicated as the primary identifier. The primary identifier will be returned in ocd_id above, and any other equivalent valid identifiers will be returned in this list.\n\nFor example, if this division's OCD ID is ocd-division/country:us/district:dc, this will contain ocd-division/country:us/state:dc.", + "description": "Any other valid OCD IDs that refer to the same division.\\n\\nBecause OCD IDs are meant to be human-readable and at least somewhat predictable, there are occasionally several identifiers for a single division. These identifiers are defined to be equivalent to one another, and one is always indicated as the primary identifier. The primary identifier will be returned in ocd_id above, and any other equivalent valid identifiers will be returned in this list.\\n\\nFor example, if this division's OCD ID is ocd-division/country:us/district:dc, this will contain ocd-division/country:us/state:dc.", "items": { "type": "string" }, @@ -814,30 +823,6 @@ }, "type": "object" }, - "InternalFieldMetadataProto": { - "id": "InternalFieldMetadataProto", - "properties": { - "isAuto": { - "type": "boolean" - }, - "sourceSummary": { - "$ref": "InternalSourceSummaryProto" - } - }, - "type": "object" - }, - "InternalSourceSummaryProto": { - "id": "InternalSourceSummaryProto", - "properties": { - "dataset": { - "type": "string" - }, - "provider": { - "type": "string" - } - }, - "type": "object" - }, "Office": { "description": "Information about an Office held by one or more Officials.", "id": "Office", @@ -848,7 +833,29 @@ }, "levels": { "description": "The levels of government of which this office is part. There may be more than one in cases where a jurisdiction effectively acts at two different levels of government; for example, the mayor of the District of Columbia acts at \"locality\" level, but also effectively at both \"administrative-area-2\" and \"administrative-area-1\".", + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "items": { + "enum": [ + "international", + "country", + "administrativeArea1", + "regional", + "administrativeArea2", + "locality", + "subLocality1", + "subLocality2", + "special" + ], "type": "string" }, "type": "array" @@ -867,7 +874,33 @@ }, "roles": { "description": "The roles which this office fulfills. Roles are not meant to be exhaustive, or to exactly specify the entire set of responsibilities of a given office, but are meant to be rough categories that are useful for general selection from or sorting of a list of offices.", + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "items": { + "enum": [ + "headOfState", + "headOfGovernment", + "deputyHeadOfGovernment", + "governmentOfficer", + "executiveCouncil", + "legislatorUpperBody", + "legislatorLowerBody", + "highestCourtJudge", + "judge", + "schoolBoard", + "specialPurposeOfficer" + ], "type": "string" }, "type": "array" @@ -936,23 +969,6 @@ }, "type": "object" }, - "PointProto": { - "id": "PointProto", - "properties": { - "latE7": { - "format": "uint32", - "type": "integer" - }, - "lngE7": { - "format": "uint32", - "type": "integer" - }, - "metadata": { - "$ref": "FieldMetadataProto" - } - }, - "type": "object" - }, "PollingLocation": { "description": "A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.", "id": "PollingLocation", @@ -1009,124 +1025,14 @@ }, "type": "object" }, - "PostalAddress": { - "id": "PostalAddress", - "properties": { - "addressLines": { - "items": { - "type": "string" - }, - "type": "array" - }, - "administrativeAreaName": { - "type": "string" - }, - "countryName": { - "type": "string" - }, - "countryNameCode": { - "type": "string" - }, - "dependentLocalityName": { - "type": "string" - }, - "dependentThoroughfareName": { - "type": "string" - }, - "firmName": { - "type": "string" - }, - "isDisputed": { - "type": "boolean" - }, - "languageCode": { - "type": "string" - }, - "localityName": { - "type": "string" - }, - "postBoxNumber": { - "type": "string" - }, - "postalCodeNumber": { - "type": "string" - }, - "postalCodeNumberExtension": { - "type": "string" - }, - "premiseName": { - "type": "string" - }, - "recipientName": { - "type": "string" - }, - "sortingCode": { - "type": "string" - }, - "subAdministrativeAreaName": { - "type": "string" - }, - "subPremiseName": { - "type": "string" - }, - "thoroughfareName": { - "type": "string" - }, - "thoroughfareNumber": { - "type": "string" - } - }, - "type": "object" - }, - "Provenance": { - "id": "Provenance", - "properties": { - "collidedSegmentSource": { - "$ref": "StreetSegmentList" - }, - "ctclContestUuid": { - "type": "string" - }, - "ctclOfficeUuid": { - "type": "string" - }, - "datasetId": { - "format": "int64", - "type": "string" - }, - "precinctId": { - "format": "int64", - "type": "string" - }, - "precinctSplitId": { - "format": "int64", - "type": "string" - }, - "tsStreetSegmentId": { - "type": "string" - }, - "vip5PrecinctId": { - "type": "string" - }, - "vip5StreetSegmentId": { - "type": "string" - }, - "vipStreetSegmentId": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "RepresentativeInfoData": { "id": "RepresentativeInfoData", "properties": { "divisions": { "additionalProperties": { - "$ref": "GeographicDivision", - "description": "The unique Open Civic Data identifier for this division." + "$ref": "GeographicDivision" }, - "description": "Political geographic divisions that contain the requested address.", + "description": "A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division.", "type": "object" }, "offices": { @@ -1146,26 +1052,15 @@ }, "type": "object" }, - "RepresentativeInfoRequest": { - "description": "A request for political geography and representative information for an address.", - "id": "RepresentativeInfoRequest", - "properties": { - "contextParams": { - "$ref": "ContextParams" - } - }, - "type": "object" - }, "RepresentativeInfoResponse": { "description": "The result of a representative info lookup query.", "id": "RepresentativeInfoResponse", "properties": { "divisions": { "additionalProperties": { - "$ref": "GeographicDivision", - "description": "The unique Open Civic Data identifier for this division." + "$ref": "GeographicDivision" }, - "description": "Political geographic divisions that contain the requested address.", + "description": "A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division.", "type": "object" }, "kind": { @@ -1244,202 +1139,6 @@ }, "type": "object" }, - "StreetSegment": { - "id": "StreetSegment", - "properties": { - "administrationRegionIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "beforeGeocodeId": { - "type": "string" - }, - "catalistUniquePrecinctCode": { - "type": "string" - }, - "city": { - "type": "string" - }, - "cityCouncilDistrict": { - "type": "string" - }, - "congressionalDistrict": { - "type": "string" - }, - "contestIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "countyCouncilDistrict": { - "type": "string" - }, - "countyFips": { - "type": "string" - }, - "datasetId": { - "format": "int64", - "type": "string" - }, - "earlyVoteSiteByIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "endHouseNumber": { - "format": "int64", - "type": "string" - }, - "geocodedPoint": { - "$ref": "PointProto" - }, - "geographicDivisionOcdIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "type": "string" - }, - "judicialDistrict": { - "type": "string" - }, - "mailOnly": { - "type": "boolean" - }, - "municipalDistrict": { - "type": "string" - }, - "ncoaAddress": { - "type": "string" - }, - "oddOrEvens": { - "items": { - "type": "string" - }, - "type": "array" - }, - "originalId": { - "type": "string" - }, - "pollinglocationByIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "precinctName": { - "type": "string" - }, - "precinctOcdId": { - "type": "string" - }, - "provenances": { - "items": { - "$ref": "Provenance" - }, - "type": "array" - }, - "published": { - "type": "boolean" - }, - "schoolDistrict": { - "type": "string" - }, - "startHouseNumber": { - "format": "int64", - "type": "string" - }, - "startLatE7": { - "format": "int32", - "type": "integer" - }, - "startLngE7": { - "format": "int32", - "type": "integer" - }, - "state": { - "type": "string" - }, - "stateHouseDistrict": { - "type": "string" - }, - "stateSenateDistrict": { - "type": "string" - }, - "streetName": { - "type": "string" - }, - "subAdministrativeAreaName": { - "type": "string" - }, - "surrogateId": { - "format": "int64", - "type": "string" - }, - "targetsmartUniquePrecinctCode": { - "type": "string" - }, - "townshipDistrict": { - "type": "string" - }, - "unitNumber": { - "type": "string" - }, - "unitType": { - "type": "string" - }, - "vanPrecinctCode": { - "type": "string" - }, - "voterGeographicDivisionOcdIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "wardDistrict": { - "type": "string" - }, - "wildcard": { - "type": "boolean" - }, - "zip": { - "type": "string" - } - }, - "type": "object" - }, - "StreetSegmentList": { - "id": "StreetSegmentList", - "properties": { - "segments": { - "items": { - "$ref": "StreetSegment" - }, - "type": "array" - } - }, - "type": "object" - }, - "VoterInfoRequest": { - "description": "A request for information about a voter.", - "id": "VoterInfoRequest", - "properties": { - "contextParams": { - "$ref": "ContextParams" - }, - "voterInfoSegmentResult": { - "$ref": "VoterInfoSegmentResult" - } - }, - "type": "object" - }, "VoterInfoResponse": { "description": "The result of a voter info lookup query.", "id": "VoterInfoResponse", @@ -1499,12 +1198,6 @@ "precinctId": { "type": "string" }, - "segments": { - "items": { - "$ref": "StreetSegment" - }, - "type": "array" - }, "state": { "description": "Local Election Information for the state that the voter votes in. For the US, there will only be one element in this array.", "items": { @@ -1514,28 +1207,10 @@ } }, "type": "object" - }, - "VoterInfoSegmentResult": { - "id": "VoterInfoSegmentResult", - "properties": { - "generatedMillis": { - "format": "int64", - "type": "string" - }, - "postalAddress": { - "$ref": "PostalAddress" - }, - "request": { - "$ref": "VoterInfoRequest" - }, - "response": { - "$ref": "VoterInfoResponse" - } - }, - "type": "object" } }, - "servicePath": "civicinfo/v2/", + "servicePath": "", "title": "Google Civic Information API", - "version": "v2" + "version": "v2", + "version_module": true } \ No newline at end of file diff --git a/etc/api/classroom/v1/classroom-api.json b/etc/api/classroom/v1/classroom-api.json index 9382a41245..528311d7a8 100644 --- a/etc/api/classroom/v1/classroom-api.json +++ b/etc/api/classroom/v1/classroom-api.json @@ -1343,7 +1343,7 @@ "type": "string" }, "pageSize": { - "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.", + "description": "Maximum number of items to return. The default is 30 if unspecified or `0`.\n\nThe server may return fewer than the specified number of results.", "format": "int32", "location": "query", "type": "integer" @@ -1479,7 +1479,7 @@ "type": "string" }, "pageSize": { - "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.", + "description": "Maximum number of items to return. The default is 30 if unspecified or `0`.\n\nThe server may return fewer than the specified number of results.", "format": "int32", "location": "query", "type": "integer" @@ -1781,7 +1781,7 @@ "type": "string" }, "pageSize": { - "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.", + "description": "Maximum number of items to return. The default is 500 if unspecified or\n`0`.\n\nThe server may return fewer than the specified number of results.", "format": "int32", "location": "query", "type": "integer" @@ -2153,7 +2153,7 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://classroom.googleapis.com/", "schemas": { "Announcement": { diff --git a/etc/api/cloudasset/v1/cloudasset-api.json b/etc/api/cloudasset/v1/cloudasset-api.json index 37c1d5fe58..0a6833e098 100644 --- a/etc/api/cloudasset/v1/cloudasset-api.json +++ b/etc/api/cloudasset/v1/cloudasset-api.json @@ -272,7 +272,7 @@ "v1": { "methods": { "batchGetAssetsHistory": { - "description": "Batch gets the update history of assets that overlap a time window.\nFor RESOURCE content, this API outputs history with asset in both\nnon-delete or deleted status.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.", + "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.", "flatPath": "v1/{v1Id}/{v1Id1}:batchGetAssetsHistory", "httpMethod": "GET", "id": "cloudasset.batchGetAssetsHistory", @@ -281,7 +281,7 @@ ], "parameters": { "assetNames": { - "description": "A list of the full names of the assets. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nand [Resource Name\nFormat](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nfor more info.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.", + "description": "A list of the full names of the assets.\nSee: https://cloud.google.com/asset-inventory/docs/resource-name-format\nExample:\n\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.", "location": "query", "repeated": true, "type": "string" @@ -327,7 +327,7 @@ ] }, "exportAssets": { - "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export.", + "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation/BigQuery table. For Cloud Storage location destinations, the\noutput format is newline-delimited JSON. Each line represents a\ngoogle.cloud.asset.v1.Asset in the JSON format; for BigQuery table\ndestinations, the output table stores the fields in asset proto as columns.\nThis API implements the google.longrunning.Operation API\n, which allows you to keep track of the export. We recommend intervals of\nat least 2 seconds with exponential retry to poll the export operation\nresult. For regular-size resource parent, the export operation usually\nfinishes within 5 minutes.", "flatPath": "v1/{v1Id}/{v1Id1}:exportAssets", "httpMethod": "POST", "id": "cloudasset.exportAssets", @@ -357,28 +357,30 @@ } } }, - "revision": "20200403", + "revision": "20200613", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "Asset": { - "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud\n[resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\na resource outside the Google Cloud resource hierarchy (such as Google\nKubernetes Engine clusters and objects), or a Cloud IAM policy.", + "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud\n[resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\na resource outside the Google Cloud resource hierarchy (such as Google\nKubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.", "id": "Asset", "properties": { "accessLevel": { - "$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel" + "$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel", + "description": "Please also refer to the [access level user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)." }, "accessPolicy": { - "$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy" + "$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", + "description": "Please also refer to the [access policy user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)." }, "ancestors": { - "description": "The ancestry path of an asset in Google Cloud [resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\nrepresented as a list of relative resource names. An ancestry path starts\nwith the closest ancestor in the hierarchy and ends at root. If the asset\nis a project, folder, or organization, the ancestry path starts from the\nasset itself.\n\nFor example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", + "description": "The ancestry path of an asset in Google Cloud [resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\nrepresented as a list of relative resource names. An ancestry path starts\nwith the closest ancestor in the hierarchy and ends at root. If the asset\nis a project, folder, or organization, the ancestry path starts from the\nasset itself.\n\nExample: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", "items": { "type": "string" }, "type": "array" }, "assetType": { - "description": "The type of the asset. For example: \"compute.googleapis.com/Disk\"\n\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.", + "description": "The type of the asset. Example: `compute.googleapis.com/Disk`\n\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.", "type": "string" }, "iamPolicy": { @@ -386,7 +388,7 @@ "description": "A representation of the Cloud IAM policy set on a Google Cloud resource.\nThere can be a maximum of one Cloud IAM policy set on any given resource.\nIn addition, Cloud IAM policies inherit their granted access scope from any\npolicies set on parent resources in the resource hierarchy. Therefore, the\neffectively policy is the union of both the policy set on this resource\nand each policy set on all of the resource's ancestry resource levels in\nthe hierarchy. See\n[this topic](https://cloud.google.com/iam/docs/policies#inheritance) for\nmore information." }, "name": { - "description": "The full name of the asset. For example:\n\"//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1\"\n\nSee [Resource\nnames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.", + "description": "The full name of the asset. Example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`\n\nSee [Resource\nnames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.", "type": "string" }, "orgPolicy": { @@ -401,13 +403,19 @@ "description": "A representation of the resource." }, "servicePerimeter": { - "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter" + "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", + "description": "Please also refer to the [service perimeter user\nguide](https://cloud.google.com/vpc-service-controls/docs/overview)." + }, + "updateTime": { + "description": "The last update timestamp of an asset. update_time is updated when\ncreate/update/delete operation is performed.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -425,7 +433,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -469,7 +477,7 @@ "type": "object" }, "BigQueryDestination": { - "description": "A BigQuery destination.", + "description": "A BigQuery destination for exporting assets to.", "id": "BigQueryDestination", "properties": { "dataset": { @@ -493,7 +501,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -535,7 +543,7 @@ "id": "ExportAssetsRequest", "properties": { "assetTypes": { - "description": "A list of asset types of which to take a snapshot for. For example:\n\"compute.googleapis.com/Disk\". If specified, only matching assets will be\nreturned. See [Introduction to Cloud Asset\nInventory](https://cloud.google.com/asset-inventory/docs/overview)\nfor all supported asset types.", + "description": "A list of asset types of which to take a snapshot for. Example:\n\"compute.googleapis.com/Disk\". If specified, only matching assets will be\nreturned. See [Introduction to Cloud Asset\nInventory](https://cloud.google.com/asset-inventory/docs/overview)\nfor all supported asset types.", "items": { "type": "string" }, @@ -561,7 +569,7 @@ }, "outputConfig": { "$ref": "OutputConfig", - "description": "Required. Output configuration indicating where the results will be output\nto. All results will be in newline delimited JSON format." + "description": "Required. Output configuration indicating where the results will be output to." }, "readTime": { "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp\nbetween the current time and the current time minus 35 days (inclusive).\nIf not specified, the current time will be used. Due to delays in resource\ndata collection and indexing, there is a volatile window during which\nrunning the same query may get different results.", @@ -599,14 +607,14 @@ "id": "Feed", "properties": { "assetNames": { - "description": "A list of the full names of the assets to receive updates. You must specify\neither or both of asset_names and asset_types. Only asset updates matching\nspecified asset_names and asset_types are exported to the feed. For\nexample:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more info.", + "description": "A list of the full names of the assets to receive updates. You must specify\neither or both of asset_names and asset_types. Only asset updates matching\nspecified asset_names or asset_types are exported to the feed.\nExample:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more info.", "items": { "type": "string" }, "type": "array" }, "assetTypes": { - "description": "A list of types of the assets to receive updates. You must specify either\nor both of asset_names and asset_types. Only asset updates matching\nspecified asset_names and asset_types are exported to the feed.\nFor example: `\"compute.googleapis.com/Disk\"`\n\nSee [this\ntopic](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor a list of all supported asset types.", + "description": "A list of types of the assets to receive updates. You must specify either\nor both of asset_names and asset_types. Only asset updates matching\nspecified asset_names or asset_types are exported to the feed.\nExample: `\"compute.googleapis.com/Disk\"`\n\nSee [this\ntopic](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor a list of all supported asset types.", "items": { "type": "string" }, @@ -657,11 +665,11 @@ "id": "GcsDestination", "properties": { "uri": { - "description": "The uri of the Cloud Storage object. It's the same uri that is used by\ngsutil. For example: \"gs://bucket_name/object_name\". See [Viewing and\nEditing Object\nMetadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)\nfor more information.", + "description": "The uri of the Cloud Storage object. It's the same uri that is used by\ngsutil. Example: \"gs://bucket_name/object_name\". See [Viewing and\nEditing Object\nMetadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)\nfor more information.", "type": "string" }, "uriPrefix": { - "description": "The uri prefix of all generated Cloud Storage objects. For example:\n\"gs://bucket_name/object_name_prefix\". Each object uri is in format:\n\"gs://bucket_name/object_name_prefix// and only\ncontains assets for that type. starts from 0. For example:\n\"gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0\" is\nthe first shard of output objects containing all\ncompute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be\nreturned if file with the same name \"gs://bucket_name/object_name_prefix\"\nalready exists.", + "description": "The uri prefix of all generated Cloud Storage objects. Example:\n\"gs://bucket_name/object_name_prefix\". Each object uri is in format:\n\"gs://bucket_name/object_name_prefix// and only\ncontains assets for that type. starts from 0. Example:\n\"gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0\" is\nthe first shard of output objects containing all\ncompute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be\nreturned if file with the same name \"gs://bucket_name/object_name_prefix\"\nalready exists.", "type": "string" } }, @@ -711,7 +719,7 @@ "type": "array" }, "inheritFromParent": { - "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supercedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings for\n`projects/bar` parented by `organizations/foo`:\n\nExample 1 (no inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has `inherit_from_parent` `false` and values:\n {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {value: \"E3\" value: \"E4\" inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n `organizations/foo` has no `Policy` set.\n `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.\n\nExample 10 (allowed and denied subtrees of Resource Manager hierarchy):\nGiven the following resource hierarchy\n O1->{F1, F2}; F1->{P1}; F2->{P2, P3},\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"under:organizations/O1\"}\n `projects/bar` has a `Policy` with:\n {allowed_values: \"under:projects/P3\"}\n {denied_values: \"under:folders/F2\"}\nThe accepted values at `organizations/foo` are `organizations/O1`,\n `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,\n `projects/P3`.\nThe accepted values at `projects/bar` are `organizations/O1`,\n `folders/F1`, `projects/P1`.", + "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supersedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings for\n`projects/bar` parented by `organizations/foo`:\n\nExample 1 (no inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has `inherit_from_parent` `false` and values:\n {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {value: \"E3\" value: \"E4\" inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n `organizations/foo` has no `Policy` set.\n `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.\n\nExample 10 (allowed and denied subtrees of Resource Manager hierarchy):\nGiven the following resource hierarchy\n O1->{F1, F2}; F1->{P1}; F2->{P2, P3},\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"under:organizations/O1\"}\n `projects/bar` has a `Policy` with:\n {allowed_values: \"under:projects/P3\"}\n {denied_values: \"under:folders/F2\"}\nThe accepted values at `organizations/foo` are `organizations/O1`,\n `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,\n `projects/P3`.\nThe accepted values at `projects/bar` are `organizations/O1`,\n `folders/F1`, `projects/P1`.", "type": "boolean" }, "suggestedValue": { @@ -730,7 +738,7 @@ "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not." }, "constraint": { - "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nImmutable after creation.", + "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nA [list of available\nconstraints](/resource-manager/docs/organization-policy/org-policy-constraints)\nis available.\n\nImmutable after creation.", "type": "string" }, "etag": { @@ -1143,7 +1151,7 @@ "properties": { "bigqueryDestination": { "$ref": "BigQueryDestination", - "description": "Destination on BigQuery. The output table stores the fields in asset\nproto as columns in BigQuery. The resource/iam_policy field is converted\nto a record with each field to a column, except metadata to a single JSON\nstring." + "description": "Destination on BigQuery. The output table stores the fields in asset\nproto as columns in BigQuery." }, "gcsDestination": { "$ref": "GcsDestination", @@ -1153,7 +1161,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -1176,7 +1184,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1188,7 +1196,7 @@ "id": "PubsubDestination", "properties": { "topic": { - "description": "The name of the Pub/Sub topic to publish to.\nFor example: `projects/PROJECT_ID/topics/TOPIC_ID`.", + "description": "The name of the Pub/Sub topic to publish to.\nExample: `projects/PROJECT_ID/topics/TOPIC_ID`.", "type": "string" } }, @@ -1207,23 +1215,27 @@ "type": "object" }, "discoveryDocumentUri": { - "description": "The URL of the discovery document containing the resource's JSON schema.\nFor example:\n\"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest\"\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.", + "description": "The URL of the discovery document containing the resource's JSON schema.\nExample:\n`https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.", "type": "string" }, "discoveryName": { - "description": "The JSON schema name listed in the discovery document. For example:\n\"Project\"\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.", + "description": "The JSON schema name listed in the discovery document. Example:\n`Project`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.", + "type": "string" + }, + "location": { + "description": "The location of the resource in Google Cloud, such as its zone and region.\nFor more information, see https://cloud.google.com/about/locations/.", "type": "string" }, "parent": { - "description": "The full name of the immediate parent of this resource. See\n[Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.\n\nFor Google Cloud assets, this value is the parent resource defined in the\n[Cloud IAM policy\nhierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).\nFor example:\n\"//cloudresourcemanager.googleapis.com/projects/my_project_123\"\n\nFor third-party assets, this field may be set differently.", + "description": "The full name of the immediate parent of this resource. See\n[Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.\n\nFor Google Cloud assets, this value is the parent resource defined in the\n[Cloud IAM policy\nhierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).\nExample:\n`//cloudresourcemanager.googleapis.com/projects/my_project_123`\n\nFor third-party assets, this field may be set differently.", "type": "string" }, "resourceUrl": { - "description": "The REST URL for accessing the resource. An HTTP `GET` request using this\nURL returns the resource itself. For example:\n\"https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123\"\n\nThis value is unspecified for resources without a REST API.", + "description": "The REST URL for accessing the resource. An HTTP `GET` request using this\nURL returns the resource itself. Example:\n`https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`\n\nThis value is unspecified for resources without a REST API.", "type": "string" }, "version": { - "description": "The API version. For example: \"v1\"", + "description": "The API version. Example: `v1`", "type": "string" } }, @@ -1276,7 +1288,7 @@ "type": "object" }, "TimeWindow": { - "description": "A time window specified by its \"start_time\" and \"end_time\".", + "description": "A time window specified by its `start_time` and `end_time`.", "id": "TimeWindow", "properties": { "endTime": { diff --git a/etc/api/cloudasset/v1beta1/cloudasset-api.json b/etc/api/cloudasset/v1beta1/cloudasset-api.json index 52a4743bc2..548e520fbf 100644 --- a/etc/api/cloudasset/v1beta1/cloudasset-api.json +++ b/etc/api/cloudasset/v1beta1/cloudasset-api.json @@ -108,7 +108,7 @@ "folders": { "methods": { "exportAssets": { - "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export.", + "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.", "flatPath": "v1beta1/folders/{foldersId}:exportAssets", "httpMethod": "POST", "id": "cloudasset.folders.exportAssets", @@ -171,7 +171,7 @@ "organizations": { "methods": { "batchGetAssetsHistory": { - "description": "Batch gets the update history of assets that overlap a time window.\nFor RESOURCE content, this API outputs history with asset in both\nnon-delete or deleted status.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.", + "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.", "flatPath": "v1beta1/organizations/{organizationsId}:batchGetAssetsHistory", "httpMethod": "GET", "id": "cloudasset.organizations.batchGetAssetsHistory", @@ -203,7 +203,7 @@ "type": "string" }, "readTimeWindow.endTime": { - "description": "End time of the time window (inclusive).\nCurrent timestamp if not specified.", + "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.", "format": "google-datetime", "location": "query", "type": "string" @@ -224,7 +224,7 @@ ] }, "exportAssets": { - "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export.", + "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.", "flatPath": "v1beta1/organizations/{organizationsId}:exportAssets", "httpMethod": "POST", "id": "cloudasset.organizations.exportAssets", @@ -287,7 +287,7 @@ "projects": { "methods": { "batchGetAssetsHistory": { - "description": "Batch gets the update history of assets that overlap a time window.\nFor RESOURCE content, this API outputs history with asset in both\nnon-delete or deleted status.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.", + "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.", "flatPath": "v1beta1/projects/{projectsId}:batchGetAssetsHistory", "httpMethod": "GET", "id": "cloudasset.projects.batchGetAssetsHistory", @@ -319,7 +319,7 @@ "type": "string" }, "readTimeWindow.endTime": { - "description": "End time of the time window (inclusive).\nCurrent timestamp if not specified.", + "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.", "format": "google-datetime", "location": "query", "type": "string" @@ -340,7 +340,7 @@ ] }, "exportAssets": { - "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export.", + "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.", "flatPath": "v1beta1/projects/{projectsId}:exportAssets", "httpMethod": "POST", "id": "cloudasset.projects.exportAssets", @@ -401,34 +401,53 @@ } } }, - "revision": "20200403", + "revision": "20200613", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "Asset": { - "description": "Cloud asset. This includes all Google Cloud Platform resources,\nCloud IAM policies, and other non-GCP assets.", + "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud\n[resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\na resource outside the Google Cloud resource hierarchy (such as Google\nKubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.", "id": "Asset", "properties": { + "accessLevel": { + "$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel", + "description": "Please also refer to the [access level user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)." + }, + "accessPolicy": { + "$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", + "description": "Please also refer to the [access policy user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)." + }, "assetType": { - "description": "Type of the asset. Example: \"google.compute.Disk\".", + "description": "The type of the asset. Example: `compute.googleapis.com/Disk`\n\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.", "type": "string" }, "iamPolicy": { "$ref": "Policy", - "description": "Representation of the actual Cloud IAM policy set on a cloud resource. For\neach resource, there must be at most one Cloud IAM policy set on it." + "description": "A representation of the Cloud IAM policy set on a Google Cloud resource.\nThere can be a maximum of one Cloud IAM policy set on any given resource.\nIn addition, Cloud IAM policies inherit their granted access scope from any\npolicies set on parent resources in the resource hierarchy. Therefore, the\neffectively policy is the union of both the policy set on this resource\nand each policy set on all of the resource's ancestry resource levels in\nthe hierarchy. See\n[this topic](https://cloud.google.com/iam/docs/policies#inheritance) for\nmore information." }, "name": { - "description": "The full name of the asset. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.", + "description": "The full name of the asset. Example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`\n\nSee [Resource\nnames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.", "type": "string" }, + "orgPolicy": { + "description": "A representation of an [organization\npolicy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).\nThere can be more than one organization policy with different constraints\nset on a given resource.", + "items": { + "$ref": "GoogleCloudOrgpolicyV1Policy" + }, + "type": "array" + }, "resource": { "$ref": "Resource", - "description": "Representation of the resource." + "description": "A representation of the resource." + }, + "servicePerimeter": { + "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", + "description": "Please also refer to the [service perimeter user\nguide](https://cloud.google.com/vpc-service-controls/docs/overview)." } }, "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -446,7 +465,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -495,7 +514,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -586,6 +605,428 @@ }, "type": "object" }, + "GoogleCloudOrgpolicyV1BooleanPolicy": { + "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this\nresource.", + "id": "GoogleCloudOrgpolicyV1BooleanPolicy", + "properties": { + "enforced": { + "description": "If `true`, then the `Policy` is enforced. If `false`, then any\nconfiguration is acceptable.\n\nSuppose you have a `Constraint`\n`constraints/compute.disableSerialPortAccess` with `constraint_default`\nset to `ALLOW`. A `Policy` for that `Constraint` exhibits the following\nbehavior:\n - If the `Policy` at this resource has enforced set to `false`, serial\n port connection attempts will be allowed.\n - If the `Policy` at this resource has enforced set to `true`, serial\n port connection attempts will be refused.\n - If the `Policy` at this resource is `RestoreDefault`, serial port\n connection attempts will be allowed.\n - If no `Policy` is set at this resource or anywhere higher in the\n resource hierarchy, serial port connection attempts will be allowed.\n - If no `Policy` is set at this resource, but one exists higher in the\n resource hierarchy, the behavior is as if the`Policy` were set at\n this resource.\n\nThe following examples demonstrate the different possible layerings:\n\nExample 1 (nearest `Constraint` wins):\n `organizations/foo` has a `Policy` with:\n {enforced: false}\n `projects/bar` has no `Policy` set.\nThe constraint at `projects/bar` and `organizations/foo` will not be\nenforced.\n\nExample 2 (enforcement gets replaced):\n `organizations/foo` has a `Policy` with:\n {enforced: false}\n `projects/bar` has a `Policy` with:\n {enforced: true}\nThe constraint at `organizations/foo` is not enforced.\nThe constraint at `projects/bar` is enforced.\n\nExample 3 (RestoreDefault):\n `organizations/foo` has a `Policy` with:\n {enforced: true}\n `projects/bar` has a `Policy` with:\n {RestoreDefault: {}}\nThe constraint at `organizations/foo` is enforced.\nThe constraint at `projects/bar` is not enforced, because\n`constraint_default` for the `Constraint` is `ALLOW`.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV1ListPolicy": { + "description": "Used in `policy_type` to specify how `list_policy` behaves at this\nresource.\n\n`ListPolicy` can define specific values and subtrees of Cloud Resource\nManager resource hierarchy (`Organizations`, `Folders`, `Projects`) that\nare allowed or denied by setting the `allowed_values` and `denied_values`\nfields. This is achieved by using the `under:` and optional `is:` prefixes.\nThe `under:` prefix is used to denote resource subtree values.\nThe `is:` prefix is used to denote specific values, and is required only\nif the value contains a \":\". Values prefixed with \"is:\" are treated the\nsame as values with no prefix.\nAncestry subtrees must be in one of the following formats:\n - \"projects/\", e.g. \"projects/tokyo-rain-123\"\n - \"folders/\", e.g. \"folders/1234\"\n - \"organizations/\", e.g. \"organizations/1234\"\nThe `supports_under` field of the associated `Constraint` defines whether\nancestry prefixes can be used. You can set `allowed_values` and\n`denied_values` in the same `Policy` if `all_values` is\n`ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all\nvalues. If `all_values` is set to either `ALLOW` or `DENY`,\n`allowed_values` and `denied_values` must be unset.", + "id": "GoogleCloudOrgpolicyV1ListPolicy", + "properties": { + "allValues": { + "description": "The policy all_values state.", + "enum": [ + "ALL_VALUES_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Indicates that allowed_values or denied_values must be set.", + "A policy with this set allows all values.", + "A policy with this set denies all values." + ], + "type": "string" + }, + "allowedValues": { + "description": "List of values allowed at this resource. Can only be set if `all_values`\nis set to `ALL_VALUES_UNSPECIFIED`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "deniedValues": { + "description": "List of values denied at this resource. Can only be set if `all_values`\nis set to `ALL_VALUES_UNSPECIFIED`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "inheritFromParent": { + "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supersedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings for\n`projects/bar` parented by `organizations/foo`:\n\nExample 1 (no inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has `inherit_from_parent` `false` and values:\n {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {value: \"E3\" value: \"E4\" inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n `organizations/foo` has no `Policy` set.\n `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.\n\nExample 10 (allowed and denied subtrees of Resource Manager hierarchy):\nGiven the following resource hierarchy\n O1->{F1, F2}; F1->{P1}; F2->{P2, P3},\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"under:organizations/O1\"}\n `projects/bar` has a `Policy` with:\n {allowed_values: \"under:projects/P3\"}\n {denied_values: \"under:folders/F2\"}\nThe accepted values at `organizations/foo` are `organizations/O1`,\n `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,\n `projects/P3`.\nThe accepted values at `projects/bar` are `organizations/O1`,\n `folders/F1`, `projects/P1`.", + "type": "boolean" + }, + "suggestedValue": { + "description": "Optional. The Google Cloud Console will try to default to a configuration\nthat matches the value specified in this `Policy`. If `suggested_value`\nis not set, it will inherit the value specified higher in the hierarchy,\nunless `inherit_from_parent` is `false`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV1Policy": { + "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints`\nfor configurations of Cloud Platform resources.", + "id": "GoogleCloudOrgpolicyV1Policy", + "properties": { + "booleanPolicy": { + "$ref": "GoogleCloudOrgpolicyV1BooleanPolicy", + "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not." + }, + "constraint": { + "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nA [list of available\nconstraints](/resource-manager/docs/organization-policy/org-policy-constraints)\nis available.\n\nImmutable after creation.", + "type": "string" + }, + "etag": { + "description": "An opaque tag indicating the current version of the `Policy`, used for\nconcurrency control.\n\nWhen the `Policy` is returned from either a `GetPolicy` or a\n`ListOrgPolicy` request, this `etag` indicates the version of the current\n`Policy` to use when executing a read-modify-write loop.\n\nWhen the `Policy` is returned from a `GetEffectivePolicy` request, the\n`etag` will be unset.\n\nWhen the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value\nthat was returned from a `GetOrgPolicy` request as part of a\nread-modify-write loop for concurrency control. Not setting the `etag`in a\n`SetOrgPolicy` request will result in an unconditional write of the\n`Policy`.", + "format": "byte", + "type": "string" + }, + "listPolicy": { + "$ref": "GoogleCloudOrgpolicyV1ListPolicy", + "description": "List of values either allowed or disallowed." + }, + "restoreDefault": { + "$ref": "GoogleCloudOrgpolicyV1RestoreDefault", + "description": "Restores the default behavior of the constraint; independent of\n`Constraint` type." + }, + "updateTime": { + "description": "The time stamp the `Policy` was previously updated. This is set by the\nserver, not specified by the caller, and represents the last time a call to\n`SetOrgPolicy` was made for that `Policy`. Any value set by the client will\nbe ignored.", + "format": "google-datetime", + "type": "string" + }, + "version": { + "description": "Version of the `Policy`. Default version is 0;", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV1RestoreDefault": { + "description": "Ignores policies set above this resource and restores the\n`constraint_default` enforcement behavior of the specific `Constraint` at\nthis resource.\n\nSuppose that `constraint_default` is set to `ALLOW` for the\n`Constraint` `constraints/serviceuser.services`. Suppose that organization\nfoo.com sets a `Policy` at their Organization resource node that restricts\nthe allowed service activations to deny all service activations. They\ncould then set a `Policy` with the `policy_type` `restore_default` on\nseveral experimental projects, restoring the `constraint_default`\nenforcement of the `Constraint` for only those projects, allowing those\nprojects to have all services activated.", + "id": "GoogleCloudOrgpolicyV1RestoreDefault", + "properties": {}, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1AccessLevel": { + "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud\nservices, along with a list of requirements necessary for the label to be\napplied.", + "id": "GoogleIdentityAccesscontextmanagerV1AccessLevel", + "properties": { + "basic": { + "$ref": "GoogleIdentityAccesscontextmanagerV1BasicLevel", + "description": "A `BasicLevel` composed of `Conditions`." + }, + "custom": { + "$ref": "GoogleIdentityAccesscontextmanagerV1CustomLevel", + "description": "A `CustomLevel` written in the Common Expression Language." + }, + "description": { + "description": "Description of the `AccessLevel` and its use. Does not affect behavior.", + "type": "string" + }, + "name": { + "description": "Required. Resource name for the Access Level. The `short_name` component\nmust begin with a letter and only include alphanumeric and '_'. Format:\n`accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length\nof the `short_name` component is 50 characters.", + "type": "string" + }, + "title": { + "description": "Human readable title. Must be unique within the Policy.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1AccessPolicy": { + "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary\nattributes to use Google Cloud services) and `ServicePerimeters` (which\ndefine regions of services able to freely pass data within a perimeter). An\naccess policy is globally visible within an organization, and the\nrestrictions it specifies apply to all projects within an organization.", + "id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", + "properties": { + "etag": { + "description": "Output only. An opaque identifier for the current version of the\n`AccessPolicy`. This will always be a strongly validated etag, meaning that\ntwo Access Polices will be identical if and only if their etags are\nidentical. Clients should not expect this to be in any specific format.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name of the `AccessPolicy`. Format:\n`accessPolicies/{policy_id}`", + "type": "string" + }, + "parent": { + "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource\nHierarchy. Currently immutable once created. Format:\n`organizations/{organization_id}`", + "type": "string" + }, + "title": { + "description": "Required. Human readable title. Does not affect behavior.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1BasicLevel": { + "description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.", + "id": "GoogleIdentityAccesscontextmanagerV1BasicLevel", + "properties": { + "combiningFunction": { + "description": "How the `conditions` list should be combined to determine if a request is\ngranted this `AccessLevel`. If AND is used, each `Condition` in\n`conditions` must be satisfied for the `AccessLevel` to be applied. If OR\nis used, at least one `Condition` in `conditions` must be satisfied for the\n`AccessLevel` to be applied. Default behavior is AND.", + "enum": [ + "AND", + "OR" + ], + "enumDescriptions": [ + "All `Conditions` must be true for the `BasicLevel` to be true.", + "If at least one `Condition` is true, then the `BasicLevel` is true." + ], + "type": "string" + }, + "conditions": { + "description": "Required. A list of requirements for the `AccessLevel` to be granted.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1Condition" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1Condition": { + "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an\nAND over its fields. So a Condition is true if: 1) the request IP is from one\nof the listed subnetworks AND 2) the originating device complies with the\nlisted device policy AND 3) all listed access levels are granted AND 4) the\nrequest was sent at a time allowed by the DateTimeRestriction.", + "id": "GoogleIdentityAccesscontextmanagerV1Condition", + "properties": { + "devicePolicy": { + "$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", + "description": "Device specific restrictions, all restrictions must hold for the\nCondition to be true. If not specified, all devices are allowed." + }, + "ipSubnetworks": { + "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for\na CIDR IP address block, the specified IP address portion must be properly\ntruncated (i.e. all the host bits must be zero) or the input is considered\nmalformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is\nnot. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas\n\"2001:db8::1/32\" is not. The originating IP of a request must be in one of\nthe listed subnets in order for this Condition to be true. If empty, all IP\naddresses are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "members": { + "description": "The request must be made by one of the provided user or service\naccounts. Groups are not supported.\nSyntax:\n`user:{emailid}`\n`serviceAccount:{emailid}`\nIf not specified, a request may come from any user.", + "items": { + "type": "string" + }, + "type": "array" + }, + "negate": { + "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over\nits non-empty fields, each field must be false for the Condition overall to\nbe satisfied. Defaults to false.", + "type": "boolean" + }, + "regions": { + "description": "The request must originate from one of the provided countries/regions.\nMust be valid ISO 3166-1 alpha-2 codes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredAccessLevels": { + "description": "A list of other access levels defined in the same `Policy`, referenced by\nresource name. Referencing an `AccessLevel` which does not exist is an\nerror. All access levels listed must be granted for the Condition\nto be true. Example:\n\"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1CustomLevel": { + "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language\nto represent the necessary conditions for the level to apply to a request.\nSee CEL spec at: https://github.com/google/cel-spec", + "id": "GoogleIdentityAccesscontextmanagerV1CustomLevel", + "properties": { + "expr": { + "$ref": "Expr", + "description": "Required. A Cloud CEL expression evaluating to a boolean." + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1DevicePolicy": { + "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a\ngiven access level. A `DevicePolicy` specifies requirements for requests from\ndevices to be granted access levels, it does not do any enforcement on the\ndevice. `DevicePolicy` acts as an AND over all specified fields, and each\nrepeated field is an OR over its elements. Any unset fields are ignored. For\nexample, if the proto is { os_type : DESKTOP_WINDOWS, os_type :\nDESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be\ntrue for requests originating from encrypted Linux desktops and encrypted\nWindows desktops.", + "id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", + "properties": { + "allowedDeviceManagementLevels": { + "description": "Allowed device management levels, an empty list allows all management\nlevels.", + "enumDescriptions": [ + "The device's management level is not specified or not known.", + "The device is not managed.", + "Basic management is enabled, which is generally limited to monitoring and\nwiping the corporate account.", + "Complete device management. This includes more thorough monitoring and the\nability to directly manage the device (such as remote wiping). This can be\nenabled through the Android Enterprise Platform." + ], + "items": { + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "NONE", + "BASIC", + "COMPLETE" + ], + "type": "string" + }, + "type": "array" + }, + "allowedEncryptionStatuses": { + "description": "Allowed encryptions statuses, an empty list allows all statuses.", + "enumDescriptions": [ + "The encryption status of the device is not specified or not known.", + "The device does not support encryption.", + "The device supports encryption, but is currently unencrypted.", + "The device is encrypted." + ], + "items": { + "enum": [ + "ENCRYPTION_UNSPECIFIED", + "ENCRYPTION_UNSUPPORTED", + "UNENCRYPTED", + "ENCRYPTED" + ], + "type": "string" + }, + "type": "array" + }, + "osConstraints": { + "description": "Allowed OS versions, an empty list allows all types and all versions.", + "items": { + "$ref": "GoogleIdentityAccesscontextmanagerV1OsConstraint" + }, + "type": "array" + }, + "requireAdminApproval": { + "description": "Whether the device needs to be approved by the customer admin.", + "type": "boolean" + }, + "requireCorpOwned": { + "description": "Whether the device needs to be corp owned.", + "type": "boolean" + }, + "requireScreenlock": { + "description": "Whether or not screenlock is required for the DevicePolicy to be true.\nDefaults to `false`.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1OsConstraint": { + "description": "A restriction on the OS type and version of devices making requests.", + "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint", + "properties": { + "minimumVersion": { + "description": "The minimum allowed OS version. If not set, any version of this OS\nsatisfies the constraint. Format: `\"major.minor.patch\"`.\nExamples: `\"10.5.301\"`, `\"9.2.1\"`.", + "type": "string" + }, + "osType": { + "description": "Required. The allowed OS type.", + "enum": [ + "OS_UNSPECIFIED", + "DESKTOP_MAC", + "DESKTOP_WINDOWS", + "DESKTOP_LINUX", + "DESKTOP_CHROME_OS", + "ANDROID", + "IOS" + ], + "enumDescriptions": [ + "The operating system of the device is not specified or not known.", + "A desktop Mac operating system.", + "A desktop Windows operating system.", + "A desktop Linux operating system.", + "A desktop ChromeOS operating system.", + "An Android operating system.", + "An iOS operating system." + ], + "type": "string" + }, + "requireVerifiedChromeOs": { + "description": "Only allows requests from devices with a verified Chrome OS.\nVerifications includes requirements that the device is enterprise-managed,\nconformant to domain policies, and the caller has permission to call\nthe API targeted by the request.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": { + "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely\nimport and export data amongst themselves, but not export outside of the\n`ServicePerimeter`. If a request with a source within this `ServicePerimeter`\nhas a target outside of the `ServicePerimeter`, the request will be blocked.\nOtherwise the request is allowed. There are two types of Service Perimeter -\nRegular and Bridge. Regular Service Perimeters cannot overlap, a single\nGoogle Cloud project can only belong to a single regular Service Perimeter.\nService Perimeter Bridges can contain only Google Cloud projects as members,\na single Google Cloud project may belong to multiple Service Perimeter\nBridges.", + "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", + "properties": { + "description": { + "description": "Description of the `ServicePerimeter` and its use. Does not affect\nbehavior.", + "type": "string" + }, + "name": { + "description": "Required. Resource name for the ServicePerimeter. The `short_name`\ncomponent must begin with a letter and only include alphanumeric and '_'.\nFormat: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "type": "string" + }, + "perimeterType": { + "description": "Perimeter type indicator. A single project is\nallowed to be a member of single regular perimeter, but multiple service\nperimeter bridges. A project cannot be a included in a perimeter bridge\nwithout being included in regular perimeter. For perimeter bridges,\nthe restricted service list as well as access level lists must be\nempty.", + "enum": [ + "PERIMETER_TYPE_REGULAR", + "PERIMETER_TYPE_BRIDGE" + ], + "enumDescriptions": [ + "Regular Perimeter.", + "Perimeter Bridge." + ], + "type": "string" + }, + "spec": { + "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", + "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration\nallows to specify and test ServicePerimeter configuration without enforcing\nactual access restrictions. Only allowed to be set when the\n\"use_explicit_dry_run_spec\" flag is set." + }, + "status": { + "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", + "description": "Current ServicePerimeter configuration. Specifies sets of resources,\nrestricted services and access levels that determine perimeter\ncontent and boundaries." + }, + "title": { + "description": "Human readable title. Must be unique within the Policy.", + "type": "string" + }, + "useExplicitDryRunSpec": { + "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly\nexists for all Service Perimeters, and that spec is identical to the\nstatus for those Service Perimeters. When this flag is set, it inhibits the\ngeneration of the implicit spec, thereby allowing the user to explicitly\nprovide a configuration (\"spec\") to use in a dry-run version of the Service\nPerimeter. This allows the user to test changes to the enforced config\n(\"status\") without actually enforcing them. This testing is done through\nanalyzing the differences between currently enforced and suggested\nrestrictions. use_explicit_dry_run_spec must bet set to True if any of the\nfields in the spec are set to non-default values.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": { + "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that\ndescribe specific Service Perimeter configuration.", + "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", + "properties": { + "accessLevels": { + "description": "A list of `AccessLevel` resource names that allow resources within the\n`ServicePerimeter` to be accessed from the internet. `AccessLevels` listed\nmust be in the same policy as this `ServicePerimeter`. Referencing a\nnonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are\nlisted, resources within the perimeter can only be accessed via Google\nCloud calls with request origins within the perimeter. Example:\n`\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`.\nFor Service Perimeter Bridge, must be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resources": { + "description": "A list of Google Cloud resources that are inside of the service perimeter.\nCurrently only projects are allowed. Format: `projects/{project_number}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "restrictedServices": { + "description": "Google Cloud services that are subject to the Service Perimeter\nrestrictions. For example, if `storage.googleapis.com` is specified, access\nto the storage buckets inside the perimeter must meet the perimeter's\naccess restrictions.", + "items": { + "type": "string" + }, + "type": "array" + }, + "vpcAccessibleServices": { + "$ref": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", + "description": "Configuration for APIs allowed within Perimeter." + } + }, + "type": "object" + }, + "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": { + "description": "Specifies how APIs are allowed to communicate within the Service\nPerimeter.", + "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", + "properties": { + "allowedServices": { + "description": "The list of APIs usable within the Service Perimeter. Must be empty\nunless 'enable_restriction' is True.", + "items": { + "type": "string" + }, + "type": "array" + }, + "enableRestriction": { + "description": "Whether to restrict API calls within the Service Perimeter to the list of\nAPIs specified in 'allowed_services'.", + "type": "boolean" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "id": "Operation", @@ -633,7 +1074,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -656,7 +1097,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -664,7 +1105,7 @@ "type": "object" }, "Resource": { - "description": "Representation of a cloud resource.", + "description": "A representation of a Google Cloud resource.", "id": "Resource", "properties": { "data": { @@ -672,27 +1113,27 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The content of the resource, in which some sensitive fields are scrubbed\naway and may not be present.", + "description": "The content of the resource, in which some sensitive fields are removed\nand may not be present.", "type": "object" }, "discoveryDocumentUri": { - "description": "The URL of the discovery document containing the resource's JSON schema.\nFor example:\n`\"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest\"`.\nIt will be left unspecified for resources without a discovery-based API,\nsuch as Cloud Bigtable.", + "description": "The URL of the discovery document containing the resource's JSON schema.\nExample:\n`https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.", "type": "string" }, "discoveryName": { - "description": "The JSON schema name listed in the discovery document.\nExample: \"Project\". It will be left unspecified for resources (such as\nCloud Bigtable) without a discovery-based API.", + "description": "The JSON schema name listed in the discovery document. Example:\n`Project`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.", "type": "string" }, "parent": { - "description": "The full name of the immediate parent of this resource. See\n[Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.\n\nFor GCP assets, it is the parent resource defined in the [Cloud IAM policy\nhierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).\nFor example:\n`\"//cloudresourcemanager.googleapis.com/projects/my_project_123\"`.\n\nFor third-party assets, it is up to the users to define.", + "description": "The full name of the immediate parent of this resource. See\n[Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.\n\nFor Google Cloud assets, this value is the parent resource defined in the\n[Cloud IAM policy\nhierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).\nExample:\n`//cloudresourcemanager.googleapis.com/projects/my_project_123`\n\nFor third-party assets, this field may be set differently.", "type": "string" }, "resourceUrl": { - "description": "The REST URL for accessing the resource. An HTTP GET operation using this\nURL returns the resource itself.\nExample:\n`https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`.\nIt will be left unspecified for resources without a REST API.", + "description": "The REST URL for accessing the resource. An HTTP `GET` request using this\nURL returns the resource itself. Example:\n`https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`\n\nThis value is unspecified for resources without a REST API.", "type": "string" }, "version": { - "description": "The API version. Example: \"v1\".", + "description": "The API version. Example: `v1`", "type": "string" } }, @@ -726,15 +1167,15 @@ "type": "object" }, "TemporalAsset": { - "description": "Temporal asset. In addition to the asset, the temporal asset includes the\nstatus of the asset and valid from and to time of it.", + "description": "An asset in Google Cloud and its temporal metadata, including the time window\nwhen it was observed and its status during that window.", "id": "TemporalAsset", "properties": { "asset": { "$ref": "Asset", - "description": "Asset." + "description": "An asset in Google Cloud." }, "deleted": { - "description": "If the asset is deleted or not.", + "description": "Whether the asset has been deleted or not.", "type": "boolean" }, "window": { @@ -745,11 +1186,11 @@ "type": "object" }, "TimeWindow": { - "description": "A time window of (start_time, end_time].", + "description": "A time window specified by its `start_time` and `end_time`.", "id": "TimeWindow", "properties": { "endTime": { - "description": "End time of the time window (inclusive).\nCurrent timestamp if not specified.", + "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.", "format": "google-datetime", "type": "string" }, diff --git a/etc/api/cloudasset/v1p1beta1/cloudasset-api.json b/etc/api/cloudasset/v1p1beta1/cloudasset-api.json new file mode 100644 index 0000000000..cc26d90a9c --- /dev/null +++ b/etc/api/cloudasset/v1p1beta1/cloudasset-api.json @@ -0,0 +1,481 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://cloudasset.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Asset", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "cloudasset:v1p1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudasset.mtls.googleapis.com/", + "name": "cloudasset", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "iamPolicies": { + "methods": { + "searchAll": { + "description": "Searches all the IAM policies within a given accessible CRM scope\n(project/folder/organization). This RPC gives callers especially\nadministrators the ability to search all the IAM policies within a scope,\neven if they don't have `.getIamPolicy` permission of all the IAM policies.\nCallers should have `cloud.assets.SearchAllIamPolicies` permission on the\nrequested scope, otherwise the request will be rejected.", + "flatPath": "v1p1beta1/{v1p1beta1Id}/{v1p1beta1Id1}/iamPolicies:searchAll", + "httpMethod": "GET", + "id": "cloudasset.iamPolicies.searchAll", + "parameterOrder": [ + "scope" + ], + "parameters": { + "pageSize": { + "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieve the next batch of results from the preceding call to\nthis method. `page_token` must be the value of `next_page_token` from the\nprevious response. The values of all other method parameters must be\nidentical to those in the previous call.", + "location": "query", + "type": "string" + }, + "query": { + "description": "Optional. The query statement. Examples:\n\n* \"policy:myuser@mydomain.com\"\n* \"policy:(myuser@mydomain.com viewer)\"", + "location": "query", + "type": "string" + }, + "scope": { + "description": "Required. The relative name of an asset. The search is limited to the resources\nwithin the `scope`. The allowed value must be:\n\n* Organization number (such as \"organizations/123\")\n* Folder number(such as \"folders/1234\")\n* Project number (such as \"projects/12345\")\n* Project id (such as \"projects/abc\")", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1p1beta1/{+scope}/iamPolicies:searchAll", + "response": { + "$ref": "SearchAllIamPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "resources": { + "methods": { + "searchAll": { + "description": "Searches all the resources within a given accessible CRM scope\n(project/folder/organization). This RPC gives callers especially\nadministrators the ability to search all the resources within a scope, even\nif they don't have `.get` permission of all the resources. Callers should\nhave `cloud.assets.SearchAllResources` permission on the requested scope,\notherwise the request will be rejected.", + "flatPath": "v1p1beta1/{v1p1beta1Id}/{v1p1beta1Id1}/resources:searchAll", + "httpMethod": "GET", + "id": "cloudasset.resources.searchAll", + "parameterOrder": [ + "scope" + ], + "parameters": { + "assetTypes": { + "description": "Optional. A list of asset types that this request searches for. If empty, it will\nsearch all the supported asset types.", + "location": "query", + "repeated": true, + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma separated list of fields specifying the sorting order of the\nresults. The default order is ascending. Add ` DESC` after the field name\nto indicate descending order. Redundant space characters are ignored. For\nexample, ` location DESC , name `.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call\nto this method. `page_token` must be the value of `next_page_token` from\nthe previous response. The values of all other method parameters, must be\nidentical to those in the previous call.", + "location": "query", + "type": "string" + }, + "query": { + "description": "Optional. The query statement.", + "location": "query", + "type": "string" + }, + "scope": { + "description": "Required. The relative name of an asset. The search is limited to the resources\nwithin the `scope`. The allowed value must be:\n\n* Organization number (such as \"organizations/123\")\n* Folder number(such as \"folders/1234\")\n* Project number (such as \"projects/12345\")\n* Project id (such as \"projects/abc\")", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1p1beta1/{+scope}/resources:searchAll", + "response": { + "$ref": "SearchAllResourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + }, + "revision": "20200613", + "rootUrl": "https://cloudasset.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "Explanation": { + "description": "Explanation about the IAM policy search result.", + "id": "Explanation", + "properties": { + "matchedPermissions": { + "additionalProperties": { + "$ref": "Permissions" + }, + "description": "The map from roles to their included permission matching the permission\nquery (e.g. containing `policy.role.permissions:`). A sample role string:\n\"roles/compute.instanceAdmin\". The roles can also be found in the\nreturned `policy` bindings. Note that the map is populated only if\nrequesting with a permission query.", + "type": "object" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "IamPolicySearchResult": { + "description": "The result for a IAM Policy search.", + "id": "IamPolicySearchResult", + "properties": { + "explanation": { + "$ref": "Explanation", + "description": "Explanation about the IAM policy search result. It contains additional\ninformation to explain why the search result matches the query." + }, + "policy": { + "$ref": "Policy", + "description": "The IAM policy directly set on the given resource. Note that the original\nIAM policy can contain multiple bindings. This only contains the bindings\nthat match the given query. For queries that don't contain a constrain on\npolicies (e.g. an empty query), this contains all the bindings." + }, + "project": { + "description": "The project that the associated GCP resource belongs to, in the form of\n`projects/{project_number}`. If an IAM policy is set on a resource (like VM\ninstance, Cloud Storage bucket), the project field will indicate the\nproject that contains the resource. If an IAM policy is set on a folder or\norgnization, the project field will be empty.", + "type": "string" + }, + "resource": { + "description": "The [full resource\nname](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nof the resource associated with this IAM policy.", + "type": "string" + } + }, + "type": "object" + }, + "Permissions": { + "description": "IAM permissions", + "id": "Permissions", + "properties": { + "permissions": { + "description": "A list of permissions. A sample permission string: \"compute.disk.get\".", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SearchAllIamPoliciesResponse": { + "description": "Search all IAM policies response.", + "id": "SearchAllIamPoliciesResponse", + "properties": { + "nextPageToken": { + "description": "Set if there are more results than those appearing in this response; to get\nthe next set of results, call this method again, using this value as the\n`page_token`.", + "type": "string" + }, + "results": { + "description": "A list of IamPolicy that match the search query. Related information such\nas the associated resource is returned along with the policy.", + "items": { + "$ref": "IamPolicySearchResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "SearchAllResourcesResponse": { + "description": "Search all resources response.", + "id": "SearchAllResourcesResponse", + "properties": { + "nextPageToken": { + "description": "If there are more results than those appearing in this response, then\n`next_page_token` is included. To get the next set of results, call this\nmethod again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "results": { + "description": "A list of resource that match the search query.", + "items": { + "$ref": "StandardResourceMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "StandardResourceMetadata": { + "description": "The standard metadata of a cloud resource.", + "id": "StandardResourceMetadata", + "properties": { + "additionalAttributes": { + "description": "Additional searchable attributes of this resource.\nInformational only. The exact set of attributes is subject to change.\nFor example: project id, DNS name etc.", + "items": { + "type": "string" + }, + "type": "array" + }, + "assetType": { + "description": "The type of this resource.\nFor example: \"compute.googleapis.com/Disk\".", + "type": "string" + }, + "description": { + "description": "One or more paragraphs of text description of this resource. Maximum length\ncould be up to 1M bytes.", + "type": "string" + }, + "displayName": { + "description": "The display name of this resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with this resource. See [Labelling and grouping GCP\nresources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)\nfor more information.", + "type": "object" + }, + "location": { + "description": "Location can be \"global\", regional like \"us-east1\", or zonal like\n\"us-west1-b\".", + "type": "string" + }, + "name": { + "description": "The full resource name. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.", + "type": "string" + }, + "networkTags": { + "description": "Network tags associated with this resource. Like labels, network tags are a\ntype of annotations used to group GCP resources. See [Labelling GCP\nresources](lhttps://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)\nfor more information.", + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "description": "The project that this resource belongs to, in the form of\n`projects/{project_number}`.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Asset API", + "version": "v1p1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/cloudasset/v1p4beta1/cloudasset-api.json b/etc/api/cloudasset/v1p4beta1/cloudasset-api.json new file mode 100644 index 0000000000..3507e1ddeb --- /dev/null +++ b/etc/api/cloudasset/v1p4beta1/cloudasset-api.json @@ -0,0 +1,723 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://cloudasset.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Asset", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "cloudasset:v1p4beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudasset.mtls.googleapis.com/", + "name": "cloudasset", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "v1p4beta1": { + "methods": { + "analyzeIamPolicy": { + "description": "Analyzes IAM policies to answer which identities have what accesses on\nwhich resources.", + "flatPath": "v1p4beta1/{v1p4beta1Id}/{v1p4beta1Id1}:analyzeIamPolicy", + "httpMethod": "GET", + "id": "cloudasset.analyzeIamPolicy", + "parameterOrder": [ + "parent" + ], + "parameters": { + "analysisQuery.accessSelector.permissions": { + "description": "Optional. The permissions to appear in result.", + "location": "query", + "repeated": true, + "type": "string" + }, + "analysisQuery.accessSelector.roles": { + "description": "Optional. The roles to appear in result.", + "location": "query", + "repeated": true, + "type": "string" + }, + "analysisQuery.identitySelector.identity": { + "description": "Required. The identity appear in the form of members in\n[IAM policy\nbinding](https://cloud.google.com/iam/reference/rest/v1/Binding).\n\nThe examples of supported forms are:\n\"user:mike@example.com\",\n\"group:admins@example.com\",\n\"domain:google.com\",\n\"serviceAccount:my-project-id@appspot.gserviceaccount.com\".\n\nNotice that wildcard characters (such as * and ?) are not supported.\nYou must give a specific identity.", + "location": "query", + "type": "string" + }, + "analysisQuery.resourceSelector.fullResourceName": { + "description": "Required. The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nof a resource of [supported resource\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).", + "location": "query", + "type": "string" + }, + "options.analyzeServiceAccountImpersonation": { + "description": "Optional. If true, the response will include access analysis from identities to\nresources via service account impersonation. This is a very expensive\noperation, because many derived queries will be executed. We highly\nrecommend you use AssetService.ExportIamPolicyAnalysis rpc instead.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and there's an IAM policy states user A has\niam.serviceAccounts.getAccessToken permission to a service account SA,\nand there's another IAM policy states service account SA has permission P\nto a GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nAnother example, if the request analyzes for who has\npermission P to a GCP folder F, and there's an IAM policy states user A\nhas iam.serviceAccounts.actAs permission to a service account SA, and\nthere's another IAM policy states service account SA has permission P to\nthe GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nDefault is false.", + "location": "query", + "type": "boolean" + }, + "options.executionTimeout": { + "description": "Optional. Amount of time executable has to complete. See JSON representation of\n[Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\nIf this field is set with a value less than the RPC deadline, and the\nexecution of your query hasn't finished in the specified\nexecution timeout, you will get a response with partial result.\nOtherwise, your query's execution will continue until the RPC deadline.\nIf it's not finished until then, you will get a DEADLINE_EXCEEDED error.\n\nDefault is empty.", + "format": "google-duration", + "location": "query", + "type": "string" + }, + "options.expandGroups": { + "description": "Optional. If true, the identities section of the result will expand any\nGoogle groups appearing in an IAM policy binding.\n\nIf identity_selector is specified, the identity in the result will\nbe determined by the selector, and this flag will have no effect.\n\nDefault is false.", + "location": "query", + "type": "boolean" + }, + "options.expandResources": { + "description": "Optional. If true, the resource section of the result will expand any\nresource attached to an IAM policy to include resources lower in the\nresource hierarchy.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and the results include an IAM policy with P on a GCP\nfolder, the results will also include resources in that folder with\npermission P.\n\nIf resource_selector is specified, the resource section of the result\nwill be determined by the selector, and this flag will have no effect.\nDefault is false.", + "location": "query", + "type": "boolean" + }, + "options.expandRoles": { + "description": "Optional. If true, the access section of result will expand any roles\nappearing in IAM policy bindings to include their permissions.\n\nIf access_selector is specified, the access section of the result\nwill be determined by the selector, and this flag will have no effect.\n\nDefault is false.", + "location": "query", + "type": "boolean" + }, + "options.outputGroupEdges": { + "description": "Optional. If true, the result will output group identity edges, starting\nfrom the binding's group members, to any expanded identities.\nDefault is false.", + "location": "query", + "type": "boolean" + }, + "options.outputResourceEdges": { + "description": "Optional. If true, the result will output resource edges, starting\nfrom the policy attached resource, to any expanded resources.\nDefault is false.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The relative name of the root asset. Only resources and IAM policies within\nthe parent will be analyzed. This can only be an organization number (such\nas \"organizations/123\") or a folder number (such as \"folders/123\").\n\nTo know how to get organization id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).\n\nTo know how to get folder id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1p4beta1/{+parent}:analyzeIamPolicy", + "response": { + "$ref": "AnalyzeIamPolicyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportIamPolicyAnalysis": { + "description": "Exports the answers of which identities have what accesses on which\nresources to a Google Cloud Storage destination. The output format is\nthe JSON format that represents a AnalyzeIamPolicyResponse\nin the JSON format.\nThis method implements the google.longrunning.Operation, which allows\nyou to keep track of the export. We recommend intervals of at least 2\nseconds with exponential retry to poll the export operation result. The\nmetadata contains the request to help callers to map responses to requests.", + "flatPath": "v1p4beta1/{v1p4beta1Id}/{v1p4beta1Id1}:exportIamPolicyAnalysis", + "httpMethod": "POST", + "id": "cloudasset.exportIamPolicyAnalysis", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The relative name of the root asset. Only resources and IAM policies within\nthe parent will be analyzed. This can only be an organization number (such\nas \"organizations/123\") or a folder number (such as \"folders/123\").\n\nTo know how to get organization id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).\n\nTo know how to get folder id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1p4beta1/{+parent}:exportIamPolicyAnalysis", + "request": { + "$ref": "ExportIamPolicyAnalysisRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + }, + "revision": "20200613", + "rootUrl": "https://cloudasset.googleapis.com/", + "schemas": { + "AccessSelector": { + "description": "Specifies roles and/or permissions to analyze, to determine both the\nidentities possessing them and the resources they control. If multiple\nvalues are specified, results will include identities and resources\nmatching any of them.", + "id": "AccessSelector", + "properties": { + "permissions": { + "description": "Optional. The permissions to appear in result.", + "items": { + "type": "string" + }, + "type": "array" + }, + "roles": { + "description": "Optional. The roles to appear in result.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AnalyzeIamPolicyResponse": { + "description": "A response message for AssetService.AnalyzeIamPolicy.", + "id": "AnalyzeIamPolicyResponse", + "properties": { + "fullyExplored": { + "description": "Represents whether all entries in the main_analysis and\nservice_account_impersonation_analysis have been fully explored to\nanswer the query in the request.", + "type": "boolean" + }, + "mainAnalysis": { + "$ref": "IamPolicyAnalysis", + "description": "The main analysis that matches the original request." + }, + "nonCriticalErrors": { + "description": "A list of non-critical errors happened during the request handling to\nexplain why `fully_explored` is false, or empty if no error happened.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1AnalysisState" + }, + "type": "array" + }, + "serviceAccountImpersonationAnalysis": { + "description": "The service account impersonation analysis if\nAnalyzeIamPolicyRequest.analyze_service_account_impersonation is\nenabled.", + "items": { + "$ref": "IamPolicyAnalysis" + }, + "type": "array" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "ExportIamPolicyAnalysisRequest": { + "description": "A request message for AssetService.ExportIamPolicyAnalysis.", + "id": "ExportIamPolicyAnalysisRequest", + "properties": { + "analysisQuery": { + "$ref": "IamPolicyAnalysisQuery", + "description": "Required. The request query." + }, + "options": { + "$ref": "Options", + "description": "Optional. The request options." + }, + "outputConfig": { + "$ref": "IamPolicyAnalysisOutputConfig", + "description": "Required. Output configuration indicating where the results will be output to." + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "GcsDestination": { + "description": "A Cloud Storage location.", + "id": "GcsDestination", + "properties": { + "uri": { + "description": "Required. The uri of the Cloud Storage object. It's the same uri that is used by\ngsutil. For example: \"gs://bucket_name/object_name\". See [Viewing and\nEditing Object\nMetadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)\nfor more information.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1Access": { + "description": "An IAM role or permission under analysis.", + "id": "GoogleCloudAssetV1p4beta1Access", + "properties": { + "analysisState": { + "$ref": "GoogleCloudAssetV1p4beta1AnalysisState", + "description": "The analysis state of this access." + }, + "permission": { + "description": "The permission.", + "type": "string" + }, + "role": { + "description": "The role.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1AccessControlList": { + "description": "An access control list, derived from the above IAM policy binding, which\ncontains a set of resources and accesses. May include one\nitem from each set to compose an access control entry.\n\nNOTICE that there could be multiple access control lists for one IAM policy\nbinding. The access control lists are created based on resource and access\ncombinations.\n\nFor example, assume we have the following cases in one IAM policy binding:\n- Permission P1 and P2 apply to resource R1 and R2;\n- Permission P3 applies to resource R2 and R3;\n\nThis will result in the following access control lists:\n- AccessControlList 1: [R1, R2], [P1, P2]\n- AccessControlList 2: [R2, R3], [P3]", + "id": "GoogleCloudAssetV1p4beta1AccessControlList", + "properties": { + "accesses": { + "description": "The accesses that match one of the following conditions:\n- The access_selector, if it is specified in request;\n- Otherwise, access specifiers reachable from the policy binding's role.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Access" + }, + "type": "array" + }, + "resourceEdges": { + "description": "Resource edges of the graph starting from the policy attached\nresource to any descendant resources. The Edge.source_node contains\nthe full resource name of a parent resource and Edge.target_node\ncontains the full resource name of a child resource. This field is\npresent only if the output_resource_edges option is enabled in request.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Edge" + }, + "type": "array" + }, + "resources": { + "description": "The resources that match one of the following conditions:\n- The resource_selector, if it is specified in request;\n- Otherwise, resources reachable from the policy attached resource.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Resource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1AnalysisState": { + "description": "Represents the detailed state of an entity under analysis, such as a\nresource, an identity or an access.", + "id": "GoogleCloudAssetV1p4beta1AnalysisState", + "properties": { + "cause": { + "description": "The human-readable description of the cause of failure.", + "type": "string" + }, + "code": { + "description": "The Google standard error code that best describes the state.\nFor example:\n- OK means the analysis on this entity has been successfully finished;\n- PERMISSION_DENIED means an access denied error is encountered;\n- DEADLINE_EXCEEDED means the analysis on this entity hasn't been started\nin time;", + "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" + ], + "enumDescriptions": [ + "Not an error; returned on success\n\nHTTP Mapping: 200 OK", + "The operation was cancelled, typically by the caller.\n\nHTTP Mapping: 499 Client Closed Request", + "Unknown error. For example, this error may be returned when\na `Status` value received from another address space belongs to\nan error space that is not known in this address space. Also\nerrors raised by APIs that do not return enough error information\nmay be converted to this error.\n\nHTTP Mapping: 500 Internal Server Error", + "The client specified an invalid argument. Note that this differs\nfrom `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments\nthat are problematic regardless of the state of the system\n(e.g., a malformed file name).\n\nHTTP Mapping: 400 Bad Request", + "The deadline expired before the operation could complete. For operations\nthat change the state of the system, this error may be returned\neven if the operation has completed successfully. For example, a\nsuccessful response from a server could have been delayed long\nenough for the deadline to expire.\n\nHTTP Mapping: 504 Gateway Timeout", + "Some requested entity (e.g., file or directory) was not found.\n\nNote to server developers: if a request is denied for an entire class\nof users, such as gradual feature rollout or undocumented whitelist,\n`NOT_FOUND` may be used. If a request is denied for some users within\na class of users, such as user-based access control, `PERMISSION_DENIED`\nmust be used.\n\nHTTP Mapping: 404 Not Found", + "The entity that a client attempted to create (e.g., file or directory)\nalready exists.\n\nHTTP Mapping: 409 Conflict", + "The caller does not have permission to execute the specified\noperation. `PERMISSION_DENIED` must not be used for rejections\ncaused by exhausting some resource (use `RESOURCE_EXHAUSTED`\ninstead for those errors). `PERMISSION_DENIED` must not be\nused if the caller can not be identified (use `UNAUTHENTICATED`\ninstead for those errors). This error code does not imply the\nrequest is valid or the requested entity exists or satisfies\nother pre-conditions.\n\nHTTP Mapping: 403 Forbidden", + "The request does not have valid authentication credentials for the\noperation.\n\nHTTP Mapping: 401 Unauthorized", + "Some resource has been exhausted, perhaps a per-user quota, or\nperhaps the entire file system is out of space.\n\nHTTP Mapping: 429 Too Many Requests", + "The operation was rejected because the system is not in a state\nrequired for the operation's execution. For example, the directory\nto be deleted is non-empty, an rmdir operation is applied to\na non-directory, etc.\n\nService implementors can use the following guidelines to decide\nbetween `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:\n (a) Use `UNAVAILABLE` if the client can retry just the failing call.\n (b) Use `ABORTED` if the client should retry at a higher level\n (e.g., when a client-specified test-and-set fails, indicating the\n client should restart a read-modify-write sequence).\n (c) Use `FAILED_PRECONDITION` if the client should not retry until\n the system state has been explicitly fixed. E.g., if an \"rmdir\"\n fails because the directory is non-empty, `FAILED_PRECONDITION`\n should be returned since the client should not retry unless\n the files are deleted from the directory.\n\nHTTP Mapping: 400 Bad Request", + "The operation was aborted, typically due to a concurrency issue such as\na sequencer check failure or transaction abort.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 409 Conflict", + "The operation was attempted past the valid range. E.g., seeking or\nreading past end-of-file.\n\nUnlike `INVALID_ARGUMENT`, this error indicates a problem that may\nbe fixed if the system state changes. For example, a 32-bit file\nsystem will generate `INVALID_ARGUMENT` if asked to read at an\noffset that is not in the range [0,2^32-1], but it will generate\n`OUT_OF_RANGE` if asked to read from an offset past the current\nfile size.\n\nThere is a fair bit of overlap between `FAILED_PRECONDITION` and\n`OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific\nerror) when it applies so that callers who are iterating through\na space can easily look for an `OUT_OF_RANGE` error to detect when\nthey are done.\n\nHTTP Mapping: 400 Bad Request", + "The operation is not implemented or is not supported/enabled in this\nservice.\n\nHTTP Mapping: 501 Not Implemented", + "Internal errors. This means that some invariants expected by the\nunderlying system have been broken. This error code is reserved\nfor serious errors.\n\nHTTP Mapping: 500 Internal Server Error", + "The service is currently unavailable. This is most likely a\ntransient condition, which can be corrected by retrying with\na backoff. Note that it is not always safe to retry\nnon-idempotent operations.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 503 Service Unavailable", + "Unrecoverable data loss or corruption.\n\nHTTP Mapping: 500 Internal Server Error" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1Edge": { + "description": "A directional edge.", + "id": "GoogleCloudAssetV1p4beta1Edge", + "properties": { + "sourceNode": { + "description": "The source node of the edge.", + "type": "string" + }, + "targetNode": { + "description": "The target node of the edge.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1Identity": { + "description": "An identity under analysis.", + "id": "GoogleCloudAssetV1p4beta1Identity", + "properties": { + "analysisState": { + "$ref": "GoogleCloudAssetV1p4beta1AnalysisState", + "description": "The analysis state of this identity." + }, + "name": { + "description": "The identity name in any form of members appear in\n[IAM policy\nbinding](https://cloud.google.com/iam/reference/rest/v1/Binding), such\nas:\n- user:foo@google.com\n- group:group1@google.com\n- serviceAccount:s1@prj1.iam.gserviceaccount.com\n- projectOwner:some_project_id\n- domain:google.com\n- allUsers\n- etc.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1IdentityList": { + "id": "GoogleCloudAssetV1p4beta1IdentityList", + "properties": { + "groupEdges": { + "description": "Group identity edges of the graph starting from the binding's\ngroup members to any node of the identities. The Edge.source_node\ncontains a group, such as \"group:parent@google.com\". The\nEdge.target_node contains a member of the group,\nsuch as \"group:child@google.com\" or \"user:foo@google.com\".\nThis field is present only if the output_group_edges option is enabled in\nrequest.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Edge" + }, + "type": "array" + }, + "identities": { + "description": "Only the identities that match one of the following conditions will be\npresented:\n- The identity_selector, if it is specified in request;\n- Otherwise, identities reachable from the policy binding's members.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1Identity" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAssetV1p4beta1Resource": { + "description": "A Google Cloud resource under analysis.", + "id": "GoogleCloudAssetV1p4beta1Resource", + "properties": { + "analysisState": { + "$ref": "GoogleCloudAssetV1p4beta1AnalysisState", + "description": "The analysis state of this resource." + }, + "fullResourceName": { + "description": "The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)", + "type": "string" + } + }, + "type": "object" + }, + "IamPolicyAnalysis": { + "description": "An analysis message to group the query and results.", + "id": "IamPolicyAnalysis", + "properties": { + "analysisQuery": { + "$ref": "IamPolicyAnalysisQuery", + "description": "The analysis query." + }, + "analysisResults": { + "description": "A list of IamPolicyAnalysisResult that matches the analysis query, or\nempty if no result is found.", + "items": { + "$ref": "IamPolicyAnalysisResult" + }, + "type": "array" + }, + "fullyExplored": { + "description": "Represents whether all entries in the analysis_results have been\nfully explored to answer the query.", + "type": "boolean" + } + }, + "type": "object" + }, + "IamPolicyAnalysisOutputConfig": { + "description": "Output configuration for export IAM policy analysis destination.", + "id": "IamPolicyAnalysisOutputConfig", + "properties": { + "gcsDestination": { + "$ref": "GcsDestination", + "description": "Destination on Cloud Storage." + } + }, + "type": "object" + }, + "IamPolicyAnalysisQuery": { + "description": "IAM policy analysis query message.", + "id": "IamPolicyAnalysisQuery", + "properties": { + "accessSelector": { + "$ref": "AccessSelector", + "description": "Optional. Specifies roles or permissions for analysis. This is optional." + }, + "identitySelector": { + "$ref": "IdentitySelector", + "description": "Optional. Specifies an identity for analysis. Either ResourceSelector or\nIdentitySelector must be specified." + }, + "parent": { + "description": "Required. The relative name of the root asset. Only resources and IAM policies within\nthe parent will be analyzed. This can only be an organization number (such\nas \"organizations/123\") or a folder number (such as \"folders/123\").\n\nTo know how to get organization id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).\n\nTo know how to get folder id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).", + "type": "string" + }, + "resourceSelector": { + "$ref": "ResourceSelector", + "description": "Optional. Specifies a resource for analysis. Either ResourceSelector or\nIdentitySelector must be specified." + } + }, + "type": "object" + }, + "IamPolicyAnalysisResult": { + "description": "IAM Policy analysis result, consisting of one IAM policy binding and derived\naccess control lists.", + "id": "IamPolicyAnalysisResult", + "properties": { + "accessControlLists": { + "description": "The access control lists derived from the iam_binding that match or\npotentially match resource and access selectors specified in the request.", + "items": { + "$ref": "GoogleCloudAssetV1p4beta1AccessControlList" + }, + "type": "array" + }, + "attachedResourceFullName": { + "description": "The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nof the resource to which the iam_binding policy attaches.", + "type": "string" + }, + "fullyExplored": { + "description": "Represents whether all analyses on the iam_binding have successfully\nfinished.", + "type": "boolean" + }, + "iamBinding": { + "$ref": "Binding", + "description": "The Cloud IAM policy binding under analysis." + }, + "identityList": { + "$ref": "GoogleCloudAssetV1p4beta1IdentityList", + "description": "The identity list derived from members of the iam_binding that match or\npotentially match identity selector specified in the request." + } + }, + "type": "object" + }, + "IdentitySelector": { + "description": "Specifies an identity for which to determine resource access, based on\nroles assigned either directly to them or to the groups they belong to,\ndirectly or indirectly.", + "id": "IdentitySelector", + "properties": { + "identity": { + "description": "Required. The identity appear in the form of members in\n[IAM policy\nbinding](https://cloud.google.com/iam/reference/rest/v1/Binding).\n\nThe examples of supported forms are:\n\"user:mike@example.com\",\n\"group:admins@example.com\",\n\"domain:google.com\",\n\"serviceAccount:my-project-id@appspot.gserviceaccount.com\".\n\nNotice that wildcard characters (such as * and ?) are not supported.\nYou must give a specific identity.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Options": { + "description": "Contains request options.", + "id": "Options", + "properties": { + "analyzeServiceAccountImpersonation": { + "description": "Optional. If true, the response will include access analysis from identities to\nresources via service account impersonation. This is a very expensive\noperation, because many derived queries will be executed.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and there's an IAM policy states user A has\niam.serviceAccounts.getAccessToken permission to a service account SA,\nand there's another IAM policy states service account SA has permission P\nto a GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nAnother example, if the request analyzes for who has\npermission P to a GCP folder F, and there's an IAM policy states user A\nhas iam.serviceAccounts.actAs permission to a service account SA, and\nthere's another IAM policy states service account SA has permission P to\nthe GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nDefault is false.", + "type": "boolean" + }, + "expandGroups": { + "description": "Optional. If true, the identities section of the result will expand any\nGoogle groups appearing in an IAM policy binding.\n\nIf identity_selector is specified, the identity in the result will\nbe determined by the selector, and this flag will have no effect.\n\nDefault is false.", + "type": "boolean" + }, + "expandResources": { + "description": "Optional. If true, the resource section of the result will expand any\nresource attached to an IAM policy to include resources lower in the\nresource hierarchy.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and the results include an IAM policy with P on a GCP\nfolder, the results will also include resources in that folder with\npermission P.\n\nIf resource_selector is specified, the resource section of the result\nwill be determined by the selector, and this flag will have no effect.\nDefault is false.", + "type": "boolean" + }, + "expandRoles": { + "description": "Optional. If true, the access section of result will expand any roles\nappearing in IAM policy bindings to include their permissions.\n\nIf access_selector is specified, the access section of the result\nwill be determined by the selector, and this flag will have no effect.\n\nDefault is false.", + "type": "boolean" + }, + "outputGroupEdges": { + "description": "Optional. If true, the result will output group identity edges, starting\nfrom the binding's group members, to any expanded identities.\nDefault is false.", + "type": "boolean" + }, + "outputResourceEdges": { + "description": "Optional. If true, the result will output resource edges, starting\nfrom the policy attached resource, to any expanded resources.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "ResourceSelector": { + "description": "Specifies the resource to analyze for access policies, which may be set\ndirectly on the resource, or on ancestors such as organizations, folders or\nprojects.", + "id": "ResourceSelector", + "properties": { + "fullResourceName": { + "description": "Required. The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nof a resource of [supported resource\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Asset API", + "version": "v1p4beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/cloudbilling/v1/cloudbilling-api.json b/etc/api/cloudbilling/v1/cloudbilling-api.json index faf909b707..8c145dfea7 100644 --- a/etc/api/cloudbilling/v1/cloudbilling-api.json +++ b/etc/api/cloudbilling/v1/cloudbilling-api.json @@ -160,7 +160,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -495,7 +495,7 @@ } } }, - "revision": "20200401", + "revision": "20200623", "rootUrl": "https://cloudbilling.googleapis.com/", "schemas": { "AggregationInfo": { @@ -537,7 +537,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -555,7 +555,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -613,7 +613,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -675,6 +675,36 @@ }, "type": "object" }, + "GeoTaxonomy": { + "description": "Encapsulates the geographic taxonomy data for a sku.", + "id": "GeoTaxonomy", + "properties": { + "regions": { + "description": "The list of regions associated with a sku. Empty for Global skus, which are\nassociated with all GCP regions.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "The type of Geo Taxonomy: GLOBAL, REGIONAL, or MULTI_REGIONAL.", + "enum": [ + "TYPE_UNSPECIFIED", + "GLOBAL", + "REGIONAL", + "MULTI_REGIONAL" + ], + "enumDescriptions": [ + "The type is not specified.", + "The sku is global in nature, e.g. a license sku. Global skus are\navailable in all regions, and so have an empty region list.", + "The sku is available in a specific region, e.g. \"us-west2\".", + "The sku is associated with multiple regions, e.g. \"us-west2\" and\n\"us-east1\"." + ], + "type": "string" + } + }, + "type": "object" + }, "ListBillingAccountsResponse": { "description": "Response message for `ListBillingAccounts`.", "id": "ListBillingAccountsResponse", @@ -769,7 +799,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -792,7 +822,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -923,7 +953,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -942,6 +972,10 @@ "description": "A human readable description of the SKU, has a maximum length of 256\ncharacters.", "type": "string" }, + "geoTaxonomy": { + "$ref": "GeoTaxonomy", + "description": "The geographic taxonomy for this sku." + }, "name": { "description": "The resource name for the SKU.\nExample: \"services/DA34-426B-A397/skus/AA95-CD31-42FE\"", "type": "string" diff --git a/etc/api/cloudbuild/v1/cloudbuild-api.json b/etc/api/cloudbuild/v1/cloudbuild-api.json index 31307ddddd..e70a6d4d2a 100644 --- a/etc/api/cloudbuild/v1/cloudbuild-api.json +++ b/etc/api/cloudbuild/v1/cloudbuild-api.json @@ -159,47 +159,6 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "list": { - "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", - "flatPath": "v1/operations", - "httpMethod": "GET", - "id": "cloudbuild.operations.list", - "parameterOrder": [ - "name" - ], - "parameters": { - "filter": { - "description": "The standard list filter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the operation's parent resource.", - "location": "path", - "pattern": "^operations$", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "ListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] } } }, @@ -375,6 +334,67 @@ } } }, + "locations": { + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "triggers": { "methods": { "create": { @@ -574,7 +594,7 @@ } } }, - "revision": "20200323", + "revision": "20200704", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ArtifactObjects": { @@ -765,7 +785,7 @@ "type": "array" }, "timeout": { - "description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be `TIMEOUT`.\n\nDefault time is ten minutes.", + "description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be `TIMEOUT`.\n\n`timeout` starts ticking from `startTime`.\n\nDefault time is ten minutes.", "format": "google-duration", "type": "string" }, @@ -799,6 +819,10 @@ "format": "int64", "type": "string" }, + "dynamicSubstitutions": { + "description": "Option to specify whether or not to apply bash style string\noperations to the substitutions.\n\nNOTE: this is always enabled for triggered builds and cannot be\noverridden in the build configuration file.", + "type": "boolean" + }, "env": { "description": "A list of global environment variable definitions that will exist for all\nbuild steps in this build. If a variable is defined in both globally and in\na build step, the variable will use the build step value.\n\nThe elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\"\nbeing given the value \"VALUE\".", "items": { @@ -821,16 +845,20 @@ "type": "string" }, "logging": { - "description": "Option to specify the logging mode, which determines where the logs are\nstored.", + "description": "Option to specify the logging mode, which determines if and where build\nlogs are stored.", "enum": [ "LOGGING_UNSPECIFIED", "LEGACY", - "GCS_ONLY" + "GCS_ONLY", + "STACKDRIVER_ONLY", + "NONE" ], "enumDescriptions": [ "The service determines the logging mode. The default is `LEGACY`. Do not\nrely on the default logging behavior as it may change in the future.", - "Stackdriver logging and Cloud Storage logging are enabled.", - "Only Cloud Storage logging is enabled." + "Cloud Logging (Stackdriver) and Cloud Storage logging are enabled.", + "Only Cloud Storage logging is enabled.", + "Only Cloud Logging (Stackdriver) is enabled. Note that logs for both the\nCloud Console UI and Cloud SDK are based on Cloud Storage logs, so\nneither will provide logs if this option is chosen.", + "Turn off all logging. No build logs will be captured." ], "type": "string" }, @@ -885,7 +913,7 @@ "type": "array" }, "substitutionOption": { - "description": "Option to specify behavior when there is an error in the substitution\nchecks.", + "description": "Option to specify behavior when there is an error in the substitution\nchecks.\n\nNOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot\nbe overridden in the build configuration file.", "enum": [ "MUST_MATCH", "ALLOW_LOOSE" @@ -1158,6 +1186,17 @@ }, "type": "object" }, + "HTTPDelivery": { + "description": "HTTPDelivery is the delivery configuration for an HTTP notification.", + "id": "HTTPDelivery", + "properties": { + "uri": { + "description": "The URI to which JSON-containing HTTP POST requests should be sent.", + "type": "string" + } + }, + "type": "object" + }, "Hash": { "description": "Container message for hash values.", "id": "Hash", @@ -1220,18 +1259,113 @@ }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "Notification": { + "description": "Notification is the container which holds the data that is relevant to this\nparticular notification.", + "id": "Notification", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "filter": { + "description": "The filter string to use for notification filtering.\nCurrently, this is assumed to be a CEL program.\nSee https://opensource.google/projects/cel for more.", "type": "string" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", + "httpDelivery": { + "$ref": "HTTPDelivery", + "description": "Configuration for HTTP delivery." + }, + "slackDelivery": { + "$ref": "SlackDelivery", + "description": "Configuration for Slack delivery." + }, + "smtpDelivery": { + "$ref": "SMTPDelivery", + "description": "Configuration for SMTP (email) delivery." + }, + "structDelivery": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Escape hatch for users to supply custom delivery configs.", + "type": "object" + } + }, + "type": "object" + }, + "NotifierConfig": { + "description": "NotifierConfig is the top-level configuration message.", + "id": "NotifierConfig", + "properties": { + "apiVersion": { + "description": "The API version of this configuration format.", + "type": "string" + }, + "kind": { + "description": "The type of notifier to use (e.g. SMTPNotifier).", + "type": "string" + }, + "metadata": { + "$ref": "NotifierMetadata", + "description": "Metadata for referring to/handling/deploying this notifier." + }, + "spec": { + "$ref": "NotifierSpec", + "description": "The actual configuration for this notifier." + } + }, + "type": "object" + }, + "NotifierMetadata": { + "description": "NotifierMetadata contains the data which can be used to reference or describe\nthis notifier.", + "id": "NotifierMetadata", + "properties": { + "name": { + "description": "The human-readable and user-given name for the notifier.\nFor example: \"repo-merge-email-notifier\".", + "type": "string" + }, + "notifier": { + "description": "The string representing the name and version of notifier to deploy.\nExpected to be of the form of \"/:\".\nFor example: \"gcr.io/my-project/notifiers/smtp:1.2.34\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecret": { + "description": "NotifierSecret is the container that maps a secret name (reference) to its\nGoogle Cloud Secret Manager resource path.", + "id": "NotifierSecret", + "properties": { + "name": { + "description": "Name is the local name of the secret, such as the verbatim string\n\"my-smtp-password\".", + "type": "string" + }, + "value": { + "description": "Value is interpreted to be a resource path for fetching the actual\n(versioned) secret data for this secret. For example, this would be a\nGoogle Cloud Secret Manager secret version resource path like:\n\"projects/my-project/secrets/my-secret/versions/latest\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecretRef": { + "description": "NotifierSecretRef contains the reference to a secret stored in the\ncorresponding NotifierSpec.", + "id": "NotifierSecretRef", + "properties": { + "secretRef": { + "description": "The value of `secret_ref` should be a `name` that is registered in a\n`Secret` in the `secrets` list of the `Spec`.", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSpec": { + "description": "NotifierSpec is the configuration container for notifications.", + "id": "NotifierSpec", + "properties": { + "notification": { + "$ref": "Notification", + "description": "The configuration of this particular notifier." + }, + "secrets": { + "description": "Configurations for secret resources used by this particular notifier.", "items": { - "$ref": "Operation" + "$ref": "NotifierSecret" }, "type": "array" } @@ -1282,7 +1416,7 @@ "type": "string" }, "commentControl": { - "description": "Whether to block builds on a \"/gcbrun\" comment from a repository admin or\ncollaborator.", + "description": "Configure builds to run whether a repository owner or collaborator need to\ncomment `/gcbrun`.", "enum": [ "COMMENTS_DISABLED", "COMMENTS_ENABLED" @@ -1409,6 +1543,40 @@ "properties": {}, "type": "object" }, + "SMTPDelivery": { + "description": "SMTPDelivery is the delivery configuration for an SMTP (email) notification.", + "id": "SMTPDelivery", + "properties": { + "fromAddress": { + "description": "This is the SMTP account/email that appears in the `From:` of the email.\nIf empty, it is assumed to be sender.", + "type": "string" + }, + "password": { + "$ref": "NotifierSecretRef", + "description": "The SMTP sender's password." + }, + "port": { + "description": "The SMTP port of the server.", + "type": "string" + }, + "recipientAddresses": { + "description": "This is the list of addresses to which we send the email (i.e. in the `To:`\nof the email).", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderAddress": { + "description": "This is the SMTP account/email that is used to send the message.", + "type": "string" + }, + "server": { + "description": "The address of the SMTP server.", + "type": "string" + } + }, + "type": "object" + }, "Secret": { "description": "Pairs a set of secret environment variables containing encrypted\nvalues with the Cloud KMS key to use to decrypt the value.", "id": "Secret", @@ -1428,6 +1596,17 @@ }, "type": "object" }, + "SlackDelivery": { + "description": "SlackDelivery is the delivery configuration for delivering Slack messages via\nwebhooks. See Slack webhook documentation at:\nhttps://api.slack.com/messaging/webhooks.", + "id": "SlackDelivery", + "properties": { + "webhookUri": { + "$ref": "NotifierSecretRef", + "description": "The secret reference for the Slack webhook URI for sending messages to a\nchannel." + } + }, + "type": "object" + }, "Source": { "description": "Location of the source in a supported storage service.", "id": "Source", diff --git a/etc/api/cloudbuild/v1alpha1/cloudbuild-api.json b/etc/api/cloudbuild/v1alpha1/cloudbuild-api.json index fc7984cae7..3567492cf3 100644 --- a/etc/api/cloudbuild/v1alpha1/cloudbuild-api.json +++ b/etc/api/cloudbuild/v1alpha1/cloudbuild-api.json @@ -107,6 +107,67 @@ "resources": { "projects": { "resources": { + "locations": { + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "workerPools": { "methods": { "create": { @@ -245,7 +306,7 @@ } } }, - "revision": "20200323", + "revision": "20200704", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ArtifactObjects": { @@ -436,7 +497,7 @@ "type": "array" }, "timeout": { - "description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be `TIMEOUT`.\n\nDefault time is ten minutes.", + "description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be `TIMEOUT`.\n\n`timeout` starts ticking from `startTime`.\n\nDefault time is ten minutes.", "format": "google-duration", "type": "string" }, @@ -470,6 +531,10 @@ "format": "int64", "type": "string" }, + "dynamicSubstitutions": { + "description": "Option to specify whether or not to apply bash style string\noperations to the substitutions.\n\nNOTE: this is always enabled for triggered builds and cannot be\noverridden in the build configuration file.", + "type": "boolean" + }, "env": { "description": "A list of global environment variable definitions that will exist for all\nbuild steps in this build. If a variable is defined in both globally and in\na build step, the variable will use the build step value.\n\nThe elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\"\nbeing given the value \"VALUE\".", "items": { @@ -492,16 +557,20 @@ "type": "string" }, "logging": { - "description": "Option to specify the logging mode, which determines where the logs are\nstored.", + "description": "Option to specify the logging mode, which determines if and where build\nlogs are stored.", "enum": [ "LOGGING_UNSPECIFIED", "LEGACY", - "GCS_ONLY" + "GCS_ONLY", + "STACKDRIVER_ONLY", + "NONE" ], "enumDescriptions": [ "The service determines the logging mode. The default is `LEGACY`. Do not\nrely on the default logging behavior as it may change in the future.", - "Stackdriver logging and Cloud Storage logging are enabled.", - "Only Cloud Storage logging is enabled." + "Cloud Logging (Stackdriver) and Cloud Storage logging are enabled.", + "Only Cloud Storage logging is enabled.", + "Only Cloud Logging (Stackdriver) is enabled. Note that logs for both the\nCloud Console UI and Cloud SDK are based on Cloud Storage logs, so\nneither will provide logs if this option is chosen.", + "Turn off all logging. No build logs will be captured." ], "type": "string" }, @@ -556,7 +625,7 @@ "type": "array" }, "substitutionOption": { - "description": "Option to specify behavior when there is an error in the substitution\nchecks.", + "description": "Option to specify behavior when there is an error in the substitution\nchecks.\n\nNOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot\nbe overridden in the build configuration file.", "enum": [ "MUST_MATCH", "ALLOW_LOOSE" @@ -697,6 +766,12 @@ }, "type": "object" }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -717,6 +792,17 @@ }, "type": "object" }, + "HTTPDelivery": { + "description": "HTTPDelivery is the delivery configuration for an HTTP notification.", + "id": "HTTPDelivery", + "properties": { + "uri": { + "description": "The URI to which JSON-containing HTTP POST requests should be sent.", + "type": "string" + } + }, + "type": "object" + }, "Hash": { "description": "Container message for hash values.", "id": "Hash", @@ -776,6 +862,154 @@ }, "type": "object" }, + "Notification": { + "description": "Notification is the container which holds the data that is relevant to this\nparticular notification.", + "id": "Notification", + "properties": { + "filter": { + "description": "The filter string to use for notification filtering.\nCurrently, this is assumed to be a CEL program.\nSee https://opensource.google/projects/cel for more.", + "type": "string" + }, + "httpDelivery": { + "$ref": "HTTPDelivery", + "description": "Configuration for HTTP delivery." + }, + "slackDelivery": { + "$ref": "SlackDelivery", + "description": "Configuration for Slack delivery." + }, + "smtpDelivery": { + "$ref": "SMTPDelivery", + "description": "Configuration for SMTP (email) delivery." + }, + "structDelivery": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Escape hatch for users to supply custom delivery configs.", + "type": "object" + } + }, + "type": "object" + }, + "NotifierConfig": { + "description": "NotifierConfig is the top-level configuration message.", + "id": "NotifierConfig", + "properties": { + "apiVersion": { + "description": "The API version of this configuration format.", + "type": "string" + }, + "kind": { + "description": "The type of notifier to use (e.g. SMTPNotifier).", + "type": "string" + }, + "metadata": { + "$ref": "NotifierMetadata", + "description": "Metadata for referring to/handling/deploying this notifier." + }, + "spec": { + "$ref": "NotifierSpec", + "description": "The actual configuration for this notifier." + } + }, + "type": "object" + }, + "NotifierMetadata": { + "description": "NotifierMetadata contains the data which can be used to reference or describe\nthis notifier.", + "id": "NotifierMetadata", + "properties": { + "name": { + "description": "The human-readable and user-given name for the notifier.\nFor example: \"repo-merge-email-notifier\".", + "type": "string" + }, + "notifier": { + "description": "The string representing the name and version of notifier to deploy.\nExpected to be of the form of \"/:\".\nFor example: \"gcr.io/my-project/notifiers/smtp:1.2.34\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecret": { + "description": "NotifierSecret is the container that maps a secret name (reference) to its\nGoogle Cloud Secret Manager resource path.", + "id": "NotifierSecret", + "properties": { + "name": { + "description": "Name is the local name of the secret, such as the verbatim string\n\"my-smtp-password\".", + "type": "string" + }, + "value": { + "description": "Value is interpreted to be a resource path for fetching the actual\n(versioned) secret data for this secret. For example, this would be a\nGoogle Cloud Secret Manager secret version resource path like:\n\"projects/my-project/secrets/my-secret/versions/latest\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecretRef": { + "description": "NotifierSecretRef contains the reference to a secret stored in the\ncorresponding NotifierSpec.", + "id": "NotifierSecretRef", + "properties": { + "secretRef": { + "description": "The value of `secret_ref` should be a `name` that is registered in a\n`Secret` in the `secrets` list of the `Spec`.", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSpec": { + "description": "NotifierSpec is the configuration container for notifications.", + "id": "NotifierSpec", + "properties": { + "notification": { + "$ref": "Notification", + "description": "The configuration of this particular notifier." + }, + "secrets": { + "description": "Configurations for secret resources used by this particular notifier.", + "items": { + "$ref": "NotifierSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, "RepoSource": { "description": "Location of the source in a Google Cloud Source Repository.", "id": "RepoSource", @@ -860,6 +1094,40 @@ }, "type": "object" }, + "SMTPDelivery": { + "description": "SMTPDelivery is the delivery configuration for an SMTP (email) notification.", + "id": "SMTPDelivery", + "properties": { + "fromAddress": { + "description": "This is the SMTP account/email that appears in the `From:` of the email.\nIf empty, it is assumed to be sender.", + "type": "string" + }, + "password": { + "$ref": "NotifierSecretRef", + "description": "The SMTP sender's password." + }, + "port": { + "description": "The SMTP port of the server.", + "type": "string" + }, + "recipientAddresses": { + "description": "This is the list of addresses to which we send the email (i.e. in the `To:`\nof the email).", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderAddress": { + "description": "This is the SMTP account/email that is used to send the message.", + "type": "string" + }, + "server": { + "description": "The address of the SMTP server.", + "type": "string" + } + }, + "type": "object" + }, "Secret": { "description": "Pairs a set of secret environment variables containing encrypted\nvalues with the Cloud KMS key to use to decrypt the value.", "id": "Secret", @@ -879,6 +1147,17 @@ }, "type": "object" }, + "SlackDelivery": { + "description": "SlackDelivery is the delivery configuration for delivering Slack messages via\nwebhooks. See Slack webhook documentation at:\nhttps://api.slack.com/messaging/webhooks.", + "id": "SlackDelivery", + "properties": { + "webhookUri": { + "$ref": "NotifierSecretRef", + "description": "The secret reference for the Slack webhook URI for sending messages to a\nchannel." + } + }, + "type": "object" + }, "Source": { "description": "Location of the source in a supported storage service.", "id": "Source", @@ -916,6 +1195,33 @@ }, "type": "object" }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, "StorageSource": { "description": "Location of the source in an archive file in Google Cloud Storage.", "id": "StorageSource", diff --git a/etc/api/cloudbuild/v1alpha2/cloudbuild-api.json b/etc/api/cloudbuild/v1alpha2/cloudbuild-api.json index a3cbe36a4c..afc9e83942 100644 --- a/etc/api/cloudbuild/v1alpha2/cloudbuild-api.json +++ b/etc/api/cloudbuild/v1alpha2/cloudbuild-api.json @@ -107,6 +107,67 @@ "resources": { "projects": { "resources": { + "locations": { + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "workerPools": { "methods": { "create": { @@ -256,7 +317,7 @@ } } }, - "revision": "20200323", + "revision": "20200704", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ArtifactObjects": { @@ -447,7 +508,7 @@ "type": "array" }, "timeout": { - "description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be `TIMEOUT`.\n\nDefault time is ten minutes.", + "description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be `TIMEOUT`.\n\n`timeout` starts ticking from `startTime`.\n\nDefault time is ten minutes.", "format": "google-duration", "type": "string" }, @@ -481,6 +542,10 @@ "format": "int64", "type": "string" }, + "dynamicSubstitutions": { + "description": "Option to specify whether or not to apply bash style string\noperations to the substitutions.\n\nNOTE: this is always enabled for triggered builds and cannot be\noverridden in the build configuration file.", + "type": "boolean" + }, "env": { "description": "A list of global environment variable definitions that will exist for all\nbuild steps in this build. If a variable is defined in both globally and in\na build step, the variable will use the build step value.\n\nThe elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\"\nbeing given the value \"VALUE\".", "items": { @@ -503,16 +568,20 @@ "type": "string" }, "logging": { - "description": "Option to specify the logging mode, which determines where the logs are\nstored.", + "description": "Option to specify the logging mode, which determines if and where build\nlogs are stored.", "enum": [ "LOGGING_UNSPECIFIED", "LEGACY", - "GCS_ONLY" + "GCS_ONLY", + "STACKDRIVER_ONLY", + "NONE" ], "enumDescriptions": [ "The service determines the logging mode. The default is `LEGACY`. Do not\nrely on the default logging behavior as it may change in the future.", - "Stackdriver logging and Cloud Storage logging are enabled.", - "Only Cloud Storage logging is enabled." + "Cloud Logging (Stackdriver) and Cloud Storage logging are enabled.", + "Only Cloud Storage logging is enabled.", + "Only Cloud Logging (Stackdriver) is enabled. Note that logs for both the\nCloud Console UI and Cloud SDK are based on Cloud Storage logs, so\nneither will provide logs if this option is chosen.", + "Turn off all logging. No build logs will be captured." ], "type": "string" }, @@ -567,7 +636,7 @@ "type": "array" }, "substitutionOption": { - "description": "Option to specify behavior when there is an error in the substitution\nchecks.", + "description": "Option to specify behavior when there is an error in the substitution\nchecks.\n\nNOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot\nbe overridden in the build configuration file.", "enum": [ "MUST_MATCH", "ALLOW_LOOSE" @@ -708,6 +777,12 @@ }, "type": "object" }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -728,6 +803,17 @@ }, "type": "object" }, + "HTTPDelivery": { + "description": "HTTPDelivery is the delivery configuration for an HTTP notification.", + "id": "HTTPDelivery", + "properties": { + "uri": { + "description": "The URI to which JSON-containing HTTP POST requests should be sent.", + "type": "string" + } + }, + "type": "object" + }, "Hash": { "description": "Container message for hash values.", "id": "Hash", @@ -779,6 +865,154 @@ }, "type": "object" }, + "Notification": { + "description": "Notification is the container which holds the data that is relevant to this\nparticular notification.", + "id": "Notification", + "properties": { + "filter": { + "description": "The filter string to use for notification filtering.\nCurrently, this is assumed to be a CEL program.\nSee https://opensource.google/projects/cel for more.", + "type": "string" + }, + "httpDelivery": { + "$ref": "HTTPDelivery", + "description": "Configuration for HTTP delivery." + }, + "slackDelivery": { + "$ref": "SlackDelivery", + "description": "Configuration for Slack delivery." + }, + "smtpDelivery": { + "$ref": "SMTPDelivery", + "description": "Configuration for SMTP (email) delivery." + }, + "structDelivery": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Escape hatch for users to supply custom delivery configs.", + "type": "object" + } + }, + "type": "object" + }, + "NotifierConfig": { + "description": "NotifierConfig is the top-level configuration message.", + "id": "NotifierConfig", + "properties": { + "apiVersion": { + "description": "The API version of this configuration format.", + "type": "string" + }, + "kind": { + "description": "The type of notifier to use (e.g. SMTPNotifier).", + "type": "string" + }, + "metadata": { + "$ref": "NotifierMetadata", + "description": "Metadata for referring to/handling/deploying this notifier." + }, + "spec": { + "$ref": "NotifierSpec", + "description": "The actual configuration for this notifier." + } + }, + "type": "object" + }, + "NotifierMetadata": { + "description": "NotifierMetadata contains the data which can be used to reference or describe\nthis notifier.", + "id": "NotifierMetadata", + "properties": { + "name": { + "description": "The human-readable and user-given name for the notifier.\nFor example: \"repo-merge-email-notifier\".", + "type": "string" + }, + "notifier": { + "description": "The string representing the name and version of notifier to deploy.\nExpected to be of the form of \"/:\".\nFor example: \"gcr.io/my-project/notifiers/smtp:1.2.34\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecret": { + "description": "NotifierSecret is the container that maps a secret name (reference) to its\nGoogle Cloud Secret Manager resource path.", + "id": "NotifierSecret", + "properties": { + "name": { + "description": "Name is the local name of the secret, such as the verbatim string\n\"my-smtp-password\".", + "type": "string" + }, + "value": { + "description": "Value is interpreted to be a resource path for fetching the actual\n(versioned) secret data for this secret. For example, this would be a\nGoogle Cloud Secret Manager secret version resource path like:\n\"projects/my-project/secrets/my-secret/versions/latest\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecretRef": { + "description": "NotifierSecretRef contains the reference to a secret stored in the\ncorresponding NotifierSpec.", + "id": "NotifierSecretRef", + "properties": { + "secretRef": { + "description": "The value of `secret_ref` should be a `name` that is registered in a\n`Secret` in the `secrets` list of the `Spec`.", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSpec": { + "description": "NotifierSpec is the configuration container for notifications.", + "id": "NotifierSpec", + "properties": { + "notification": { + "$ref": "Notification", + "description": "The configuration of this particular notifier." + }, + "secrets": { + "description": "Configurations for secret resources used by this particular notifier.", + "items": { + "$ref": "NotifierSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, "RepoSource": { "description": "Location of the source in a Google Cloud Source Repository.", "id": "RepoSource", @@ -863,6 +1097,40 @@ }, "type": "object" }, + "SMTPDelivery": { + "description": "SMTPDelivery is the delivery configuration for an SMTP (email) notification.", + "id": "SMTPDelivery", + "properties": { + "fromAddress": { + "description": "This is the SMTP account/email that appears in the `From:` of the email.\nIf empty, it is assumed to be sender.", + "type": "string" + }, + "password": { + "$ref": "NotifierSecretRef", + "description": "The SMTP sender's password." + }, + "port": { + "description": "The SMTP port of the server.", + "type": "string" + }, + "recipientAddresses": { + "description": "This is the list of addresses to which we send the email (i.e. in the `To:`\nof the email).", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderAddress": { + "description": "This is the SMTP account/email that is used to send the message.", + "type": "string" + }, + "server": { + "description": "The address of the SMTP server.", + "type": "string" + } + }, + "type": "object" + }, "Secret": { "description": "Pairs a set of secret environment variables containing encrypted\nvalues with the Cloud KMS key to use to decrypt the value.", "id": "Secret", @@ -882,6 +1150,17 @@ }, "type": "object" }, + "SlackDelivery": { + "description": "SlackDelivery is the delivery configuration for delivering Slack messages via\nwebhooks. See Slack webhook documentation at:\nhttps://api.slack.com/messaging/webhooks.", + "id": "SlackDelivery", + "properties": { + "webhookUri": { + "$ref": "NotifierSecretRef", + "description": "The secret reference for the Slack webhook URI for sending messages to a\nchannel." + } + }, + "type": "object" + }, "Source": { "description": "Location of the source in a supported storage service.", "id": "Source", @@ -919,6 +1198,33 @@ }, "type": "object" }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, "StorageSource": { "description": "Location of the source in an archive file in Google Cloud Storage.", "id": "StorageSource", diff --git a/etc/api/clouddebugger/v2/clouddebugger-api.json b/etc/api/clouddebugger/v2/clouddebugger-api.json index cff42d3d39..ed012025ee 100644 --- a/etc/api/clouddebugger/v2/clouddebugger-api.json +++ b/etc/api/clouddebugger/v2/clouddebugger-api.json @@ -144,6 +144,11 @@ "debuggeeId" ], "parameters": { + "agentId": { + "description": "Identifies the agent.\nThis is the ID returned in the RegisterDebuggee response.", + "location": "query", + "type": "string" + }, "debuggeeId": { "description": "Required. Identifies the debuggee.", "location": "path", @@ -393,6 +398,16 @@ "debuggeeId" ], "parameters": { + "canaryOption": { + "description": "The canary option set by the user upon setting breakpoint.", + "enum": [ + "CANARY_OPTION_UNSPECIFIED", + "CANARY_OPTION_TRY_ENABLE", + "CANARY_OPTION_TRY_DISABLE" + ], + "location": "query", + "type": "string" + }, "clientVersion": { "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", "location": "query", @@ -424,7 +439,7 @@ } } }, - "revision": "20200405", + "revision": "20200703", "rootUrl": "https://clouddebugger.googleapis.com/", "schemas": { "AliasContext": { @@ -470,6 +485,11 @@ ], "type": "string" }, + "canaryExpireTime": { + "description": "The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value\nis meaningless when the breakpoint is not in CANARY_ACTIVE state.", + "format": "google-datetime", + "type": "string" + }, "condition": { "description": "Condition that triggers the breakpoint.\nThe condition is a compound boolean expression composed using expressions\nin a programming language at the source location.", "type": "string" @@ -542,6 +562,24 @@ }, "type": "array" }, + "state": { + "description": "The current state of the breakpoint.", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_CANARY_PENDING_AGENTS", + "STATE_CANARY_ACTIVE", + "STATE_ROLLING_TO_ALL", + "STATE_IS_FINAL" + ], + "enumDescriptions": [ + "Breakpoint state UNSPECIFIED.", + "Enabling canary but no agents are available.", + "Enabling canary and successfully assigning canary agents.", + "Breakpoint rolling out to all agents.", + "Breakpoint is hit/complete/failed." + ], + "type": "string" + }, "status": { "$ref": "StatusMessage", "description": "Breakpoint status.\n\nThe status includes an error flag and a human readable message.\nThis field is usually unset. The message can be either\ninformational or an error message. Regardless, clients should always\ndisplay the text message back to the user.\n\nError status indicates complete failure of the breakpoint.\n\nExample (non-final state): `Still loading symbols...`\n\nExamples (final state):\n\n* `Invalid line number` referring to location\n* `Field f not found in class C` referring to condition" @@ -621,6 +659,24 @@ "description": "Version ID of the agent.\nSchema: `domain/language-platform/vmajor.minor` (for example\n`google.com/java-gcp/v1.1`).", "type": "string" }, + "canaryMode": { + "description": "Used when setting breakpoint canary for this debuggee.", + "enum": [ + "CANARY_MODE_UNSPECIFIED", + "CANARY_MODE_ALWAYS_ENABLED", + "CANARY_MODE_ALWAYS_DISABLED", + "CANARY_MODE_DEFAULT_ENABLED", + "CANARY_MODE_DEFAULT_DISABLED" + ], + "enumDescriptions": [ + "CANARY_MODE_UNSPECIFIED is equivalent to CANARY_MODE_ALWAYS_DISABLED so\nthat if the debuggee is not configured to use the canary feature, the\nfeature will be disabled.", + "Always enable breakpoint canary regardless of the value of breakpoint's\ncanary option.", + "Always disable breakpoint canary regardless of the value of breakpoint's\ncanary option.", + "Depends on the breakpoint's canary option. Enable canary by default if\nthe breakpoint's canary option is not specified.", + "Depends on the breakpoint's canary option. Disable canary by default if\nthe breakpoint's canary option is not specified." + ], + "type": "string" + }, "description": { "description": "Human readable description of the debuggee.\nIncluding a human-readable project name, environment name and version\ninformation is recommended.", "type": "string" @@ -852,6 +908,10 @@ "description": "Response for registering a debuggee.", "id": "RegisterDebuggeeResponse", "properties": { + "agentId": { + "description": "A unique ID generated for the agent.\nEach RegisterDebuggee request will generate a new agent ID.", + "type": "string" + }, "debuggee": { "$ref": "Debuggee", "description": "Debuggee resource.\nThe field `id` is guaranteed to be set (in addition to the echoed fields).\nIf the field `is_disabled` is set to `true`, the agent should disable\nitself by removing all breakpoints and detaching from the application.\nIt should however continue to poll `RegisterDebuggee` until reenabled." @@ -978,6 +1038,7 @@ "BREAKPOINT_CONDITION", "BREAKPOINT_EXPRESSION", "BREAKPOINT_AGE", + "BREAKPOINT_CANARY_FAILED", "VARIABLE_NAME", "VARIABLE_VALUE" ], @@ -987,6 +1048,7 @@ "Status applies to the breakpoint and is related to its condition.", "Status applies to the breakpoint and is related to its expressions.", "Status applies to the breakpoint and is related to its age.", + "Status applies to the breakpoint when the breakpoint failed to exit the\ncanary state.", "Status applies to the entire variable.", "Status applies to variable value (variable name is valid)." ], diff --git a/etc/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json b/etc/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json index f24cfbcba2..946b2d77b8 100644 --- a/etc/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json +++ b/etc/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json @@ -354,7 +354,7 @@ ], "parameters": { "groupName": { - "description": "Required. The group resource name. Written as\nprojects/projectID/groups/group_name.\nCall\n\ngroupStats.list to return a list of groups belonging to\nthis project.\n\nExample: projects/my-project-123/groups/my-group", + "description": "Required. The group resource name. Written as\n`projects/{projectID}/groups/{group_name}`. Call\n[`groupStats.list`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.groupStats/list)\nto return a list of groups belonging to this project.\n\nExample: `projects/my-project-123/groups/my-group`", "location": "path", "pattern": "^projects/[^/]+/groups/[^/]+$", "required": true, @@ -402,7 +402,7 @@ } } }, - "revision": "20200331", + "revision": "20200610", "rootUrl": "https://clouderrorreporting.googleapis.com/", "schemas": { "DeleteEventsResponse": { @@ -726,7 +726,7 @@ "id": "TrackingIssue", "properties": { "url": { - "description": "A URL pointing to a related entry in an issue tracking system.\nExample: https://github.com/user/project/issues/4", + "description": "A URL pointing to a related entry in an issue tracking system.\nExample: `https://github.com/user/project/issues/4`", "type": "string" } }, diff --git a/etc/api/cloudfunctions/v1/cloudfunctions-api.json b/etc/api/cloudfunctions/v1/cloudfunctions-api.json index df98039445..af3ed8505b 100644 --- a/etc/api/cloudfunctions/v1/cloudfunctions-api.json +++ b/etc/api/cloudfunctions/v1/cloudfunctions-api.json @@ -392,7 +392,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -546,11 +546,11 @@ } } }, - "revision": "20200401", + "revision": "20200629", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -568,7 +568,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -603,7 +603,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -658,6 +658,10 @@ "format": "int32", "type": "integer" }, + "buildId": { + "description": "Output only. The Cloud Build ID of the latest successful deployment of the\nfunction.", + "type": "string" + }, "description": { "description": "User-provided description of a function.", "type": "string" @@ -686,12 +690,14 @@ "enum": [ "INGRESS_SETTINGS_UNSPECIFIED", "ALLOW_ALL", - "ALLOW_INTERNAL_ONLY" + "ALLOW_INTERNAL_ONLY", + "ALLOW_INTERNAL_AND_GCLB" ], "enumDescriptions": [ "Unspecified.", "Allow HTTP traffic from public and private sources.", - "Allow HTTP traffic from only private VPC sources." + "Allow HTTP traffic from only private VPC sources.", + "Allow HTTP traffic from private VPC sources and through GCLB." ], "type": "string" }, @@ -1033,6 +1039,10 @@ "description": "Metadata describing an Operation", "id": "OperationMetadataV1", "properties": { + "buildId": { + "description": "The Cloud Build ID of the function created or updated by an API call.\nThis field is only populated for Create and Update operations.", + "type": "string" + }, "request": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -1120,7 +1130,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -1143,7 +1153,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1165,7 +1175,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/cloudfunctions/v1beta2/cloudfunctions-api.json b/etc/api/cloudfunctions/v1beta2/cloudfunctions-api.json index 77c97c4167..de2874cee0 100644 --- a/etc/api/cloudfunctions/v1beta2/cloudfunctions-api.json +++ b/etc/api/cloudfunctions/v1beta2/cloudfunctions-api.json @@ -453,7 +453,7 @@ } } }, - "revision": "20200401", + "revision": "20200629", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "CallFunctionRequest": { @@ -821,6 +821,10 @@ "description": "Metadata describing an Operation", "id": "OperationMetadataV1", "properties": { + "buildId": { + "description": "The Cloud Build ID of the function created or updated by an API call.\nThis field is only populated for Create and Update operations.", + "type": "string" + }, "request": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", diff --git a/etc/api/cloudidentity/v1/cloudidentity-api.json b/etc/api/cloudidentity/v1/cloudidentity-api.json index 923dca35ef..0d742561ec 100644 --- a/etc/api/cloudidentity/v1/cloudidentity-api.json +++ b/etc/api/cloudidentity/v1/cloudidentity-api.json @@ -512,7 +512,7 @@ } } }, - "revision": "20200401", + "revision": "20200707", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "EntityKey": { diff --git a/etc/api/cloudidentity/v1beta1/cloudidentity-api.json b/etc/api/cloudidentity/v1beta1/cloudidentity-api.json index 9aaacf88fd..137448236b 100644 --- a/etc/api/cloudidentity/v1beta1/cloudidentity-api.json +++ b/etc/api/cloudidentity/v1beta1/cloudidentity-api.json @@ -550,68 +550,17 @@ } } }, - "revision": "20200401", + "revision": "20200707", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AndroidAttributes": { "description": "Resource representing the Android specific attributes of a Device.", "id": "AndroidAttributes", "properties": { - "basebandVersion": { - "description": "Baseband version of Android device.", - "type": "string" - }, - "bootloaderVersion": { - "description": "Device bootloader version. Example: 0.6.7.", - "type": "string" - }, - "buildNumber": { - "description": "Build number of Android device.", - "type": "string" - }, - "enabledDeveloperOptions": { - "description": "Whether developer options is enabled on device.", - "type": "boolean" - }, "enabledUnknownSources": { "description": "Whether applications from unknown sources can be installed on device.", "type": "boolean" }, - "enabledUsbDebugging": { - "description": "Whether adb (USB debugging) is enabled on device.", - "type": "boolean" - }, - "encryptionState": { - "description": "Device encryption state.", - "enum": [ - "ENCRYPTION_STATE_UNSPECIFIED", - "UNSUPPORTED_BY_DEVICE", - "ENCRYPTED", - "NOT_ENCRYPTED" - ], - "enumDescriptions": [ - "Encryption Status is not set.", - "Device doesn't support encryption.", - "Device is encrypted.", - "Device is not encrypted." - ], - "type": "string" - }, - "hardware": { - "description": "Device hardware. Example: Sprout.", - "type": "string" - }, - "kernelVersion": { - "description": "Kernel version of Android device.", - "type": "string" - }, - "otherAccounts": { - "description": "Domain name for Google accounts on device. Type for other accounts on\ndevice. Will only be populated if |ownership_privilege| is\n|PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in\nto the device policy app if that account's domain has only one account.\nExamples: \"com.example\", \"xyz.com\".", - "items": { - "type": "string" - }, - "type": "array" - }, "ownerProfileAccount": { "description": "Whether this account is on an owner/primary profile.\nFor phones, only true for owner profiles. Android 4+ devices\ncan have secondary or restricted user profiles.", "type": "boolean" @@ -632,11 +581,6 @@ ], "type": "string" }, - "securityPatchTime": { - "description": "OS security patch update time on device.", - "format": "google-datetime", - "type": "string" - }, "supportsWorkProfile": { "description": "Whether device supports Android work profiles. If false, this service\nwill not block access to corp data even if an administrator turns on the\n\"Enforce Work Profile\" policy.", "type": "boolean" @@ -688,6 +632,135 @@ }, "type": "object" }, + "ClientState": { + "description": "Resource representing ClientState and supports updates from API users", + "id": "ClientState", + "properties": { + "assetTags": { + "description": "The caller can specify asset tags for this resource", + "items": { + "type": "string" + }, + "type": "array" + }, + "complianceState": { + "description": "The compliance state of the resource as specified by the API client.", + "enum": [ + "COMPLIANCE_STATE_UNSPECIFIED", + "COMPLIANT", + "NON_COMPLIANT" + ], + "enumDescriptions": [ + "The compliance state of the resource is unknown or unspecified.", + "Device is compliant with third party policies", + "Device is not compliant with third party policies" + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The time the client state data was created.", + "format": "google-datetime", + "type": "string" + }, + "customId": { + "description": "This field may be used to store a unique identifier for the API resource\nwithin which these CustomAttributes are a field.", + "type": "string" + }, + "etag": { + "description": "The token that needs to be passed back for\nconcurrency control in updates. Token needs to be passed back\nin UpdateRequest", + "type": "string" + }, + "healthScore": { + "description": "The Health score of the resource", + "enum": [ + "HEALTH_SCORE_UNSPECIFIED", + "VERY_POOR", + "POOR", + "NEUTRAL", + "GOOD", + "VERY_GOOD" + ], + "enumDescriptions": [ + "Default value", + "The object is in very poor health as defined by the caller.", + "The object is in poor health as defined by the caller.", + "The object health is neither good nor poor, as defined by the caller.", + "The object is in good health as defined by the caller.", + "The object is in very good health as defined by the caller." + ], + "type": "string" + }, + "keyValuePairs": { + "additionalProperties": { + "$ref": "CustomAttributeValue" + }, + "description": "The map of key-value attributes stored by callers specific to a\ndevice. The total serialized length of this map may not exceed 10KB. No\nlimit is placed on the number of attributes in a map.", + "type": "object" + }, + "lastUpdateTime": { + "description": "Output only. The time the client state data was last updated.", + "format": "google-datetime", + "type": "string" + }, + "managed": { + "description": "The management state of the resource as specified by the API client.", + "enum": [ + "MANAGED_STATE_UNSPECIFIED", + "MANAGED", + "UNMANAGED" + ], + "enumDescriptions": [ + "The management state of the resource is unknown or unspecified.", + "The resource is managed.", + "The resource is not managed." + ], + "type": "string" + }, + "name": { + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of\nthe ClientState in format:\n`devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`,\nwhere partner_id corresponds to the partner storing the data.", + "type": "string" + }, + "ownerType": { + "description": "Output only. The owner of the ClientState", + "enum": [ + "OWNER_TYPE_UNSPECIFIED", + "OWNER_TYPE_CUSTOMER", + "OWNER_TYPE_PARTNER" + ], + "enumDescriptions": [ + "Unknown owner type", + "Customer is the owner", + "Partner is the owner" + ], + "type": "string" + }, + "scoreReason": { + "description": "A descriptive cause of the health score.", + "type": "string" + } + }, + "type": "object" + }, + "CustomAttributeValue": { + "description": "Additional custom attribute values may be one of these types", + "id": "CustomAttributeValue", + "properties": { + "boolValue": { + "description": "Represents a boolean value.", + "type": "boolean" + }, + "numberValue": { + "description": "Represents a double value.", + "format": "double", + "type": "number" + }, + "stringValue": { + "description": "Represents a string value.", + "type": "string" + } + }, + "type": "object" + }, "Device": { "description": "Represents a Device known to Google Cloud, independent of the device\nownership, type, and whether it is assigned or in use by a user.", "id": "Device", @@ -700,10 +773,22 @@ "description": "Asset tag of the device.", "type": "string" }, + "basebandVersion": { + "description": "Output only. Baseband version of the device.", + "type": "string" + }, + "bootloaderVersion": { + "description": "Output only. Device bootloader version. Example: 0.6.7.", + "type": "string" + }, "brand": { "description": "Output only. Device brand. Example: Samsung.", "type": "string" }, + "buildNumber": { + "description": "Output only. Build number of the device.", + "type": "string" + }, "compromisedState": { "description": "Output only. Represents whether the Device is compromised.", "enum": [ @@ -747,10 +832,38 @@ ], "type": "string" }, + "enabledDeveloperOptions": { + "description": "Output only. Whether developer options is enabled on device.", + "type": "boolean" + }, + "enabledUsbDebugging": { + "description": "Output only. Whether USB debugging is enabled on device.", + "type": "boolean" + }, + "encryptionState": { + "description": "Output only. Device encryption state.", + "enum": [ + "ENCRYPTION_STATE_UNSPECIFIED", + "UNSUPPORTED_BY_DEVICE", + "ENCRYPTED", + "NOT_ENCRYPTED" + ], + "enumDescriptions": [ + "Encryption Status is not set.", + "Device doesn't support encryption.", + "Device is encrypted.", + "Device is not encrypted." + ], + "type": "string" + }, "imei": { "description": "Output only. IMEI number of device if GSM device; empty otherwise.", "type": "string" }, + "kernelVersion": { + "description": "Output only. Kernel version of the device.", + "type": "string" + }, "lastSyncTime": { "description": "Most recent time when device synced with this service.", "format": "google-datetime", @@ -802,8 +915,15 @@ "description": "Output only. OS version of the device. Example: Android 8.1.0.", "type": "string" }, + "otherAccounts": { + "description": "Output only. Domain name for Google accounts on device. Type for other accounts on\ndevice. On Android, will only be populated if |ownership_privilege| is\n|PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in\nto the device policy app if that account's domain has only one account.\nExamples: \"com.example\", \"xyz.com\".", + "items": { + "type": "string" + }, + "type": "array" + }, "ownerType": { - "description": "Whether the device is owned by the company or an individual", + "description": "Output only. Whether the device is owned by the company or an individual", "enum": [ "DEVICE_OWNERSHIP_UNSPECIFIED", "COMPANY", @@ -820,6 +940,11 @@ "description": "Output only. OS release version. Example: 6.0.", "type": "string" }, + "securityPatchTime": { + "description": "Output only. OS security patch update time on device.", + "format": "google-datetime", + "type": "string" + }, "serialNumber": { "description": "Serial Number of device. Example: HT82V1A01076.", "type": "string" @@ -852,6 +977,11 @@ ], "type": "string" }, + "createTime": { + "description": "When the user first signed in to the device", + "format": "google-datetime", + "type": "string" + }, "firstSyncTime": { "description": "Output only. Most recent time when user registered with this service.", "format": "google-datetime", @@ -1039,6 +1169,24 @@ }, "type": "object" }, + "ListClientStatesResponse": { + "description": "Response message that is returned in LRO result of ListClientStates\nOperation.", + "id": "ListClientStatesResponse", + "properties": { + "clientStates": { + "description": "Client states meeting the list restrictions.", + "items": { + "$ref": "ClientState" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results. Empty if there are no more\nresults.", + "type": "string" + } + }, + "type": "object" + }, "ListDeviceUsersResponse": { "description": "Response message that is returned in LRO result of ListDeviceUsers Operation.", "id": "ListDeviceUsersResponse", @@ -1201,6 +1349,24 @@ }, "type": "array" }, + "type": { + "description": "Output only. The type of the membership.", + "enum": [ + "TYPE_UNSPECIFIED", + "USER", + "SERVICE_ACCOUNT", + "GROUP", + "OTHER" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "Represents user type.", + "Represents service account type.", + "Represents group type.", + "Represents other type." + ], + "type": "string" + }, "updateTime": { "description": "Output only. The time when the `Membership` was last updated.", "format": "google-datetime", diff --git a/etc/api/cloudiot/v1/cloudiot-api.json b/etc/api/cloudiot/v1/cloudiot-api.json index 162af0e3ad..c7d20edbb7 100644 --- a/etc/api/cloudiot/v1/cloudiot-api.json +++ b/etc/api/cloudiot/v1/cloudiot-api.json @@ -928,7 +928,7 @@ } } }, - "revision": "20200331", + "revision": "20200519", "rootUrl": "https://cloudiot.googleapis.com/", "schemas": { "BindDeviceToGatewayRequest": { @@ -958,7 +958,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1291,7 +1291,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1301,7 +1301,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1432,7 +1432,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -1448,7 +1448,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/cloudkms/v1/cloudkms-api.json b/etc/api/cloudkms/v1/cloudkms-api.json index 059b7411b4..fbbb28ab96 100644 --- a/etc/api/cloudkms/v1/cloudkms-api.json +++ b/etc/api/cloudkms/v1/cloudkms-api.json @@ -254,7 +254,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -324,7 +324,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:setIamPolicy", "httpMethod": "POST", "id": "cloudkms.projects.locations.keyRings.setIamPolicy", @@ -353,7 +353,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:testIamPermissions", "httpMethod": "POST", "id": "cloudkms.projects.locations.keyRings.testIamPermissions", @@ -518,7 +518,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -632,7 +632,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:setIamPolicy", "httpMethod": "POST", "id": "cloudkms.projects.locations.keyRings.cryptoKeys.setIamPolicy", @@ -661,7 +661,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:testIamPermissions", "httpMethod": "POST", "id": "cloudkms.projects.locations.keyRings.cryptoKeys.testIamPermissions", @@ -1115,7 +1115,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -1185,7 +1185,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs/{importJobsId}:setIamPolicy", "httpMethod": "POST", "id": "cloudkms.projects.locations.keyRings.importJobs.setIamPolicy", @@ -1214,7 +1214,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs/{importJobsId}:testIamPermissions", "httpMethod": "POST", "id": "cloudkms.projects.locations.keyRings.importJobs.testIamPermissions", @@ -1251,7 +1251,7 @@ } } }, - "revision": "20200313", + "revision": "20200623", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AsymmetricDecryptRequest": { @@ -1262,6 +1262,11 @@ "description": "Required. The data encrypted with the named CryptoKeyVersion's public\nkey using OAEP.", "format": "byte", "type": "string" + }, + "ciphertextCrc32c": { + "description": "Optional. An optional CRC32C checksum of the AsymmetricDecryptRequest.ciphertext.\nIf specified, KeyManagementService will verify the integrity of the\nreceived AsymmetricDecryptRequest.ciphertext using this checksum.\nKeyManagementService will report an error if the checksum verification\nfails. If you receive a checksum error, your client should verify that\nCRC32C(AsymmetricDecryptRequest.ciphertext) is equal to\nAsymmetricDecryptRequest.ciphertext_crc32c, and if so, perform a\nlimited number of retries. A persistent mismatch may indicate an issue in\nyour computation of the CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -1274,6 +1279,15 @@ "description": "The decrypted data originally encrypted with the matching public key.", "format": "byte", "type": "string" + }, + "plaintextCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned\nAsymmetricDecryptResponse.plaintext. An integrity check of\nAsymmetricDecryptResponse.plaintext can be performed by computing the\nCRC32C checksum of AsymmetricDecryptResponse.plaintext and comparing\nyour results to this field. Discard the response in case of non-matching\nchecksum values, and perform a limited number of retries. A persistent\nmismatch may indicate an issue in your computation of the CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" + }, + "verifiedCiphertextCrc32c": { + "description": "Integrity verification field. A flag indicating whether\nAsymmetricDecryptRequest.ciphertext_crc32c was received by\nKeyManagementService and used for the integrity verification of the\nciphertext. A false value of this\nfield indicates either that AsymmetricDecryptRequest.ciphertext_crc32c\nwas left unset or that it was not delivered to KeyManagementService. If\nyou've set AsymmetricDecryptRequest.ciphertext_crc32c but this field is\nstill false, discard the response and perform a limited number of retries.\n\nNOTE: This field is in Beta.", + "type": "boolean" } }, "type": "object" @@ -1285,6 +1299,11 @@ "digest": { "$ref": "Digest", "description": "Required. The digest of the data to sign. The digest must be produced with\nthe same digest algorithm as specified by the key version's\nalgorithm." + }, + "digestCrc32c": { + "description": "Optional. An optional CRC32C checksum of the AsymmetricSignRequest.digest. If\nspecified, KeyManagementService will verify the integrity of the\nreceived AsymmetricSignRequest.digest using this checksum.\nKeyManagementService will report an error if the checksum verification\nfails. If you receive a checksum error, your client should verify that\nCRC32C(AsymmetricSignRequest.digest) is equal to\nAsymmetricSignRequest.digest_crc32c, and if so, perform a limited\nnumber of retries. A persistent mismatch may indicate an issue in your\ncomputation of the CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -1293,16 +1312,29 @@ "description": "Response message for KeyManagementService.AsymmetricSign.", "id": "AsymmetricSignResponse", "properties": { + "name": { + "description": "The resource name of the CryptoKeyVersion used for signing. Check\nthis field to verify that the intended resource was used for signing.\n\nNOTE: This field is in Beta.", + "type": "string" + }, "signature": { "description": "The created signature.", "format": "byte", "type": "string" + }, + "signatureCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned\nAsymmetricSignResponse.signature. An integrity check of\nAsymmetricSignResponse.signature can be performed by computing the\nCRC32C checksum of AsymmetricSignResponse.signature and comparing your\nresults to this field. Discard the response in case of non-matching\nchecksum values, and perform a limited number of retries. A persistent\nmismatch may indicate an issue in your computation of the CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" + }, + "verifiedDigestCrc32c": { + "description": "Integrity verification field. A flag indicating whether\nAsymmetricSignRequest.digest_crc32c was received by\nKeyManagementService and used for the integrity verification of the\ndigest. A false value of this field\nindicates either that AsymmetricSignRequest.digest_crc32c was left\nunset or that it was not delivered to KeyManagementService. If you've\nset AsymmetricSignRequest.digest_crc32c but this field is still false,\ndiscard the response and perform a limited number of retries.\n\nNOTE: This field is in Beta.", + "type": "boolean" } }, "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1320,7 +1352,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1355,7 +1387,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1372,7 +1404,7 @@ "type": "object" }, "CryptoKey": { - "description": "A CryptoKey represents a logical key that can be used for cryptographic\noperations.\n\nA CryptoKey is made up of one or more versions, which\nrepresent the actual key material used in cryptographic operations.", + "description": "A CryptoKey represents a logical key that can be used for cryptographic\noperations.\n\nA CryptoKey is made up of zero or more versions,\nwhich represent the actual key material used in cryptographic operations.", "id": "CryptoKey", "properties": { "createTime": { @@ -1384,7 +1416,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels with user-defined metadata. For more information, see\n[Labeling Keys](/kms/docs/labeling-keys).", + "description": "Labels with user-defined metadata. For more information, see\n[Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).", "type": "object" }, "name": { @@ -1636,10 +1668,20 @@ "format": "byte", "type": "string" }, + "additionalAuthenticatedDataCrc32c": { + "description": "Optional. An optional CRC32C checksum of the\nDecryptRequest.additional_authenticated_data. If specified,\nKeyManagementService will verify the integrity of the received\nDecryptRequest.additional_authenticated_data using this checksum.\nKeyManagementService will report an error if the checksum verification\nfails. If you receive a checksum error, your client should verify that\nCRC32C(DecryptRequest.additional_authenticated_data) is equal to\nDecryptRequest.additional_authenticated_data_crc32c, and if so, perform\na limited number of retries. A persistent mismatch may indicate an issue in\nyour computation of the CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" + }, "ciphertext": { "description": "Required. The encrypted data originally returned in\nEncryptResponse.ciphertext.", "format": "byte", "type": "string" + }, + "ciphertextCrc32c": { + "description": "Optional. An optional CRC32C checksum of the DecryptRequest.ciphertext. If\nspecified, KeyManagementService will verify the integrity of the\nreceived DecryptRequest.ciphertext using this checksum.\nKeyManagementService will report an error if the checksum verification\nfails. If you receive a checksum error, your client should verify that\nCRC32C(DecryptRequest.ciphertext) is equal to\nDecryptRequest.ciphertext_crc32c, and if so, perform a limited number\nof retries. A persistent mismatch may indicate an issue in your computation\nof the CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -1652,6 +1694,11 @@ "description": "The decrypted data originally supplied in EncryptRequest.plaintext.", "format": "byte", "type": "string" + }, + "plaintextCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned\nDecryptResponse.plaintext. An integrity check of\nDecryptResponse.plaintext can be performed by computing the CRC32C\nchecksum of DecryptResponse.plaintext and comparing your results to\nthis field. Discard the response in case of non-matching checksum values,\nand perform a limited number of retries. A persistent mismatch may indicate\nan issue in your computation of the CRC32C checksum. Note: receiving this\nresponse message indicates that KeyManagementService is able to\nsuccessfully decrypt the ciphertext.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -1693,10 +1740,20 @@ "format": "byte", "type": "string" }, + "additionalAuthenticatedDataCrc32c": { + "description": "Optional. An optional CRC32C checksum of the\nEncryptRequest.additional_authenticated_data. If specified,\nKeyManagementService will verify the integrity of the received\nEncryptRequest.additional_authenticated_data using this checksum.\nKeyManagementService will report an error if the checksum verification\nfails. If you receive a checksum error, your client should verify that\nCRC32C(EncryptRequest.additional_authenticated_data) is equal to\nEncryptRequest.additional_authenticated_data_crc32c, and if so, perform\na limited number of retries. A persistent mismatch may indicate an issue in\nyour computation of the CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" + }, "plaintext": { "description": "Required. The data to encrypt. Must be no larger than 64KiB.\n\nThe maximum size depends on the key version's\nprotection_level. For\nSOFTWARE keys, the plaintext must be no larger\nthan 64KiB. For HSM keys, the combined length of the\nplaintext and additional_authenticated_data fields must be no larger than\n8KiB.", "format": "byte", "type": "string" + }, + "plaintextCrc32c": { + "description": "Optional. An optional CRC32C checksum of the EncryptRequest.plaintext. If\nspecified, KeyManagementService will verify the integrity of the\nreceived EncryptRequest.plaintext using this checksum.\nKeyManagementService will report an error if the checksum verification\nfails. If you receive a checksum error, your client should verify that\nCRC32C(EncryptRequest.plaintext) is equal to\nEncryptRequest.plaintext_crc32c, and if so, perform a limited number of\nretries. A persistent mismatch may indicate an issue in your computation of\nthe CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -1710,9 +1767,22 @@ "format": "byte", "type": "string" }, + "ciphertextCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned\nEncryptResponse.ciphertext. An integrity check of\nEncryptResponse.ciphertext can be performed by computing the CRC32C\nchecksum of EncryptResponse.ciphertext and comparing your results to\nthis field. Discard the response in case of non-matching checksum values,\nand perform a limited number of retries. A persistent mismatch may indicate\nan issue in your computation of the CRC32C checksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" + }, "name": { "description": "The resource name of the CryptoKeyVersion used in encryption. Check\nthis field to verify that the intended resource was used for encryption.", "type": "string" + }, + "verifiedAdditionalAuthenticatedDataCrc32c": { + "description": "Integrity verification field. A flag indicating whether\nEncryptRequest.additional_authenticated_data_crc32c was received by\nKeyManagementService and used for the integrity verification of the\nAAD. A false value of this\nfield indicates either that\nEncryptRequest.additional_authenticated_data_crc32c was left unset or\nthat it was not delivered to KeyManagementService. If you've set\nEncryptRequest.additional_authenticated_data_crc32c but this field is\nstill false, discard the response and perform a limited number of retries.\n\nNOTE: This field is in Beta.", + "type": "boolean" + }, + "verifiedPlaintextCrc32c": { + "description": "Integrity verification field. A flag indicating whether\nEncryptRequest.plaintext_crc32c was received by\nKeyManagementService and used for the integrity verification of the\nplaintext. A false value of this field\nindicates either that EncryptRequest.plaintext_crc32c was left unset or\nthat it was not delivered to KeyManagementService. If you've set\nEncryptRequest.plaintext_crc32c but this field is still false, discard\nthe response and perform a limited number of retries.\n\nNOTE: This field is in Beta.", + "type": "boolean" } }, "type": "object" @@ -2096,7 +2166,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -2119,7 +2189,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2172,9 +2242,18 @@ ], "type": "string" }, + "name": { + "description": "The name of the CryptoKeyVersion public key.\nProvided here for verification.\n\nNOTE: This field is in Beta.", + "type": "string" + }, "pem": { "description": "The public key, encoded in PEM format. For more information, see the\n[RFC 7468](https://tools.ietf.org/html/rfc7468) sections for\n[General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and\n[Textual Encoding of Subject Public Key Info]\n(https://tools.ietf.org/html/rfc7468#section-13).", "type": "string" + }, + "pemCrc32c": { + "description": "Integrity verification field. A CRC32C checksum of the returned\nPublicKey.pem. An integrity check of PublicKey.pem can be performed\nby computing the CRC32C checksum of PublicKey.pem and\ncomparing your results to this field. Discard the response in case of\nnon-matching checksum values, and perform a limited number of retries. A\npersistent mismatch may indicate an issue in your computation of the CRC32C\nchecksum.\nNote: This field is defined as int64 for reasons of compatibility across\ndifferent languages. However, it is a non-negative integer, which will\nnever exceed 2^32-1, and can be safely downconverted to uint32 in languages\nthat support this type.\n\nNOTE: This field is in Beta.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -2194,7 +2273,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/cloudprofiler/v2/cloudprofiler-api.json b/etc/api/cloudprofiler/v2/cloudprofiler-api.json index 277b29d105..b78e05aec9 100644 --- a/etc/api/cloudprofiler/v2/cloudprofiler-api.json +++ b/etc/api/cloudprofiler/v2/cloudprofiler-api.json @@ -216,7 +216,7 @@ } } }, - "revision": "20200405", + "revision": "20200704", "rootUrl": "https://cloudprofiler.googleapis.com/", "schemas": { "CreateProfileRequest": { diff --git a/etc/api/cloudresourcemanager/v1/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v1/cloudresourcemanager-api.json index d74145e29c..62bcf1c932 100644 --- a/etc/api/cloudresourcemanager/v1/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v1/cloudresourcemanager-api.json @@ -884,7 +884,7 @@ ] }, "getIamPolicy": { - "description": "Returns the IAM access control policy for the specified Project.\nPermission is denied if the policy or the resource does not exist.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.getIamPolicy` on the project.\n\nFor additional information about resource structure and identification,\nsee [Resource Names](/apis/design/resource_names).", + "description": "Returns the IAM access control policy for the specified Project.\nPermission is denied if the policy or the resource does not exist.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.getIamPolicy` on the project.\n\nFor additional information about `resource` (e.g. my-project-id) structure\nand identification, see [Resource Names](/apis/design/resource_names).", "flatPath": "v1/projects/{resource}:getIamPolicy", "httpMethod": "POST", "id": "cloudresourcemanager.projects.getIamPolicy", @@ -948,7 +948,7 @@ "parameterOrder": [], "parameters": { "filter": { - "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n+ `name`\n+ `id`\n+ `labels.` (where *key* is the name of a label)\n+ `parent.type`\n+ `parent.id`\n\nSome examples of using labels as filters:\n\n| Filter | Description |\n|------------------|-----------------------------------------------------|\n| name:how* | The project's name starts with \"how\". |\n| name:Howl | The project's name is `Howl` or `howl`. |\n| name:HOWL | Equivalent to above. |\n| NAME:howl | Equivalent to above. |\n| labels.color:* | The project has the label `color`. |\n| labels.color:red | The project's label `color` has the value `red`. |\n| labels.color:red labels.size:big |The project's label `color` has\n the value `red` and its label `size` has the value `big`. |\n\nIf no filter is specified, the call will return projects for which the user\nhas the `resourcemanager.projects.get` permission.\n\nNOTE: To perform a by-parent query (eg., what projects are directly in a\nFolder), the caller must have the `resourcemanager.projects.list`\npermission on the parent and the filter must contain both a `parent.type`\nand a `parent.id` restriction\n(example: \"parent.type:folder parent.id:123\"). In this case an alternate\nsearch index is used which provides more consistent results.\n\nOptional.", + "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. Some eligible fields for filtering are:\n\n+ `name`\n+ `id`\n+ `labels.` (where *key* is the name of a label)\n+ `parent.type`\n+ `parent.id`\n+ `lifecycleState`\n\nSome examples of filter strings:\n\n| Filter | Description |\n|------------------|-----------------------------------------------------|\n| name:how* | The project's name starts with \"how\". |\n| name:Howl | The project's name is `Howl` or `howl`. |\n| name:HOWL | Equivalent to above. |\n| NAME:howl | Equivalent to above. |\n| labels.color:* | The project has the label `color`. |\n| labels.color:red | The project's label `color` has the value `red`. |\n| labels.color:red labels.size:big | The project's label `color` |\n: : has the value `red` and its :\n: : label`size` has the value :\n: : `big`. :\n| lifecycleState:DELETE_REQUESTED | Only show projects that are |\n: : pending deletion. :\n\nIf no filter is specified, the call will return projects for which the user\nhas the `resourcemanager.projects.get` permission.\n\nNOTE: To perform a by-parent query (eg., what projects are directly in a\nFolder), the caller must have the `resourcemanager.projects.list`\npermission on the parent and the filter must contain both a `parent.type`\nand a `parent.id` restriction\n(example: \"parent.type:folder parent.id:123\"). In this case an alternate\nsearch index is used which provides more consistent results.\n\nOptional.", "location": "query", "type": "string" }, @@ -1032,7 +1032,7 @@ ] }, "setIamPolicy": { - "description": "Sets the IAM access control policy for the specified Project. Overwrites\nany existing policy.\n\nThe following constraints apply when using `setIamPolicy()`:\n\n+ Project does not support `allUsers` and `allAuthenticatedUsers` as\n`members` in a `Binding` of a `Policy`.\n\n+ The owner role can be granted to a `user`, `serviceAccount`, or a group\nthat is part of an organization. For example,\ngroup@myownpersonaldomain.com could be added as an owner to a project in\nthe myownpersonaldomain.com organization, but not the examplepetstore.com\norganization.\n\n+ Service accounts can be made owners of a project directly\nwithout any restrictions. However, to be added as an owner, a user must be\ninvited via Cloud Platform console and must accept the invitation.\n\n+ A user cannot be granted the owner role using `setIamPolicy()`. The user\nmust be granted the owner role using the Cloud Platform Console and must\nexplicitly accept the invitation.\n\n+ You can only grant ownership of a project to a member by using the\nGCP Console. Inviting a member will deliver an invitation email that\nthey must accept. An invitation email is not generated if you are\ngranting a role other than owner, or if both the member you are inviting\nand the project are part of your organization.\n\n+ Membership changes that leave the project without any owners that have\naccepted the Terms of Service (ToS) will be rejected.\n\n+ If the project is not part of an organization, there must be at least\none owner who has accepted the Terms of Service (ToS) agreement in the\npolicy. Calling `setIamPolicy()` to remove the last ToS-accepted owner\nfrom the policy will fail. This restriction also applies to legacy\nprojects that no longer have owners who have accepted the ToS. Edits to\nIAM policies will be rejected until the lack of a ToS-accepting owner is\nrectified.\n\n+ This method will replace the existing policy, and cannot be used to\nappend additional IAM settings.\n\nNote: Removing service accounts from policies or changing their roles\ncan render services completely inoperable. It is important to understand\nhow the service account is being used before removing or updating its\nroles.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.setIamPolicy` on the project", + "description": "Sets the IAM access control policy for the specified Project.\n\nCAUTION: This method will replace the existing policy, and cannot be used\nto append additional IAM settings.\n\nNOTE: Removing service accounts from policies or changing their roles can\nrender services completely inoperable. It is important to understand how\nthe service account is being used before removing or updating its roles.\n\nFor additional information about `resource` (e.g. my-project-id) structure\nand identification, see [Resource Names](/apis/design/resource_names).\n\nThe following constraints apply when using `setIamPolicy()`:\n\n+ Project does not support `allUsers` and `allAuthenticatedUsers` as\n`members` in a `Binding` of a `Policy`.\n\n+ The owner role can be granted to a `user`, `serviceAccount`, or a group\nthat is part of an organization. For example,\ngroup@myownpersonaldomain.com could be added as an owner to a project in\nthe myownpersonaldomain.com organization, but not the examplepetstore.com\norganization.\n\n+ Service accounts can be made owners of a project directly\nwithout any restrictions. However, to be added as an owner, a user must be\ninvited via Cloud Platform console and must accept the invitation.\n\n+ A user cannot be granted the owner role using `setIamPolicy()`. The user\nmust be granted the owner role using the Cloud Platform Console and must\nexplicitly accept the invitation.\n\n+ You can only grant ownership of a project to a member by using the\nGCP Console. Inviting a member will deliver an invitation email that\nthey must accept. An invitation email is not generated if you are\ngranting a role other than owner, or if both the member you are inviting\nand the project are part of your organization.\n\n+ Membership changes that leave the project without any owners that have\naccepted the Terms of Service (ToS) will be rejected.\n\n+ If the project is not part of an organization, there must be at least\none owner who has accepted the Terms of Service (ToS) agreement in the\npolicy. Calling `setIamPolicy()` to remove the last ToS-accepted owner\nfrom the policy will fail. This restriction also applies to legacy\nprojects that no longer have owners who have accepted the ToS. Edits to\nIAM policies will be rejected until the lack of a ToS-accepting owner is\nrectified.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.setIamPolicy` on the project", "flatPath": "v1/projects/{resource}:setIamPolicy", "httpMethod": "POST", "id": "cloudresourcemanager.projects.setIamPolicy", @@ -1087,7 +1087,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified Project.\n\nThere are no permissions required for making this API call.", + "description": "Returns permissions that a caller has on the specified Project.\n\nFor additional information about `resource` (e.g. my-project-id) structure\nand identification, see [Resource Names](/apis/design/resource_names).\n\nThere are no permissions required for making this API call.", "flatPath": "v1/projects/{resource}:testIamPermissions", "httpMethod": "POST", "id": "cloudresourcemanager.projects.testIamPermissions", @@ -1171,7 +1171,7 @@ } } }, - "revision": "20200408", + "revision": "20200629", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "Ancestor": { @@ -1186,7 +1186,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1204,7 +1204,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1239,7 +1239,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1289,7 +1289,7 @@ "type": "object" }, "Constraint": { - "description": "A `Constraint` describes a way in which a resource's configuration can be\nrestricted. For example, it controls which cloud services can be activated\nacross an organization, or whether a Compute Engine instance can have\nserial port connections established. `Constraints` can be configured by the\norganization's policy adminstrator to fit the needs of the organzation by\nsetting Policies for `Constraints` at different locations in the\norganization's resource hierarchy. Policies are inherited down the resource\nhierarchy from higher levels, but can also be overridden. For details about\nthe inheritance rules please read about\nPolicies.\n\n`Constraints` have a default behavior determined by the `constraint_default`\nfield, which is the enforcement behavior that is used in the absence of a\n`Policy` being defined or inherited for the resource in question.", + "description": "A `Constraint` describes a way in which a resource's configuration can be\nrestricted. For example, it controls which cloud services can be activated\nacross an organization, or whether a Compute Engine instance can have\nserial port connections established. `Constraints` can be configured by the\norganization's policy administrator to fit the needs of the organzation by\nsetting Policies for `Constraints` at different locations in the\norganization's resource hierarchy. Policies are inherited down the resource\nhierarchy from higher levels, but can also be overridden. For details about\nthe inheritance rules please read about\n[Policies](/resource-manager/reference/rest/v1/Policy).\n\n`Constraints` have a default behavior determined by the `constraint_default`\nfield, which is the enforcement behavior that is used in the absence of a\n`Policy` being defined or inherited for the resource in question.", "id": "Constraint", "properties": { "booleanConstraint": { @@ -1297,7 +1297,7 @@ "description": "Defines this constraint as being a BooleanConstraint." }, "constraintDefault": { - "description": "The evaluation behavior of this constraint in the absense of 'Policy'.", + "description": "The evaluation behavior of this constraint in the absence of 'Policy'.", "enum": [ "CONSTRAINT_DEFAULT_UNSPECIFIED", "ALLOW", @@ -1438,7 +1438,7 @@ "type": "object" }, "GetAncestryResponse": { - "description": "Response from the GetAncestry method.", + "description": "Response from the\nprojects.getAncestry\nmethod.", "id": "GetAncestryResponse", "properties": { "ancestor": { @@ -1468,7 +1468,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1489,7 +1489,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1532,7 +1532,7 @@ "type": "object" }, "ListAvailableOrgPolicyConstraintsRequest": { - "description": "The request sent to the [ListAvailableOrgPolicyConstraints]\ngoogle.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.", + "description": "The request sent to the `ListAvailableOrgPolicyConstraints` method on the\nproject, folder, or organization.", "id": "ListAvailableOrgPolicyConstraintsRequest", "properties": { "pageSize": { @@ -1548,7 +1548,7 @@ "type": "object" }, "ListAvailableOrgPolicyConstraintsResponse": { - "description": "The response returned from the ListAvailableOrgPolicyConstraints method.\nReturns all `Constraints` that could be set at this level of the hierarchy\n(contrast with the response from `ListPolicies`, which returns all policies\nwhich are set).", + "description": "The response returned from the `ListAvailableOrgPolicyConstraints` method.\nReturns all `Constraints` that could be set at this level of the hierarchy\n(contrast with the response from `ListPolicies`, which returns all policies\nwhich are set).", "id": "ListAvailableOrgPolicyConstraintsResponse", "properties": { "constraints": { @@ -1615,7 +1615,7 @@ "type": "object" }, "ListOrgPoliciesResponse": { - "description": "The response returned from the ListOrgPolicies method. It will be empty\nif no `Policies` are set on the resource.", + "description": "The response returned from the `ListOrgPolicies` method. It will be empty\nif no `Policies` are set on the resource.", "id": "ListOrgPoliciesResponse", "properties": { "nextPageToken": { @@ -1665,7 +1665,7 @@ "type": "array" }, "inheritFromParent": { - "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supercedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings for\n`projects/bar` parented by `organizations/foo`:\n\nExample 1 (no inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has `inherit_from_parent` `false` and values:\n {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {value: \"E3\" value: \"E4\" inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n `organizations/foo` has no `Policy` set.\n `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.\n\nExample 10 (allowed and denied subtrees of Resource Manager hierarchy):\nGiven the following resource hierarchy\n O1->{F1, F2}; F1->{P1}; F2->{P2, P3},\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"under:organizations/O1\"}\n `projects/bar` has a `Policy` with:\n {allowed_values: \"under:projects/P3\"}\n {denied_values: \"under:folders/F2\"}\nThe accepted values at `organizations/foo` are `organizations/O1`,\n `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,\n `projects/P3`.\nThe accepted values at `projects/bar` are `organizations/O1`,\n `folders/F1`, `projects/P1`.", + "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supersedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings for\n`projects/bar` parented by `organizations/foo`:\n\nExample 1 (no inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has `inherit_from_parent` `false` and values:\n {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {value: \"E3\" value: \"E4\" inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values:\"E2\"}\n `projects/bar` has a `Policy` with values:\n {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n `organizations/foo` has no `Policy` set.\n `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"E1\" allowed_values: \"E2\"}\n `projects/bar` has a `Policy` with:\n {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.\n\nExample 10 (allowed and denied subtrees of Resource Manager hierarchy):\nGiven the following resource hierarchy\n O1->{F1, F2}; F1->{P1}; F2->{P2, P3},\n `organizations/foo` has a `Policy` with values:\n {allowed_values: \"under:organizations/O1\"}\n `projects/bar` has a `Policy` with:\n {allowed_values: \"under:projects/P3\"}\n {denied_values: \"under:folders/F2\"}\nThe accepted values at `organizations/foo` are `organizations/O1`,\n `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,\n `projects/P3`.\nThe accepted values at `projects/bar` are `organizations/O1`,\n `folders/F1`, `projects/P1`.", "type": "boolean" }, "suggestedValue": { @@ -1737,7 +1737,7 @@ "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not." }, "constraint": { - "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nImmutable after creation.", + "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nA [list of available\nconstraints](/resource-manager/docs/organization-policy/org-policy-constraints)\nis available.\n\nImmutable after creation.", "type": "string" }, "etag": { @@ -1816,7 +1816,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -1839,7 +1839,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1859,7 +1859,7 @@ "additionalProperties": { "type": "string" }, - "description": "The labels associated with this Project.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. A label\nvalue can be empty.\n\nNo more than 256 labels can be associated with a given resource.\n\nClients should store labels in a representation such as JSON that does not\ndepend on specific characters being disallowed.\n\nExample: \"environment\" : \"dev\"\nRead-write.", + "description": "The labels associated with this Project.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: a-z{0,62}.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression [a-z0-9_-]{0,63}. A label value can be empty.\n\nNo more than 256 labels can be associated with a given resource.\n\nClients should store labels in a representation such as JSON that does not\ndepend on specific characters being disallowed.\n\nExample: \"environment\" : \"dev\"\nRead-write.", "type": "object" }, "lifecycleState": { @@ -1986,7 +1986,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json index 61d27e7629..9b1bdd1e94 100644 --- a/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json @@ -455,7 +455,7 @@ ] }, "setIamPolicy": { - "description": "Sets the IAM access control policy for the specified Project. Overwrites\nany existing policy.\n\nThe following constraints apply when using `setIamPolicy()`:\n\n+ Project does not support `allUsers` and `allAuthenticatedUsers` as\n`members` in a `Binding` of a `Policy`.\n\n+ The owner role can be granted to a `user`, `serviceAccount`, or a group\nthat is part of an organization. For example,\ngroup@myownpersonaldomain.com could be added as an owner to a project in\nthe myownpersonaldomain.com organization, but not the examplepetstore.com\norganization.\n\n+ Service accounts can be made owners of a project directly\nwithout any restrictions. However, to be added as an owner, a user must be\ninvited via Cloud Platform console and must accept the invitation.\n\n+ A user cannot be granted the owner role using `setIamPolicy()`. The user\nmust be granted the owner role using the Cloud Platform Console and must\nexplicitly accept the invitation.\n\n+ Invitations to grant the owner role cannot be sent using\n`setIamPolicy()`; they must be sent only using the Cloud Platform Console.\n\n+ Membership changes that leave the project without any owners that have\naccepted the Terms of Service (ToS) will be rejected.\n\n+ If the project is not part of an organization, there must be at least\none owner who has accepted the Terms of Service (ToS) agreement in the\npolicy. Calling `setIamPolicy()` to remove the last ToS-accepted owner\nfrom the policy will fail. This restriction also applies to legacy\nprojects that no longer have owners who have accepted the ToS. Edits to\nIAM policies will be rejected until the lack of a ToS-accepting owner is\nrectified.\n\n+ This method will replace the existing policy, and cannot be used to\nappend additional IAM settings.\n\nNote: Removing service accounts from policies or changing their roles\ncan render services completely inoperable. It is important to understand\nhow the service account is being used before removing or updating its\nroles.", + "description": "Sets the IAM access control policy for the specified Project.\n\nCAUTION: This method will replace the existing policy, and cannot be used\nto append additional IAM settings.\n\nNOTE: Removing service accounts from policies or changing their roles can\nrender services completely inoperable. It is important to understand how\nthe service account is being used before removing or updating its roles.\n\nThe following constraints apply when using `setIamPolicy()`:\n\n+ Project does not support `allUsers` and `allAuthenticatedUsers` as\n`members` in a `Binding` of a `Policy`.\n\n+ The owner role can be granted to a `user`, `serviceAccount`, or a group\nthat is part of an organization. For example,\ngroup@myownpersonaldomain.com could be added as an owner to a project in\nthe myownpersonaldomain.com organization, but not the examplepetstore.com\norganization.\n\n+ Service accounts can be made owners of a project directly\nwithout any restrictions. However, to be added as an owner, a user must be\ninvited via Cloud Platform console and must accept the invitation.\n\n+ A user cannot be granted the owner role using `setIamPolicy()`. The user\nmust be granted the owner role using the Cloud Platform Console and must\nexplicitly accept the invitation.\n\n+ Invitations to grant the owner role cannot be sent using\n`setIamPolicy()`; they must be sent only using the Cloud Platform Console.\n\n+ Membership changes that leave the project without any owners that have\naccepted the Terms of Service (ToS) will be rejected.\n\n+ If the project is not part of an organization, there must be at least\none owner who has accepted the Terms of Service (ToS) agreement in the\npolicy. Calling `setIamPolicy()` to remove the last ToS-accepted owner\nfrom the policy will fail. This restriction also applies to legacy\nprojects that no longer have owners who have accepted the ToS. Edits to\nIAM policies will be rejected until the lack of a ToS-accepting owner is\nrectified.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.setIamPolicy` on the project", "flatPath": "v1beta1/projects/{resource}:setIamPolicy", "httpMethod": "POST", "id": "cloudresourcemanager.projects.setIamPolicy", @@ -566,7 +566,7 @@ } } }, - "revision": "20200408", + "revision": "20200629", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "Ancestor": { @@ -581,7 +581,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -599,7 +599,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -634,7 +634,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -748,13 +748,13 @@ "type": "object" }, "GetAncestryRequest": { - "description": "The request sent to the\nGetAncestry\nmethod.", + "description": "The request sent to the\n[google.cloudresourcemanager.projects.v1beta1.DeveloperProjects.GetAncestry]\nmethod.", "id": "GetAncestryRequest", "properties": {}, "type": "object" }, "GetAncestryResponse": { - "description": "Response from the GetAncestry method.", + "description": "Response from the\nprojects.getAncestry\nmethod.", "id": "GetAncestryResponse", "properties": { "ancestor": { @@ -773,7 +773,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -783,7 +783,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -880,7 +880,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -903,7 +903,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -923,7 +923,7 @@ "additionalProperties": { "type": "string" }, - "description": "The labels associated with this Project.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. A label\nvalue can be empty.\n\nNo more than 256 labels can be associated with a given resource.\n\nClients should store labels in a representation such as JSON that does not\ndepend on specific characters being disallowed.\n\nExample: \"environment\" : \"dev\"\nRead-write.", + "description": "The labels associated with this Project.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: a-z{0,62}.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression [a-z0-9_-]{0,63}. A label value can be empty.\n\nNo more than 256 labels can be associated with a given resource.\n\nClients should store labels in a representation such as JSON that does not\ndepend on specific characters being disallowed.\n\nExample: \"environment\" : \"dev\"\nRead-write.", "type": "object" }, "lifecycleState": { @@ -1006,7 +1006,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/cloudresourcemanager/v2/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v2/cloudresourcemanager-api.json index d894e1f0f2..49a82c8d6f 100644 --- a/etc/api/cloudresourcemanager/v2/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v2/cloudresourcemanager-api.json @@ -450,11 +450,11 @@ } } }, - "revision": "20200408", + "revision": "20200629", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -472,7 +472,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -507,7 +507,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -658,7 +658,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -668,7 +668,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -740,7 +740,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -763,7 +763,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -837,7 +837,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json index 51370c6f6b..ead00a177d 100644 --- a/etc/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json @@ -450,11 +450,11 @@ } } }, - "revision": "20200408", + "revision": "20200629", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -472,7 +472,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -507,7 +507,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -658,7 +658,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -668,7 +668,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -740,7 +740,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -763,7 +763,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -837,7 +837,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/cloudscheduler/v1/cloudscheduler-api.json b/etc/api/cloudscheduler/v1/cloudscheduler-api.json index 0892da88bf..c1ea76428a 100644 --- a/etc/api/cloudscheduler/v1/cloudscheduler-api.json +++ b/etc/api/cloudscheduler/v1/cloudscheduler-api.json @@ -418,7 +418,7 @@ } } }, - "revision": "20200331", + "revision": "20200618", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -751,7 +751,7 @@ "additionalProperties": { "type": "string" }, - "description": "Attributes for this message. If this field is empty, the message must\ncontain non-empty data.", + "description": "Attributes for this message. If this field is empty, the message must\ncontain non-empty data. This can be used to filter messages on the\nsubscription.", "type": "object" }, "data": { @@ -810,7 +810,7 @@ "type": "string" }, "maxDoublings": { - "description": "The time between retries will double `max_doublings` times.\n\nA job's retry interval starts at\nmin_backoff_duration, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries retries at intervals of\nmax_backoff_duration up to\nretry_count times.\n\nFor example, if min_backoff_duration is\n10s, max_backoff_duration is 300s, and\n`max_doublings` is 3, then the a job will first be retried in 10s. The\nretry interval will double three times, and then increase linearly by\n2^3 * 10s. Finally, the job will retry at intervals of\nmax_backoff_duration until the job has\nbeen attempted retry_count times. Thus, the\nrequests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, ....\n\nThe default value of this field is 5.", + "description": "The time between retries will double `max_doublings` times.\n\nA job's retry interval starts at\nmin_backoff_duration, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries at intervals of\nmax_backoff_duration up to\nretry_count times.\n\nFor example, if min_backoff_duration is\n10s, max_backoff_duration is 300s, and\n`max_doublings` is 3, then the a job will first be retried in 10s. The\nretry interval will double three times, and then increase linearly by\n2^3 * 10s. Finally, the job will retry at intervals of\nmax_backoff_duration until the job has\nbeen attempted retry_count times. Thus, the\nrequests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, ....\n\nThe default value of this field is 5.", "format": "int32", "type": "integer" }, diff --git a/etc/api/cloudscheduler/v1beta1/cloudscheduler-api.json b/etc/api/cloudscheduler/v1beta1/cloudscheduler-api.json index dc0d41c551..caf8d46138 100644 --- a/etc/api/cloudscheduler/v1beta1/cloudscheduler-api.json +++ b/etc/api/cloudscheduler/v1beta1/cloudscheduler-api.json @@ -418,7 +418,7 @@ } } }, - "revision": "20200331", + "revision": "20200618", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -751,7 +751,7 @@ "additionalProperties": { "type": "string" }, - "description": "Attributes for this message. If this field is empty, the message must\ncontain non-empty data.", + "description": "Attributes for this message. If this field is empty, the message must\ncontain non-empty data. This can be used to filter messages on the\nsubscription.", "type": "object" }, "data": { @@ -810,7 +810,7 @@ "type": "string" }, "maxDoublings": { - "description": "The time between retries will double `max_doublings` times.\n\nA job's retry interval starts at\nmin_backoff_duration, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries retries at intervals of\nmax_backoff_duration up to\nretry_count times.\n\nFor example, if min_backoff_duration is\n10s, max_backoff_duration is 300s, and\n`max_doublings` is 3, then the a job will first be retried in 10s. The\nretry interval will double three times, and then increase linearly by\n2^3 * 10s. Finally, the job will retry at intervals of\nmax_backoff_duration until the job has\nbeen attempted retry_count times. Thus, the\nrequests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, ....\n\nThe default value of this field is 5.", + "description": "The time between retries will double `max_doublings` times.\n\nA job's retry interval starts at\nmin_backoff_duration, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries at intervals of\nmax_backoff_duration up to\nretry_count times.\n\nFor example, if min_backoff_duration is\n10s, max_backoff_duration is 300s, and\n`max_doublings` is 3, then the a job will first be retried in 10s. The\nretry interval will double three times, and then increase linearly by\n2^3 * 10s. Finally, the job will retry at intervals of\nmax_backoff_duration until the job has\nbeen attempted retry_count times. Thus, the\nrequests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, ....\n\nThe default value of this field is 5.", "format": "int32", "type": "integer" }, diff --git a/etc/api/cloudsearch/v1/cloudsearch-api.json b/etc/api/cloudsearch/v1/cloudsearch-api.json index 69e2016420..d7a7791c39 100644 --- a/etc/api/cloudsearch/v1/cloudsearch-api.json +++ b/etc/api/cloudsearch/v1/cloudsearch-api.json @@ -766,7 +766,7 @@ ], "parameters": { "name": { - "description": "Name of the Item to start a resumable upload.\nFormat: datasources/{source_id}/items/{item_id}.", + "description": "Name of the Item to start a resumable upload.\nFormat: datasources/{source_id}/items/{item_id}.\nThe maximum length is 1536 bytes.", "location": "path", "pattern": "^datasources/[^/]+/items/[^/]+$", "required": true, @@ -937,7 +937,7 @@ "type": "string" }, "requestOptions.searchApplicationId": { - "description": "Id of the application created using SearchApplicationsService.", + "description": "The ID generated when you create a search application using the\n[admin console](https://support.google.com/a/answer/9043922).", "location": "query", "type": "string" }, @@ -1183,7 +1183,7 @@ "type": "boolean" }, "name": { - "description": "Name of the search application.\n
Format: applications/{application_id}.", + "description": "Name of the search application.\n
Format: searchapplications/{application_id}.", "location": "path", "pattern": "^searchapplications/[^/]+$", "required": true, @@ -1805,7 +1805,7 @@ } } }, - "revision": "20200331", + "revision": "20200629", "rootUrl": "https://cloudsearch.googleapis.com/", "schemas": { "BooleanOperatorOptions": { @@ -2396,7 +2396,7 @@ "type": "integer" }, "percentage": { - "description": "Percent of results that match the bucket value. This value is between\n(0-100]. Percentages are returned for all searches, but are an estimate.\nBecause percentages are always returned, you should render percentages\ninstead of counts.", + "description": "Percent of results that match the bucket value. The returned value is\nbetween (0-100], and is rounded down to an integer if fractional. If the\nvalue is not explicitly returned, it represents a percentage value that\nrounds to 0. Percentages are returned for all searches, but are an\nestimate. Because percentages are always returned, you should render\npercentages instead of counts.", "format": "int32", "type": "integer" }, @@ -2874,7 +2874,7 @@ "type": "object" }, "ItemAcl": { - "description": "Access control list information for the item. For more information see\nhttps://developers.google.com/cloud-search/docs/guides/index-your-data#acls", + "description": "Access control list information for the item. For more information see\n[Map ACLs](/cloud-search/docs/guides/acls).", "id": "ItemAcl", "properties": { "aclInheritanceType": { @@ -3367,7 +3367,7 @@ "type": "array" }, "objectDisplayLabel": { - "description": "The user friendly label to display in the search result to indicate the\ntype of the item. This is OPTIONAL; if not provided, an object label isn't\ndisplayed on the context line of the search results. The maximum length\nis 32 characters.", + "description": "The user friendly label to display in the search result to indicate the\ntype of the item. This is OPTIONAL; if not provided, an object label isn't\ndisplayed on the context line of the search results. The maximum length\nis 64 characters.", "type": "string" } }, @@ -3690,7 +3690,7 @@ "id": "PropertyDisplayOptions", "properties": { "displayLabel": { - "description": "The user friendly label for the property that is used if the property\nis specified to be displayed in ObjectDisplayOptions. If provided, the\ndisplay label is shown in front of the property values when the property is\npart of the object display options. For example, if the property value is\n'1', the value by itself may not be useful context for the user. If the\ndisplay name given was 'priority', then the user sees 'priority : 1' in\nthe search results which provides clear context to search users. This is\nOPTIONAL; if not given, only the property values are displayed.\nThe maximum length is 32 characters.", + "description": "The user friendly label for the property that is used if the property\nis specified to be displayed in ObjectDisplayOptions. If provided, the\ndisplay label is shown in front of the property values when the property is\npart of the object display options. For example, if the property value is\n'1', the value by itself may not be useful context for the user. If the\ndisplay name given was 'priority', then the user sees 'priority : 1' in\nthe search results which provides clear context to search users. This is\nOPTIONAL; if not given, only the property values are displayed.\nThe maximum length is 64 characters.", "type": "string" } }, @@ -4011,7 +4011,7 @@ "type": "string" }, "searchApplicationId": { - "description": "Id of the application created using SearchApplicationsService.", + "description": "The ID generated when you create a search application using the\n[admin console](https://support.google.com/a/answer/9043922).", "type": "string" }, "timeZone": { @@ -4232,7 +4232,7 @@ "type": "string" }, "operationIds": { - "description": "IDs of the Long Running Operations (LROs) currently running for this\nschema. Output only field.", + "description": "Output only. IDs of the Long Running Operations (LROs) currently running for this\nschema. Output only field.", "items": { "type": "string" }, diff --git a/etc/api/cloudshell/v1/cloudshell-api.json b/etc/api/cloudshell/v1/cloudshell-api.json index bc3cd9ae62..d2969d9e13 100644 --- a/etc/api/cloudshell/v1/cloudshell-api.json +++ b/etc/api/cloudshell/v1/cloudshell-api.json @@ -229,7 +229,7 @@ } } }, - "revision": "20200409", + "revision": "20200704", "rootUrl": "https://cloudshell.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -300,13 +300,15 @@ "STATE_UNSPECIFIED", "DISABLED", "STARTING", - "RUNNING" + "RUNNING", + "DELETING" ], "enumDescriptions": [ "The environment's states is unknown.", "The environment is not running and can't be connected to. Starting the\nenvironment will transition it to the STARTING state.", "The environment is being started but is not yet ready to accept\nconnections.", - "The environment is running and ready to accept connections. It will\nautomatically transition back to DISABLED after a period of inactivity or\nif another environment is started." + "The environment is running and ready to accept connections. It will\nautomatically transition back to DISABLED after a period of inactivity or\nif another environment is started.", + "The environment is being deleted and can't be connected to." ], "type": "string" }, @@ -439,7 +441,7 @@ "Startup is waiting for the user's disk to be unarchived. This can happen\nwhen the user returns to Cloud Shell after not having used it for a\nwhile, and suggests that startup will take longer than normal.", "Startup is waiting for a VM to be assigned to the environment. This\nshould normally happen very quickly, but an environment might stay in\nthis state for an extended period of time if the system is experiencing\nheavy load.", "Startup is waiting for compute resources to be assigned to the\nenvironment. This should normally happen very quickly, but an environment\nmight stay in this state for an extended period of time if the system is\nexperiencing heavy load.", - "Startup is complete and the user should be able to establish an SSH\nconnection to their environment." + "Startup has completed. If the start operation was successful, the user\nshould be able to establish an SSH connection to their environment.\nOtherwise, the operation will contain details of the failure." ], "type": "string" } diff --git a/etc/api/cloudshell/v1alpha1/cloudshell-api.json b/etc/api/cloudshell/v1alpha1/cloudshell-api.json index ad6a5eda87..325ab6de56 100644 --- a/etc/api/cloudshell/v1alpha1/cloudshell-api.json +++ b/etc/api/cloudshell/v1alpha1/cloudshell-api.json @@ -288,7 +288,7 @@ } } }, - "revision": "20200409", + "revision": "20200704", "rootUrl": "https://cloudshell.googleapis.com/", "schemas": { "AuthorizeEnvironmentRequest": { @@ -384,13 +384,15 @@ "STATE_UNSPECIFIED", "DISABLED", "STARTING", - "RUNNING" + "RUNNING", + "DELETING" ], "enumDescriptions": [ "The environment's states is unknown.", "The environment is not running and can't be connected to. Starting the\nenvironment will transition it to the STARTING state.", "The environment is being started but is not yet ready to accept\nconnections.", - "The environment is running and ready to accept connections. It will\nautomatically transition back to DISABLED after a period of inactivity or\nif another environment is started." + "The environment is running and ready to accept connections. It will\nautomatically transition back to DISABLED after a period of inactivity or\nif another environment is started.", + "The environment is being deleted and can't be connected to." ], "type": "string" }, @@ -505,7 +507,7 @@ "Startup is waiting for the user's disk to be unarchived. This can happen\nwhen the user returns to Cloud Shell after not having used it for a\nwhile, and suggests that startup will take longer than normal.", "Startup is waiting for a VM to be assigned to the environment. This\nshould normally happen very quickly, but an environment might stay in\nthis state for an extended period of time if the system is experiencing\nheavy load.", "Startup is waiting for compute resources to be assigned to the\nenvironment. This should normally happen very quickly, but an environment\nmight stay in this state for an extended period of time if the system is\nexperiencing heavy load.", - "Startup is complete and the user should be able to establish an SSH\nconnection to their environment." + "Startup has completed. If the start operation was successful, the user\nshould be able to establish an SSH connection to their environment.\nOtherwise, the operation will contain details of the failure." ], "type": "string" } @@ -519,6 +521,13 @@ "accessToken": { "description": "The initial access token passed to the environment. If this is present and\nvalid, the environment will be pre-authenticated with gcloud so that the\nuser can run gcloud commands in Cloud Shell without having to log in. This\ncode can be updated later by calling AuthorizeEnvironment.", "type": "string" + }, + "publicKeys": { + "description": "Public keys that should be added to the environment before it is started.", + "items": { + "$ref": "PublicKey" + }, + "type": "array" } }, "type": "object" diff --git a/etc/api/cloudtasks/v2/cloudtasks-api.json b/etc/api/cloudtasks/v2/cloudtasks-api.json index 293e32a76f..ebc1ba8f46 100644 --- a/etc/api/cloudtasks/v2/cloudtasks-api.json +++ b/etc/api/cloudtasks/v2/cloudtasks-api.json @@ -675,16 +675,16 @@ } } }, - "revision": "20200331", + "revision": "20200615", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { - "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If app_engine_routing_override is set on the\n queue, this value is used for all\n tasks in the queue, no matter what the setting is for the task-level\n app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n relative_uri\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.", + "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If app_engine_routing_override is set on the\n queue, this value\n is used for all tasks in the queue, no matter what the setting is for the\n task-level\n app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n relative_uri\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.", "id": "AppEngineHttpRequest", "properties": { "appEngineRouting": { "$ref": "AppEngineRouting", - "description": "Task-level setting for App Engine routing.\n\n* If app_engine_routing_override is set on the\n queue, this value is used for all\n tasks in the queue, no matter what the setting is for the task-level\n app_engine_routing." + "description": "Task-level setting for App Engine routing.\n\n* If app_engine_routing_override is set on the\n queue, this\n value is used for all tasks in the queue, no matter what the setting is\n for the task-level\n app_engine_routing." }, "body": { "description": "HTTP request body.\n\nA request body is allowed only if the HTTP method is POST or PUT. It is\nan error to set a body on a task with an incompatible HttpMethod.", @@ -699,7 +699,7 @@ "type": "object" }, "httpMethod": { - "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt will fail\nwith error code 405 (Method Not Allowed). See\n[Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the documentation for the request handlers in the language your app is\nwritten in e.g.\n[Python Request\nHandler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).", + "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt fails with\nerror code 405 (Method Not Allowed). See [Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the App Engine documentation for your runtime on [How Requests are\nHandled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).", "enum": [ "HTTP_METHOD_UNSPECIFIED", "POST", @@ -784,7 +784,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -860,7 +860,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -870,7 +870,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1057,7 +1057,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -1073,7 +1073,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1177,7 +1177,7 @@ "type": "string" }, "maxDoublings": { - "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries retries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s. Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s. Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "int32", "type": "integer" }, @@ -1284,7 +1284,7 @@ "type": "integer" }, "dispatchDeadline": { - "description": "The deadline for requests sent to the worker. If the worker does not\nrespond by this deadline then the request is cancelled and the attempt\nis marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the\ntask according to the RetryConfig.\n\nNote that when the request is cancelled, Cloud Tasks will stop listing for\nthe response, but whether the worker stops processing depends on the\nworker. For example, if the worker is stuck, it may not react to cancelled\nrequests.\n\nThe default and maximum values depend on the type of request:\n\n* For HTTP tasks, the default is 10 minutes. The deadline\n must be in the interval [15 seconds, 30 minutes].\n\n* For App Engine tasks, 0 indicates that the\n request has the default deadline. The default deadline depends on the\n [scaling\n type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling)\n of the service: 10 minutes for standard apps with automatic scaling, 24\n hours for standard apps with manual and basic scaling, and 60 minutes for\n flex apps. If the request deadline is set, it must be in the interval [15\n seconds, 24 hours 15 seconds]. Regardless of the task's\n `dispatch_deadline`, the app handler will not run for longer than than\n the service's timeout. We recommend setting the `dispatch_deadline` to\n at most a few seconds more than the app handler's timeout. For more\n information see\n [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts).\n\n`dispatch_deadline` will be truncated to the nearest millisecond. The\ndeadline is an approximate deadline.", + "description": "The deadline for requests sent to the worker. If the worker does not\nrespond by this deadline then the request is cancelled and the attempt\nis marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the\ntask according to the RetryConfig.\n\nNote that when the request is cancelled, Cloud Tasks will stop listening\nfor the response, but whether the worker stops processing depends on the\nworker. For example, if the worker is stuck, it may not react to cancelled\nrequests.\n\nThe default and maximum values depend on the type of request:\n\n* For HTTP tasks, the default is 10 minutes. The deadline\n must be in the interval [15 seconds, 30 minutes].\n\n* For App Engine tasks, 0 indicates that the\n request has the default deadline. The default deadline depends on the\n [scaling\n type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling)\n of the service: 10 minutes for standard apps with automatic scaling, 24\n hours for standard apps with manual and basic scaling, and 60 minutes for\n flex apps. If the request deadline is set, it must be in the interval [15\n seconds, 24 hours 15 seconds]. Regardless of the task's\n `dispatch_deadline`, the app handler will not run for longer than than\n the service's timeout. We recommend setting the `dispatch_deadline` to\n at most a few seconds more than the app handler's timeout. For more\n information see\n [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts).\n\n`dispatch_deadline` will be truncated to the nearest millisecond. The\ndeadline is an approximate deadline.", "format": "google-duration", "type": "string" }, diff --git a/etc/api/cloudtasks/v2beta2/cloudtasks-api.json b/etc/api/cloudtasks/v2beta2/cloudtasks-api.json index 37652f09ce..545ec0cd0a 100644 --- a/etc/api/cloudtasks/v2beta2/cloudtasks-api.json +++ b/etc/api/cloudtasks/v2beta2/cloudtasks-api.json @@ -793,7 +793,7 @@ } } }, - "revision": "20200331", + "revision": "20200615", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AcknowledgeTaskRequest": { @@ -809,7 +809,7 @@ "type": "object" }, "AppEngineHttpRequest": { - "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nThis proto can only be used for tasks in a queue which has\napp_engine_http_target set.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If set,\n app_engine_routing_override\n is used for all tasks in the queue, no matter what the setting\n is for the\n task-level app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n relative_url\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.", + "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nThis proto can only be used for tasks in a queue which has\napp_engine_http_target set.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If set,\n app_engine_routing_override\n is used for all tasks in the queue, no matter what the setting\n is for the\n task-level app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n relative_url\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.", "id": "AppEngineHttpRequest", "properties": { "appEngineRouting": { @@ -824,7 +824,7 @@ "type": "object" }, "httpMethod": { - "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt will fail\nwith error code 405 (Method Not Allowed). See\n[Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the documentation for the request handlers in the language your app is\nwritten in e.g.\n[Python Request\nHandler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).", + "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt fails with\nerror code 405 (Method Not Allowed). See [Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the App Engine documentation for your runtime on [How Requests are\nHandled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).", "enum": [ "HTTP_METHOD_UNSPECIFIED", "POST", @@ -921,7 +921,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1023,7 +1023,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1033,7 +1033,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1184,7 +1184,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -1200,7 +1200,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1357,7 +1357,7 @@ "type": "string" }, "maxDoublings": { - "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries retries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s. Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\nThis field is output only for pull queues.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s. Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\nThis field is output only for pull queues.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "int32", "type": "integer" }, diff --git a/etc/api/cloudtasks/v2beta3/cloudtasks-api.json b/etc/api/cloudtasks/v2beta3/cloudtasks-api.json index 054621426e..ddc8cf40a2 100644 --- a/etc/api/cloudtasks/v2beta3/cloudtasks-api.json +++ b/etc/api/cloudtasks/v2beta3/cloudtasks-api.json @@ -675,7 +675,7 @@ } } }, - "revision": "20200331", + "revision": "20200615", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { @@ -690,7 +690,7 @@ "type": "object" }, "AppEngineHttpRequest": { - "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If set,\n app_engine_routing_override\n is used for all tasks in the queue, no matter what the setting\n is for the\n task-level app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n relative_uri\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.", + "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If set,\n app_engine_routing_override\n is used for all tasks in the queue, no matter what the setting\n is for the\n task-level app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n relative_uri\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.", "id": "AppEngineHttpRequest", "properties": { "appEngineRouting": { @@ -710,7 +710,7 @@ "type": "object" }, "httpMethod": { - "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt will fail\nwith error code 405 (Method Not Allowed). See\n[Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the documentation for the request handlers in the language your app is\nwritten in e.g.\n[Python Request\nHandler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).", + "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt fails with\nerror code 405 (Method Not Allowed). See [Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the App Engine documentation for your runtime on [How Requests are\nHandled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).", "enum": [ "HTTP_METHOD_UNSPECIFIED", "POST", @@ -795,7 +795,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -871,7 +871,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -881,7 +881,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1068,7 +1068,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -1084,7 +1084,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1141,6 +1141,20 @@ "The queue is disabled.\n\nA queue becomes `DISABLED` when\n[queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref)\nor\n[queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref)\nis uploaded which does not contain the queue. You cannot directly disable\na queue.\n\nWhen a queue is disabled, tasks can still be added to a queue\nbut the tasks are not dispatched.\n\nTo permanently delete this queue and all of its tasks, call\nDeleteQueue." ], "type": "string" + }, + "type": { + "description": "Immutable. The type of a queue (push or pull).\n\n`Queue.type` is an immutable property of the queue that is set at the queue\ncreation time. When left unspecified, the default value of `PUSH` is\nselected.", + "enum": [ + "TYPE_UNSPECIFIED", + "PULL", + "PUSH" + ], + "enumDescriptions": [ + "Default value.", + "A pull queue.", + "A push queue." + ], + "type": "string" } }, "type": "object" @@ -1188,7 +1202,7 @@ "type": "string" }, "maxDoublings": { - "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries retries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s. Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s. Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "int32", "type": "integer" }, @@ -1295,7 +1309,7 @@ "type": "integer" }, "dispatchDeadline": { - "description": "The deadline for requests sent to the worker. If the worker does not\nrespond by this deadline then the request is cancelled and the attempt\nis marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the\ntask according to the RetryConfig.\n\nNote that when the request is cancelled, Cloud Tasks will stop listing for\nthe response, but whether the worker stops processing depends on the\nworker. For example, if the worker is stuck, it may not react to cancelled\nrequests.\n\nThe default and maximum values depend on the type of request:\n\n* For HTTP tasks, the default is 10 minutes. The deadline\n must be in the interval [15 seconds, 30 minutes].\n\n* For App Engine tasks, 0 indicates that the\n request has the default deadline. The default deadline depends on the\n [scaling\n type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling)\n of the service: 10 minutes for standard apps with automatic scaling, 24\n hours for standard apps with manual and basic scaling, and 60 minutes for\n flex apps. If the request deadline is set, it must be in the interval [15\n seconds, 24 hours 15 seconds]. Regardless of the task's\n `dispatch_deadline`, the app handler will not run for longer than than\n the service's timeout. We recommend setting the `dispatch_deadline` to\n at most a few seconds more than the app handler's timeout. For more\n information see\n [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts).\n\n`dispatch_deadline` will be truncated to the nearest millisecond. The\ndeadline is an approximate deadline.", + "description": "The deadline for requests sent to the worker. If the worker does not\nrespond by this deadline then the request is cancelled and the attempt\nis marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the\ntask according to the RetryConfig.\n\nNote that when the request is cancelled, Cloud Tasks will stop listening\nfor the response, but whether the worker stops processing depends on the\nworker. For example, if the worker is stuck, it may not react to cancelled\nrequests.\n\nThe default and maximum values depend on the type of request:\n\n* For HTTP tasks, the default is 10 minutes. The deadline\n must be in the interval [15 seconds, 30 minutes].\n\n* For App Engine tasks, 0 indicates that the\n request has the default deadline. The default deadline depends on the\n [scaling\n type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling)\n of the service: 10 minutes for standard apps with automatic scaling, 24\n hours for standard apps with manual and basic scaling, and 60 minutes for\n flex apps. If the request deadline is set, it must be in the interval [15\n seconds, 24 hours 15 seconds]. Regardless of the task's\n `dispatch_deadline`, the app handler will not run for longer than than\n the service's timeout. We recommend setting the `dispatch_deadline` to\n at most a few seconds more than the app handler's timeout. For more\n information see\n [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts).\n\n`dispatch_deadline` will be truncated to the nearest millisecond. The\ndeadline is an approximate deadline.", "format": "google-duration", "type": "string" }, diff --git a/etc/api/cloudtrace/v1/cloudtrace-api.json b/etc/api/cloudtrace/v1/cloudtrace-api.json index ec5069f7ce..b0606b6884 100644 --- a/etc/api/cloudtrace/v1/cloudtrace-api.json +++ b/etc/api/cloudtrace/v1/cloudtrace-api.json @@ -251,7 +251,7 @@ } } }, - "revision": "20200330", + "revision": "20200622", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/cloudtrace/v2/cloudtrace-api.json b/etc/api/cloudtrace/v2/cloudtrace-api.json index 0e47483d6b..d06eaa8666 100644 --- a/etc/api/cloudtrace/v2/cloudtrace-api.json +++ b/etc/api/cloudtrace/v2/cloudtrace-api.json @@ -181,7 +181,7 @@ } } }, - "revision": "20200330", + "revision": "20200622", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Annotation": { @@ -227,7 +227,7 @@ "additionalProperties": { "$ref": "AttributeValue" }, - "description": "The set of attributes. Each attribute's key can be up to 128 bytes\nlong. The value can be a string up to 256 bytes, a signed 64-bit integer,\nor the Boolean values `true` and `false`. For example:\n\n \"/instance_id\": \"my-instance\"\n \"/http/user_agent\": \"\"\n \"/http/request_bytes\": 300\n \"abc.com/myattribute\": true", + "description": "The set of attributes. Each attribute's key can be up to 128 bytes\nlong. The value can be a string up to 256 bytes, a signed 64-bit integer,\nor the Boolean values `true` and `false`. For example:\n\n \"/instance_id\": { \"string_value\": { \"value\": \"my-instance\" } }\n \"/http/request_bytes\": { \"int_value\": 300 }\n \"abc.com/myattribute\": { \"bool_value\": false }", "type": "object" }, "droppedAttributesCount": { diff --git a/etc/api/cloudtrace/v2beta1/cloudtrace-api.json b/etc/api/cloudtrace/v2beta1/cloudtrace-api.json index 997a9a8fed..19353eec02 100644 --- a/etc/api/cloudtrace/v2beta1/cloudtrace-api.json +++ b/etc/api/cloudtrace/v2beta1/cloudtrace-api.json @@ -273,7 +273,7 @@ } } }, - "revision": "20200330", + "revision": "20200622", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/composer/v1/composer-api.json b/etc/api/composer/v1/composer-api.json index 9914a44856..05672afd2a 100644 --- a/etc/api/composer/v1/composer-api.json +++ b/etc/api/composer/v1/composer-api.json @@ -401,7 +401,7 @@ } } }, - "revision": "20200406", + "revision": "20200625", "rootUrl": "https://composer.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/composer/v1beta1/composer-api.json b/etc/api/composer/v1beta1/composer-api.json index f951becc14..e6b334aa98 100644 --- a/etc/api/composer/v1beta1/composer-api.json +++ b/etc/api/composer/v1beta1/composer-api.json @@ -242,7 +242,7 @@ "type": "string" }, "updateMask": { - "description": "Required. A comma-separated list of paths, relative to `Environment`, of\nfields to update.\nFor example, to set the version of scikit-learn to install in the\nenvironment to 0.19.0 and to remove an existing installation of\nargparse, the `updateMask` parameter would include the following two\n`paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and\n\"config.softwareConfig.pypiPackages.argparse\". The included patch\nenvironment would specify the scikit-learn version as follows:\n\n {\n \"config\":{\n \"softwareConfig\":{\n \"pypiPackages\":{\n \"scikit-learn\":\"==0.19.0\"\n }\n }\n }\n }\n\nNote that in the above example, any existing PyPI packages\nother than scikit-learn and argparse will be unaffected.\n\nOnly one update type may be included in a single request's `updateMask`.\nFor example, one cannot update both the PyPI packages and\nlabels in the same request. However, it is possible to update multiple\nmembers of a map field simultaneously in the same request. For example,\nto set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming\nit already exists), one can\nprovide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\"\nand populate the patch environment as follows:\n\n {\n \"labels\":{\n \"label1\":\"new-label1-value\"\n \"label2\":\"new-label2-value\"\n }\n }\n\nNote that in the above example, any existing labels that are not\nincluded in the `updateMask` will be unaffected.\n\nIt is also possible to replace an entire map field by providing the\nmap field's path in the `updateMask`. The new value of the field will\nbe that which is provided in the patch environment. For example, to\ndelete all pre-existing user-specified PyPI packages and\ninstall botocore at version 1.7.14, the `updateMask` would contain\nthe path \"config.softwareConfig.pypiPackages\", and\nthe patch environment would be the following:\n\n {\n \"config\":{\n \"softwareConfig\":{\n \"pypiPackages\":{\n \"botocore\":\"==1.7.14\"\n }\n }\n }\n }\n\nNote: Only the following fields can be updated:\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
MaskPurpose
config.softwareConfig.pypiPackages\n Replace all custom custom PyPI packages. If a replacement\n package map is not included in `environment`, all custom\n PyPI packages are cleared. It is an error to provide both this mask and a\n mask specifying an individual package.
config.softwareConfig.pypiPackages.packagenameUpdate the custom PyPI package packagename,\n preserving other packages. To delete the package, include it in\n `updateMask`, and omit the mapping for it in\n `environment.config.softwareConfig.pypiPackages`. It is an error\n to provide both a mask of this form and the\n \"config.softwareConfig.pypiPackages\" mask.
labelsReplace all environment labels. If a replacement labels map is not\n included in `environment`, all labels are cleared. It is an error to\n provide both this mask and a mask specifying one or more individual\n labels.
labels.labelNameSet the label named labelName, while preserving other\n labels. To delete the label, include it in `updateMask` and omit its\n mapping in `environment.labels`. It is an error to provide both a\n mask of this form and the \"labels\" mask.
config.nodeCountHorizontally scale the number of nodes in the environment. An integer\n greater than or equal to 3 must be provided in the `config.nodeCount`\n field.\n
config.softwareConfig.airflowConfigOverridesReplace all Apache Airflow config overrides. If a replacement config\n overrides map is not included in `environment`, all config overrides\n are cleared.\n It is an error to provide both this mask and a mask specifying one or\n more individual config overrides.
config.softwareConfig.airflowConfigOverrides.section-name\n Override the Apache Airflow config property name in the\n section named section, preserving other properties. To delete\n the property override, include it in `updateMask` and omit its mapping\n in `environment.config.softwareConfig.airflowConfigOverrides`.\n It is an error to provide both a mask of this form and the\n \"config.softwareConfig.airflowConfigOverrides\" mask.
config.softwareConfig.envVariablesReplace all environment variables. If a replacement environment\n variable map is not included in `environment`, all custom environment\n variables are cleared.\n It is an error to provide both this mask and a mask specifying one or\n more individual environment variables.
config.softwareConfig.imageVersionUpgrade the version of the environment in-place. Refer to\n `SoftwareConfig.image_version` for information on how to format the new\n image version. Additionally, the new image version cannot effect a version\n downgrade and must match the current image version's Composer major\n version and Airflow major and minor versions. Consult the\n Cloud\n Composer Version List for valid values.
", + "description": "Required. A comma-separated list of paths, relative to `Environment`, of\nfields to update.\nFor example, to set the version of scikit-learn to install in the\nenvironment to 0.19.0 and to remove an existing installation of\nargparse, the `updateMask` parameter would include the following two\n`paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and\n\"config.softwareConfig.pypiPackages.argparse\". The included patch\nenvironment would specify the scikit-learn version as follows:\n\n {\n \"config\":{\n \"softwareConfig\":{\n \"pypiPackages\":{\n \"scikit-learn\":\"==0.19.0\"\n }\n }\n }\n }\n\nNote that in the above example, any existing PyPI packages\nother than scikit-learn and argparse will be unaffected.\n\nOnly one update type may be included in a single request's `updateMask`.\nFor example, one cannot update both the PyPI packages and\nlabels in the same request. However, it is possible to update multiple\nmembers of a map field simultaneously in the same request. For example,\nto set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming\nit already exists), one can\nprovide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\"\nand populate the patch environment as follows:\n\n {\n \"labels\":{\n \"label1\":\"new-label1-value\"\n \"label2\":\"new-label2-value\"\n }\n }\n\nNote that in the above example, any existing labels that are not\nincluded in the `updateMask` will be unaffected.\n\nIt is also possible to replace an entire map field by providing the\nmap field's path in the `updateMask`. The new value of the field will\nbe that which is provided in the patch environment. For example, to\ndelete all pre-existing user-specified PyPI packages and\ninstall botocore at version 1.7.14, the `updateMask` would contain\nthe path \"config.softwareConfig.pypiPackages\", and\nthe patch environment would be the following:\n\n {\n \"config\":{\n \"softwareConfig\":{\n \"pypiPackages\":{\n \"botocore\":\"==1.7.14\"\n }\n }\n }\n }\n\nNote: Only the following fields can be updated:\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
MaskPurpose
config.softwareConfig.pypiPackages\n Replace all custom custom PyPI packages. If a replacement\n package map is not included in `environment`, all custom\n PyPI packages are cleared. It is an error to provide both this mask and a\n mask specifying an individual package.
config.softwareConfig.pypiPackages.packagenameUpdate the custom PyPI package packagename,\n preserving other packages. To delete the package, include it in\n `updateMask`, and omit the mapping for it in\n `environment.config.softwareConfig.pypiPackages`. It is an error\n to provide both a mask of this form and the\n \"config.softwareConfig.pypiPackages\" mask.
labelsReplace all environment labels. If a replacement labels map is not\n included in `environment`, all labels are cleared. It is an error to\n provide both this mask and a mask specifying one or more individual\n labels.
labels.labelNameSet the label named labelName, while preserving other\n labels. To delete the label, include it in `updateMask` and omit its\n mapping in `environment.labels`. It is an error to provide both a\n mask of this form and the \"labels\" mask.
config.nodeCountHorizontally scale the number of nodes in the environment. An integer\n greater than or equal to 3 must be provided in the `config.nodeCount`\n field.\n
config.webServerNetworkAccessControlReplace the environment's current WebServerNetworkAccessControl.\n
config.softwareConfig.airflowConfigOverridesReplace all Apache Airflow config overrides. If a replacement config\n overrides map is not included in `environment`, all config overrides\n are cleared.\n It is an error to provide both this mask and a mask specifying one or\n more individual config overrides.
config.softwareConfig.airflowConfigOverrides.section-name\n Override the Apache Airflow config property name in the\n section named section, preserving other properties. To delete\n the property override, include it in `updateMask` and omit its mapping\n in `environment.config.softwareConfig.airflowConfigOverrides`.\n It is an error to provide both a mask of this form and the\n \"config.softwareConfig.airflowConfigOverrides\" mask.
config.softwareConfig.envVariablesReplace all environment variables. If a replacement environment\n variable map is not included in `environment`, all custom environment\n variables are cleared.\n It is an error to provide both this mask and a mask specifying one or\n more individual environment variables.
config.softwareConfig.imageVersionUpgrade the version of the environment in-place. Refer to\n `SoftwareConfig.image_version` for information on how to format the new\n image version. Additionally, the new image version cannot effect a version\n downgrade and must match the current image version's Composer major\n version and Airflow major and minor versions. Consult the\n Cloud\n Composer Version List for valid values.
config.databaseConfig.machineTypeCloud SQL machine type used by Airflow database.\n It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8\n or db-n1-standard-16.
config.webServerConfig.machineTypeMachine type on which Airflow web server is running.\n It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or\n composer-n1-webserver-8.\n
", "format": "google-fieldmask", "location": "query", "type": "string" @@ -401,7 +401,7 @@ } } }, - "revision": "20200406", + "revision": "20200625", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -419,6 +419,17 @@ }, "type": "object" }, + "DatabaseConfig": { + "description": "The configuration of Cloud SQL instance that is used by the Apache Airflow\nsoftware.", + "id": "DatabaseConfig", + "properties": { + "machineType": { + "description": "Optional. Cloud SQL machine type used by Airflow database.\nIt has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8\nor db-n1-standard-16. If not specified, db-n1-standard-2 will be used.", + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -493,6 +504,10 @@ "description": "Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud\nStorage objects reside in a flat namespace, a hierarchical file tree\ncan be simulated using \"/\"-delimited object name prefixes. DAG objects for\nthis environment reside in a simulated directory with the given prefix.", "type": "string" }, + "databaseConfig": { + "$ref": "DatabaseConfig", + "description": "Optional. The configuration settings for Cloud SQL instance used internally by Apache\nAirflow software." + }, "gkeCluster": { "description": "Output only. The Kubernetes Engine cluster used to run this environment.", "type": "string" @@ -514,6 +529,10 @@ "$ref": "SoftwareConfig", "description": "The configuration settings for software inside the environment." }, + "webServerConfig": { + "$ref": "WebServerConfig", + "description": "Optional. The configuration settings for the Airflow web server App Engine instance." + }, "webServerNetworkAccessControl": { "$ref": "WebServerNetworkAccessControl", "description": "Optional. The network-level access control policy for the Airflow web server. If\nunspecified, no network-level access restrictions will be applied." @@ -877,6 +896,17 @@ }, "type": "object" }, + "WebServerConfig": { + "description": "The configuration settings for the Airflow web server App Engine instance.", + "id": "WebServerConfig", + "properties": { + "machineType": { + "description": "Optional. Machine type on which Airflow web server is running.\nIt has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or\ncomposer-n1-webserver-8.\nIf not specified, composer-n1-webserver-2 will be used.\nValue custom is returned only in response, if Airflow web server parameters\nwere manually changed to a non-standard values.", + "type": "string" + } + }, + "type": "object" + }, "WebServerNetworkAccessControl": { "description": "Network-level access control policy for the Airflow web server.", "id": "WebServerNetworkAccessControl", diff --git a/etc/api/compute/alpha/compute-api.json b/etc/api/compute/alpha/compute-api.json index f3a483bed1..0409dc4428 100644 --- a/etc/api/compute/alpha/compute-api.json +++ b/etc/api/compute/alpha/compute-api.json @@ -29,7 +29,7 @@ "description": "Creates and runs virtual machines on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/mTPg4QMCHq68lCG0wm1t7lJ0Luo\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/liQbcVTpB1Gc6xUtyZYdRVYCMco\"", "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" @@ -190,7 +190,7 @@ ] }, "list": { - "description": "Retrieves a list of accelerator types available to the specified project.", + "description": "Retrieves a list of accelerator types that are available to the specified project.", "httpMethod": "GET", "id": "compute.acceleratorTypes.list", "parameterOrder": [ @@ -1654,7 +1654,7 @@ ] }, "getHealth": { - "description": "Gets the most recent health check results for this BackendService.", + "description": "Gets the most recent health check results for this BackendService.\n\nExample request body:\n\n{ \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", "httpMethod": "POST", "id": "compute.backendServices.getHealth", "parameterOrder": [ @@ -1690,7 +1690,7 @@ ] }, "insert": { - "description": "Creates a BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a backend service. Read Understanding backend services for more information.", + "description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "httpMethod": "POST", "id": "compute.backendServices.insert", "parameterOrder": [ @@ -1777,7 +1777,7 @@ ] }, "patch": { - "description": "Patches the specified BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "description": "Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "httpMethod": "PATCH", "id": "compute.backendServices.patch", "parameterOrder": [ @@ -1895,7 +1895,7 @@ ] }, "update": { - "description": "Updates the specified BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information.", + "description": "Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview.", "httpMethod": "PUT", "id": "compute.backendServices.update", "parameterOrder": [ @@ -3787,6 +3787,36 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getOwnerInstance": { + "description": "Find owner instance from given ip address", + "httpMethod": "GET", + "id": "compute.globalAddresses.getOwnerInstance", + "parameterOrder": [ + "project" + ], + "parameters": { + "ipAddress": { + "description": "The ip_address could be external IPv4, or internal IPv4 within IPv6 form of virtual_network_id with internal IPv4. IPv6 is not supported yet.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/addresses/getOwnerInstance", + "response": { + "$ref": "GetOwnerInstanceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "insert": { "description": "Creates an address resource in the specified project by using the data included in the request.", "httpMethod": "POST", @@ -6912,7 +6942,7 @@ ] }, "listErrors": { - "description": "Lists all errors thrown by actions on instances for a given managed instance group.", + "description": "Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported.", "httpMethod": "GET", "id": "compute.instanceGroupManagers.listErrors", "parameterOrder": [ @@ -6980,7 +7010,7 @@ ] }, "listManagedInstances": { - "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.", + "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. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.instanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -7025,6 +7055,11 @@ "required": true, "type": "string" }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" + }, "zone": { "description": "The name of the zone where the managed instance group is located.", "location": "path", @@ -7043,7 +7078,7 @@ ] }, "listPerInstanceConfigs": { - "description": "Lists all of the per-instance configs defined for the managed instance group.", + "description": "Lists all of the per-instance configs defined for the managed instance group. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.instanceGroupManagers.listPerInstanceConfigs", "parameterOrder": [ @@ -7926,7 +7961,7 @@ ] }, "listInstances": { - "description": "Lists the instances in the specified instance group.", + "description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.instanceGroups.listInstances", "parameterOrder": [ @@ -9321,7 +9356,7 @@ ] }, "listReferrers": { - "description": "Retrieves the list of referrers to instances contained within the specified zone. For more information, read Viewing Referrers to VM Instances.", + "description": "Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed instance group, the referrers list includes the managed instance group. For more information, read Viewing Referrers to VM Instances.", "httpMethod": "GET", "id": "compute.instances.listReferrers", "parameterOrder": [ @@ -9986,7 +10021,7 @@ ] }, "setScheduling": { - "description": "Sets an instance's scheduling options.", + "description": "Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", "httpMethod": "POST", "id": "compute.instances.setScheduling", "parameterOrder": [ @@ -13203,6 +13238,651 @@ } } }, + "networkFirewallPolicies": { + "methods": { + "addAssociation": { + "description": "Inserts an association for the specified firewall policy.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.addAssociation", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "replaceExistingAssociation": { + "description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", + "location": "query", + "type": "boolean" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", + "request": { + "$ref": "FirewallPolicyAssociation" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "addRule": { + "description": "Inserts a rule into a firewall policy.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.addRule", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}/addRule", + "request": { + "$ref": "FirewallPolicyRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "cloneRules": { + "description": "Copies rules to the specified firewall policy.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.cloneRules", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "(firewallPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "sourceFirewallPolicy": { + "description": "The firewall policy from which to copy rules.", + "location": "query", + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "delete": { + "description": "Deletes the specified policy.", + "httpMethod": "DELETE", + "id": "compute.networkFirewallPolicies.delete", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified network firewall policy.", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.get", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to get.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}", + "response": { + "$ref": "FirewallPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getAssociation": { + "description": "Gets an association with the specified name.", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.getAssociation", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to which the queried rule belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "name": { + "description": "The name of the association to get from the firewall policy.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", + "response": { + "$ref": "FirewallPolicyAssociation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.getIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getRule": { + "description": "Gets a rule of the specified priority.", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.getRule", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to which the queried rule belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "priority": { + "description": "The priority of the rule to get from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}/getRule", + "response": { + "$ref": "FirewallPolicyRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a new policy in the specified project using the data included in the request.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.insert", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies", + "request": { + "$ref": "FirewallPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists all the policies that have been configured for the specified project.", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "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", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" + } + }, + "path": "{project}/global/firewallPolicies", + "response": { + "$ref": "FirewallPolicyList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Patches the specified policy with the data included in the request.", + "httpMethod": "PATCH", + "id": "compute.networkFirewallPolicies.patch", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}", + "request": { + "$ref": "FirewallPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "patchRule": { + "description": "Patches a rule of the specified priority.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.patchRule", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "priority": { + "description": "The priority of the rule to patch.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}/patchRule", + "request": { + "$ref": "FirewallPolicyRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "removeAssociation": { + "description": "Removes an association for the specified firewall policy.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.removeAssociation", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "name": { + "description": "Name for the attachment that will be removed.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "removeRule": { + "description": "Deletes a rule of the specified priority.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.removeRule", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "priority": { + "description": "The priority of the rule to remove from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{firewallPolicy}/removeRule", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.setIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.testIamPermissions", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/firewallPolicies/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "networks": { "methods": { "addPeering": { @@ -14357,7 +15037,7 @@ ] }, "patch": { - "description": "Patch the node group.", + "description": "Updates the specified node group.", "httpMethod": "PATCH", "id": "compute.nodeGroups.patch", "parameterOrder": [ @@ -16171,6 +16851,11 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/getXpnResources", @@ -16219,6 +16904,11 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/listXpnHosts", @@ -17412,7 +18102,7 @@ ] }, "insert": { - "description": "Creates a regional BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a regional backend service. Read Understanding backend services for more information.", + "description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "httpMethod": "POST", "id": "compute.regionBackendServices.insert", "parameterOrder": [ @@ -17515,7 +18205,7 @@ ] }, "patch": { - "description": "Updates the specified regional BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "httpMethod": "PATCH", "id": "compute.regionBackendServices.patch", "parameterOrder": [ @@ -17609,7 +18299,7 @@ ] }, "update": { - "description": "Updates the specified regional BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information.", + "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview.", "httpMethod": "PUT", "id": "compute.regionBackendServices.update", "parameterOrder": [ @@ -20073,7 +20763,7 @@ ] }, "listErrors": { - "description": "Lists all errors thrown by actions on instances for a given regional managed instance group.", + "description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", "httpMethod": "GET", "id": "compute.regionInstanceGroupManagers.listErrors", "parameterOrder": [ @@ -20141,7 +20831,7 @@ ] }, "listManagedInstances": { - "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances.", + "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -20191,6 +20881,11 @@ "location": "path", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", @@ -20204,7 +20899,7 @@ ] }, "listPerInstanceConfigs": { - "description": "Lists all of the per-instance configs defined for the managed instance group.", + "description": "Lists all of the per-instance configs defined for the managed instance group. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", "parameterOrder": [ @@ -20851,7 +21546,7 @@ ] }, "listInstances": { - "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running.", + "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.regionInstanceGroups.listInstances", "parameterOrder": [ @@ -25159,6 +25854,338 @@ } } }, + "serviceAttachments": { + "methods": { + "delete": { + "description": "Deletes the specified ServiceAttachment in the given scope", + "httpMethod": "DELETE", + "id": "compute.serviceAttachments.delete", + "parameterOrder": [ + "project", + "region", + "serviceAttachment" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "serviceAttachment": { + "description": "Name of the ServiceAttachment resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified ServiceAttachment resource in the given scope.", + "httpMethod": "GET", + "id": "compute.serviceAttachments.get", + "parameterOrder": [ + "project", + "region", + "serviceAttachment" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Name of the ServiceAttachment resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "response": { + "$ref": "ServiceAttachment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "httpMethod": "GET", + "id": "compute.serviceAttachments.getIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a ServiceAttachment in the specified project in the given scope using the parameters that are included in the request.", + "httpMethod": "POST", + "id": "compute.serviceAttachments.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/regions/{region}/serviceAttachments", + "request": { + "$ref": "ServiceAttachment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the ServiceAttachments for a project in the given scope.", + "httpMethod": "GET", + "id": "compute.serviceAttachments.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "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", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" + } + }, + "path": "{project}/regions/{region}/serviceAttachments", + "response": { + "$ref": "ServiceAttachmentList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "httpMethod": "POST", + "id": "compute.serviceAttachments.setIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "httpMethod": "POST", + "id": "compute.serviceAttachments.testIamPermissions", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "snapshots": { "methods": { "delete": { @@ -26339,7 +27366,7 @@ ] }, "listUsable": { - "description": "Retrieves an aggregated list of all usable subnetworks in the project. The list contains all of the subnetworks in the project and the subnetworks that were shared by a Shared VPC host project.", + "description": "Retrieves an aggregated list of all usable subnetworks in the project.", "httpMethod": "GET", "id": "compute.subnetworks.listUsable", "parameterOrder": [ @@ -26748,6 +27775,47 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "patch": { + "description": "Patches the specified TargetGrpcProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "httpMethod": "PATCH", + "id": "compute.targetGrpcProxies.patch", + "parameterOrder": [ + "project", + "targetGrpcProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetGrpcProxy": { + "description": "Name of the TargetGrpcProxy resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "request": { + "$ref": "TargetGrpcProxy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", "httpMethod": "POST", @@ -27307,6 +28375,46 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "setCertificateMap": { + "description": "Changes the Certificate Map for TargetHttpsProxy.", + "httpMethod": "POST", + "id": "compute.targetHttpsProxies.setCertificateMap", + "parameterOrder": [ + "project", + "targetHttpsProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", + "request": { + "$ref": "TargetHttpsProxiesSetCertificateMapRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setQuicOverride": { "description": "Sets the QUIC override policy for TargetHttpsProxy.", "httpMethod": "POST", @@ -28604,6 +29712,46 @@ "https://www.googleapis.com/auth/compute" ] }, + "setCertificateMap": { + "description": "Changes the Certificate Map for TargetSslProxy.", + "httpMethod": "POST", + "id": "compute.targetSslProxies.setCertificateMap", + "parameterOrder": [ + "project", + "targetSslProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetSslProxy": { + "description": "Name of the TargetSslProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", + "request": { + "$ref": "TargetSslProxiesSetCertificateMapRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setProxyHeader": { "description": "Changes the ProxyHeaderType for TargetSslProxy.", "httpMethod": "POST", @@ -31213,7 +32361,7 @@ } } }, - "revision": "20200311", + "revision": "20200612", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -31259,7 +32407,7 @@ "type": "string" }, "maximumCardsPerInstance": { - "description": "[Output Only] Maximum accelerator cards allowed per instance.", + "description": "[Output Only] Maximum number of accelerator cards allowed per instance.", "format": "int32", "type": "integer" }, @@ -31269,7 +32417,7 @@ "type": "string" }, "selfLink": { - "description": "[Output Only] Server-defined fully-qualified URL for this resource.", + "description": "[Output Only] Server-defined, fully qualified URL for this resource.", "type": "string" }, "selfLinkWithId": { @@ -31740,7 +32888,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this Address resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -32208,7 +33356,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.", + "description": "Properties of the SKU instances being reserved. Next ID: 9", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -32225,14 +33373,35 @@ }, "type": "array" }, + "locationHint": { + "description": "An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.", + "type": "string" + }, "longTermRelease": { - "description": "Compute Engine Long Term Release. When specified, VMs that have this policy become long term release (internal: stable fleet) VMs.\n\nFor all VM shapes, this should result in fewer disruptions due to software updates and greater predictability via 1 week extended notifications.\n\nFor GPU VMs, this should also result in an 2 week uptime guarantee. See go/stable-fleet-gpus-design for more details.", + "description": "DEPRECATED, please use maintenance_freeze_duration_hours. TODO(b/154158138): Remove this field. Compute Engine Long Term Release. When specified, VMs that have this policy become long term release (internal: stable fleet) VMs.\n\nFor all VM shapes, this should result in fewer disruptions due to software updates and greater predictability via 1 week extended notifications.\n\nFor GPU VMs, this should also result in an 2 week uptime guarantee. See go/stable-fleet-gpus-design for more details.", "type": "boolean" }, "machineType": { "description": "Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.", "type": "string" }, + "maintenanceFreezeDurationHours": { + "description": "Specifies the number of hours after reservation creation where instances using the reservation won't be scheduled for maintenance.", + "format": "int32", + "type": "integer" + }, + "maintenanceInterval": { + "description": "Specifies whether this VM may be a stable fleet VM. Setting this to \"Periodic\" designates this VM as a Stable Fleet VM.\n\nSee go/stable-fleet-ug for more details.", + "enum": [ + "AS_NEEDED", + "PERIODIC" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "minCpuPlatform": { "description": "Minimum cpu platform the reservation.", "type": "string" @@ -32410,6 +33579,10 @@ "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks.", "type": "object" }, + "multiWriter": { + "description": "Indicates whether or not the disk can be read/write attached to more than one instance.", + "type": "boolean" + }, "onUpdateAction": { "description": "Specifies which action to take on instance update with this disk. Default is to use the existing disk.", "enum": [ @@ -32458,7 +33631,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"sampleservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -32483,7 +33656,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -32935,6 +34108,7 @@ "MISSING_CUSTOM_METRIC_DATA_POINTS", "MISSING_LOAD_BALANCING_DATA_POINTS", "MODE_OFF", + "MODE_ONLY_SCALE_OUT", "MODE_ONLY_UP", "MORE_THAN_ONE_BACKEND_SERVICE", "NOT_ENOUGH_QUOTA_AVAILABLE", @@ -32961,6 +34135,7 @@ "", "", "", + "", "" ], "type": "string" @@ -33103,19 +34278,17 @@ "enum": [ "OFF", "ON", + "ONLY_SCALE_OUT", "ONLY_UP" ], "enumDescriptions": [ + "", "", "", "" ], "type": "string" }, - "queueBasedScaling": { - "$ref": "AutoscalingPolicyQueueBasedScaling", - "description": "Configuration parameters of autoscaling based on queuing system." - }, "scaleDownControl": { "$ref": "AutoscalingPolicyScaleDownControl" }, @@ -33202,42 +34375,6 @@ }, "type": "object" }, - "AutoscalingPolicyQueueBasedScaling": { - "description": "Configuration parameters of autoscaling based on queuing system.", - "id": "AutoscalingPolicyQueueBasedScaling", - "properties": { - "acceptableBacklogPerInstance": { - "description": "Scaling based on the average number of tasks in the queue per each active instance. The autoscaler keeps the average number of tasks per instance below this number, based on data collected in the last couple of minutes. The autoscaler will also take into account incoming tasks when calculating when to scale.", - "format": "double", - "type": "number" - }, - "cloudPubSub": { - "$ref": "AutoscalingPolicyQueueBasedScalingCloudPubSub", - "description": "Configuration for Cloud Pub/Sub subscription queue." - }, - "singleWorkerThroughputPerSec": { - "description": "The scaling algorithm will also calculate throughput estimates on its own; if you explicitly provide this value, the autoscaler will take into account your value as well as automatic estimates when deciding how to scale.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "AutoscalingPolicyQueueBasedScalingCloudPubSub": { - "description": "Configuration parameters for scaling based on Cloud Pub/Sub subscription queue.", - "id": "AutoscalingPolicyQueueBasedScalingCloudPubSub", - "properties": { - "subscription": { - "description": "Cloud Pub/Sub subscription used for scaling. Provide the partial URL (starting with projects/) or just the subscription name. The subscription must be assigned to the topic specified in topicName and must be in a pull configuration. The subscription must belong to the same project as the Autoscaler.", - "type": "string" - }, - "topic": { - "description": "Cloud Pub/Sub topic used for scaling. Provide the partial URL or partial URL (starting with projects/) or just the topic name. The topic must belong to the same project as the Autoscaler resource.", - "type": "string" - } - }, - "type": "object" - }, "AutoscalingPolicyScaleDownControl": { "description": "Configuration that allows for slower scale down so that even if Autoscaler recommends an abrupt scale down of a MIG, it will be throttled as specified by the parameters below.", "id": "AutoscalingPolicyScaleDownControl", @@ -33289,7 +34426,7 @@ "type": "string" }, "capacityScaler": { - "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available Capacity. Valid range is [0.0,1.0].\n\nThis cannot be used for internal load balancing.", + "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service.\n\nThis cannot be used for internal load balancing.", "format": "float", "type": "number" }, @@ -33527,7 +34664,7 @@ "type": "object" }, "BackendService": { - "description": "Represents a Backend Service resource.\n\nA backend service contains configuration values for Google Cloud Platform load balancing services.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, read Backend Services.\n\n(== resource_for {$api_version}.backendService ==)", + "description": "Represents a Backend Service resource.\n\nA backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, see Backend Services.\n\n(== resource_for {$api_version}.backendService ==)", "id": "BackendService", "properties": { "affinityCookieTtlSec": { @@ -33593,7 +34730,8 @@ "type": "array" }, "iap": { - "$ref": "BackendServiceIAP" + "$ref": "BackendServiceIAP", + "description": "The configurations for Identity-Aware Proxy on this resource." }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -33624,7 +34762,7 @@ "type": "string" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. \n- RANDOM: The load balancer selects a random healthy host. \n- ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. \n- MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to https://ai.google/research/pubs/pub44824 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to >MAGLEV or RING_HASH, session affinity settings will not take effect.", + "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. \n- RANDOM: The load balancer selects a random healthy host. \n- ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. \n- MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to >MAGLEV or RING_HASH, session affinity settings will not take effect.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -33668,7 +34806,7 @@ "type": "integer" }, "portName": { - "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nMust be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Blaancing).", + "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nMust be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing).", "type": "string" }, "protocol": { @@ -33738,7 +34876,7 @@ "type": "string" }, "timeoutSec": { - "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information read, Backend service settings The default is 30 seconds.", + "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings The default is 30 seconds.", "format": "int32", "type": "integer" } @@ -33940,9 +35078,11 @@ "id": "BackendServiceIAP", "properties": { "enabled": { + "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests. If true, the oauth2ClientId and oauth2ClientSecret fields must be non-empty.", "type": "boolean" }, "oauth2ClientId": { + "description": "OAuth2 client ID to use for the authentication flow.", "type": "string" }, "oauth2ClientInfo": { @@ -33950,6 +35090,7 @@ "description": "[Input Only] OAuth client info required to generate client id to be used for IAP." }, "oauth2ClientSecret": { + "description": "OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field.", "type": "string" }, "oauth2ClientSecretSha256": { @@ -34482,7 +35623,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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@example.com` .\n\n\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* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", @@ -34506,13 +35647,6 @@ "format": "int64", "type": "string" }, - "excludedZones": { - "description": "List of zones to exclude for regional requests.", - "items": { - "type": "string" - }, - "type": "array" - }, "instance": { "$ref": "Instance" }, @@ -35337,14 +36471,14 @@ "type": "array" }, "allowOriginRegexes": { - "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript \nAn origin is allowed if it matches either allow_origins or allow_origin_regex.", + "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript \nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, "type": "array" }, "allowOrigins": { - "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either allow_origins or allow_origin_regex.", + "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, @@ -35481,6 +36615,20 @@ "format": "uint64", "type": "string" }, + "interface": { + "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", + "enum": [ + "NVME", + "SCSI", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, "kind": { "default": "compute#disk", "description": "[Output Only] Type of the resource. Always compute#disk for disks.", @@ -35540,7 +36688,7 @@ "type": "string" }, "physicalBlockSizeBytes": { - "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", + "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", "format": "int64", "type": "string" }, @@ -35650,7 +36798,7 @@ "type": "string" }, "type": { - "description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", + "description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", "type": "string" }, "users": { @@ -36723,7 +37871,7 @@ "type": "object" }, "ExternalVpnGateway": { - "description": "External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud to your on-premises side or another Cloud provider's VPN gateway, you must create a external VPN gateway resource in GCP, which provides the information to GCP about your external VPN gateway.", + "description": "Represents an external VPN gateway.\n\nExternal VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway.\n\nTo create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway.\n\nFor more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN. (== resource_for {$api_version}.externalVpnGateways ==)", "id": "ExternalVpnGateway", "properties": { "creationTimestamp": { @@ -36760,7 +37908,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this ExternalVpnGateway resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -36936,6 +38084,7 @@ "type": "string" }, "fileType": { + "description": "The file type of source file.", "enum": [ "BIN", "UNDEFINED", @@ -37027,7 +38176,7 @@ "type": "boolean" }, "enableLogging": { - "description": "Deprecated in favor of enable in LogConfig. This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported to Stackdriver.", + "description": "Deprecated in favor of enable in LogConfig. This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported t Cloud Logging.", "type": "boolean" }, "id": { @@ -37042,7 +38191,7 @@ }, "logConfig": { "$ref": "FirewallLogConfig", - "description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Stackdriver." + "description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Cloud Logging." }, "name": { "annotations": { @@ -37247,6 +38396,322 @@ }, "type": "object" }, + "FirewallPolicy": { + "description": "Represents a Firewall Policy resource. (== resource_for {$api_version}.firewallPolicies ==)", + "id": "FirewallPolicy", + "properties": { + "associations": { + "description": "A list of associations that belong to this firewall policy.", + "items": { + "$ref": "FirewallPolicyAssociation" + }, + "type": "array" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "displayName": { + "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy 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])?", + "type": "string" + }, + "fingerprint": { + "description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.\n\nTo see the latest fingerprint, make get() request to the firewall policy.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#firewallPolicy", + "description": "[Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies", + "type": "string" + }, + "name": { + "description": "[Output Only] Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy.", + "type": "string" + }, + "parent": { + "description": "[Output Only] The parent of the firewall policy.", + "type": "string" + }, + "ruleTupleCount": { + "description": "[Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", + "format": "int32", + "type": "integer" + }, + "rules": { + "description": "A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a firewall policy, a default rule with action \"allow\" will be added.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + } + }, + "type": "object" + }, + "FirewallPolicyAssociation": { + "id": "FirewallPolicyAssociation", + "properties": { + "attachmentTarget": { + "description": "The target that the firewall policy is attached to.", + "type": "string" + }, + "displayName": { + "description": "[Output Only] The display name of the firewall policy of the association.", + "type": "string" + }, + "firewallPolicyId": { + "description": "[Output Only] The firewall policy ID of the association.", + "type": "string" + }, + "name": { + "description": "The name for an association.", + "type": "string" + } + }, + "type": "object" + }, + "FirewallPolicyList": { + "id": "FirewallPolicyList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of FirewallPolicy resources.", + "items": { + "$ref": "FirewallPolicy" + }, + "type": "array" + }, + "kind": { + "default": "compute#firewallPolicyList", + "description": "[Output Only] Type of resource. Always compute#firewallPolicyList for listsof FirewallPolicies", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "MISSING_TYPE_DEPENDENCY", + "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", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "FirewallPolicyRule": { + "description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", + "id": "FirewallPolicyRule", + "properties": { + "action": { + "description": "The Action to perform when the client connection triggers the rule. Can currently be either \"allow\" or \"deny()\" where valid values for status are 403, 404, and 502.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "direction": { + "description": "The direction in which this rule applies.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "EGRESS", + "INGRESS" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "enableLogging": { + "description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules.", + "type": "boolean" + }, + "kind": { + "default": "compute#firewallPolicyRule", + "description": "[Output only] Type of the resource. Always compute#firewallPolicyRule for firewall policy rules", + "type": "string" + }, + "match": { + "$ref": "FirewallPolicyRuleMatcher", + "description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding ?action? is enforced." + }, + "preview": { + "description": "If set to true, the specified action is not enforced.", + "type": "boolean" + }, + "priority": { + "description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.", + "format": "int32", + "type": "integer" + }, + "ruleTupleCount": { + "description": "[Output Only] Calculation of the complexity of a single firewall policy rule.", + "format": "int32", + "type": "integer" + }, + "targetResources": { + "description": "A list of network resource URLs to which this rule applies. This field allows you to control which network?s VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetServiceAccounts": { + "description": "A list of service accounts indicating the sets of instances that are applied with this rule.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FirewallPolicyRuleMatcher": { + "description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", + "id": "FirewallPolicyRuleMatcher", + "properties": { + "destIpRanges": { + "description": "CIDR IP address range.", + "items": { + "type": "string" + }, + "type": "array" + }, + "layer4Configs": { + "description": "Pairs of IP protocols and ports that the rule should match.", + "items": { + "$ref": "FirewallPolicyRuleMatcherLayer4Config" + }, + "type": "array" + }, + "srcIpRanges": { + "description": "CIDR IP address range.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FirewallPolicyRuleMatcherLayer4Config": { + "id": "FirewallPolicyRuleMatcherLayer4Config", + "properties": { + "ipProtocol": { + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", + "type": "string" + }, + "ports": { + "description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "FixedOrPercent": { "description": "Encapsulates numeric value that can be either absolute or relative.", "id": "FixedOrPercent", @@ -37359,7 +38824,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this resource. These can be later modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "loadBalancingScheme": { @@ -37826,6 +39291,16 @@ }, "type": "object" }, + "GetOwnerInstanceResponse": { + "id": "GetOwnerInstanceResponse", + "properties": { + "instance": { + "description": "Full instance resource URL.", + "type": "string" + } + }, + "type": "object" + }, "GlobalNetworkEndpointGroupsAttachEndpointsRequest": { "id": "GlobalNetworkEndpointGroupsAttachEndpointsRequest", "properties": { @@ -37982,10 +39457,12 @@ "type": { "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options.", "enum": [ + "BARE_METAL_LINUX_COMPATIBLE", "FEATURE_TYPE_UNSPECIFIED", "GVNIC", "MULTI_IP_SUBNET", "SECURE_BOOT", + "SEV_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS" @@ -37997,6 +39474,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -38410,7 +39889,7 @@ "type": "object" }, "HealthCheckService": { - "description": "A HealthCheckService defines a set of backends on which to perform periodic health checks and an endpoint to which to send notification of changes in the health status of the backends.", + "description": "Represents a Health-Check as a Service resource.\n\n(== resource_for {$api_version}.regionHealthCheckServices ==)", "id": "HealthCheckService", "properties": { "creationTimestamp": { @@ -38446,7 +39925,7 @@ "type": "string" }, "healthStatusAggregationStrategy": { - "description": "Policy for how the results from multiple health checks for the same endpoint are aggregated. \n- NO_AGGREGATION. An EndpointHealth message is returned for each backend in the health check service. \n- AND. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY. .", + "description": "This field is deprecated. Use health_status_aggregation_policy instead.\n\nPolicy for how the results from multiple health checks for the same endpoint are aggregated. \n- NO_AGGREGATION. An EndpointHealth message is returned for each backend in the health check service. \n- AND. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY. .", "enum": [ "AND", "NO_AGGREGATION" @@ -39400,7 +40879,7 @@ }, "urlRewrite": { "$ref": "UrlRewrite", - "description": "The spec to modify the URL of the request, prior to forwarding the request to the matched service." + "description": "The spec to modify the URL of the request, prior to forwarding the request to the matched service.\nurlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers." }, "weightedBackendServices": { "description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non 0 number.\nOnce a backendService is identified and before forwarding the request to the backend service, advanced routing actions like Url rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", @@ -39836,7 +41315,7 @@ "type": "string" }, "sourceImage": { - "description": "URL of the source image used to create this image. This can be a full or valid partial URL. You must provide exactly one of: \n- this property, or \n- the rawDisk.source property, or \n- the sourceDisk property in order to create an image.", + "description": "URL of the source image used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following: \n- The selfLink URL \n- This property \n- The rawDisk.source URL \n- The sourceDisk URL", "type": "string" }, "sourceImageEncryptionKey": { @@ -39848,7 +41327,7 @@ "type": "string" }, "sourceSnapshot": { - "description": "URL of the source snapshot used to create this image. This can be a full or valid partial URL. You must provide exactly one of: \n- this property, or \n- the sourceImage property, or \n- the rawDisk.source property, or \n- the sourceDisk property in order to create an image.", + "description": "URL of the source snapshot used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following: \n- The selfLink URL \n- This property \n- The sourceImage URL \n- The rawDisk.source URL \n- The sourceDisk URL", "type": "string" }, "sourceSnapshotEncryptionKey": { @@ -40331,6 +41810,18 @@ "description": "Labels to apply to this instance. These can be later modified by the setLabels method.", "type": "object" }, + "lastStartTimestamp": { + "description": "[Output Only] Last start timestamp in RFC3339 text format.", + "type": "string" + }, + "lastStopTimestamp": { + "description": "[Output Only] Last stop timestamp in RFC3339 text format.", + "type": "string" + }, + "lastSuspendedTimestamp": { + "description": "[Output Only] Last suspended timestamp in RFC3339 text format.", + "type": "string" + }, "machineType": { "annotations": { "required": [ @@ -40453,7 +41944,7 @@ "type": "boolean" }, "status": { - "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED, and TERMINATED.", + "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED.", "enum": [ "DEPROVISIONING", "PROVISIONING", @@ -40665,7 +42156,7 @@ "type": "array" }, "network": { - "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. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", "type": "string" }, "region": { @@ -40686,7 +42177,7 @@ "type": "integer" }, "subnetwork": { - "description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong.", + "description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", "type": "string" }, "zone": { @@ -41449,6 +42940,20 @@ "isStateful": { "description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. This field is deprecated in favor of has_stateful_config.", "type": "boolean" + }, + "perInstanceConfigs": { + "$ref": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", + "description": "[Output Only] Status of per-instance configs on the instance." + } + }, + "type": "object" + }, + "InstanceGroupManagerStatusStatefulPerInstanceConfigs": { + "id": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", + "properties": { + "allEffective": { + "description": "A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.", + "type": "boolean" } }, "type": "object" @@ -41573,6 +43078,10 @@ "description": "InstanceGroupManagers.applyUpdatesToInstances", "id": "InstanceGroupManagersApplyUpdatesRequest", "properties": { + "allInstances": { + "description": "Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request.", + "type": "boolean" + }, "instances": { "description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -42588,7 +44097,7 @@ "id": "InstanceProperties", "properties": { "canIpForward": { - "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 Enable IP forwarding documentation for more information.", + "description": "Enables instances created based on these properties 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 Enable IP forwarding documentation for more information.", "type": "boolean" }, "confidentialInstanceConfig": { @@ -42596,11 +44105,11 @@ "description": "Specifies the Confidential Instance options." }, "description": { - "description": "An optional text description for the instances that are created from this instance template.", + "description": "An optional text description for the instances that are created from these properties.", "type": "string" }, "disks": { - "description": "An array of disks that are associated with the instances that are created from this template.", + "description": "An array of disks that are associated with the instances that are created from these properties.", "items": { "$ref": "AttachedDisk" }, @@ -42611,7 +44120,7 @@ "description": "Display Device properties to enable support for remote display products like: Teradici, VNC and TeamViewer" }, "guestAccelerators": { - "description": "A list of guest accelerator cards' type and count to use for instances created from the instance template.", + "description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", "items": { "$ref": "AcceleratorConfig" }, @@ -42621,7 +44130,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to instances that are created from this template.", + "description": "Labels to apply to instances that are created from these properties.", "type": "object" }, "machineType": { @@ -42630,15 +44139,15 @@ "compute.instanceTemplates.insert" ] }, - "description": "The machine type to use for instances that are created from this template.", + "description": "The machine type to use for instances that are created from these properties.", "type": "string" }, "metadata": { "$ref": "Metadata", - "description": "The metadata key/value pairs to assign to instances that are created from this template. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." + "description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." }, "minCpuPlatform": { - "description": "Minimum cpu/platform to be used by this instance. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", + "description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", "type": "string" }, "networkInterfaces": { @@ -42649,7 +44158,7 @@ "type": "array" }, "postKeyRevocationActionType": { - "description": "Specifies whether this instance will be shut down on key revocation.", + "description": "Specifies whether instances will be shut down on key revocation.", "enum": [ "NOOP", "SHUTDOWN", @@ -42663,7 +44172,7 @@ "type": "string" }, "privateIpv6GoogleAccess": { - "description": "The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", + "description": "The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default.", "enum": [ "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", @@ -42678,10 +44187,10 @@ }, "reservationAffinity": { "$ref": "ReservationAffinity", - "description": "Specifies the reservations that this instance can consume from." + "description": "Specifies the reservations that instances can consume from." }, "resourcePolicies": { - "description": "Resource policies (names, not ULRs) applied to instances created from this template.", + "description": "Resource policies (names, not ULRs) applied to instances created from these properties.", "items": { "type": "string" }, @@ -42689,10 +44198,10 @@ }, "scheduling": { "$ref": "Scheduling", - "description": "Specifies the scheduling options for the instances that are created from this template." + "description": "Specifies the scheduling options for the instances that are created from these properties." }, "serviceAccounts": { - "description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from this template. Use metadata queries to obtain the access tokens for these instances.", + "description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", "items": { "$ref": "ServiceAccount" }, @@ -42703,11 +44212,11 @@ }, "shieldedVmConfig": { "$ref": "ShieldedVmConfig", - "description": "Specifies the Shielded VM options for the instances that are created from this template." + "description": "Specifies the Shielded VM options for the instances that are created from these properties." }, "tags": { "$ref": "Tags", - "description": "A list of tags to apply to the instances that are created from this template. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." + "description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." } }, "type": "object" @@ -43311,7 +44820,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this Interconnect resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "linkType": { @@ -43497,7 +45006,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this InterconnectAttachment resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "mtu": { @@ -43962,7 +45471,7 @@ "type": "object" }, "InterconnectCircuitInfo": { - "description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only. Next id: 4", + "description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only.", "id": "InterconnectCircuitInfo", "properties": { "customerDemarcId": { @@ -44476,7 +45985,7 @@ "type": "object" }, "InterconnectOutageNotification": { - "description": "Description of a planned outage on this Interconnect. Next id: 9", + "description": "Description of a planned outage on this Interconnect.", "id": "InterconnectOutageNotification", "properties": { "affectedCircuits": { @@ -45297,7 +46806,7 @@ "id": "LogConfigDataAccessOptions", "properties": { "logMode": { - "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is currently supported in the LocalIAM implementation, Stubby C++, and Stubby Java. For Apps Framework, see go/af-audit-logging#failclosed. TODO(b/77591626): Add support for Stubby Go. TODO(b/129671387): Add support for Scaffolding.", + "description": "", "enum": [ "LOG_FAIL_CLOSED", "LOG_MODE_UNSPECIFIED" @@ -45393,7 +46902,7 @@ "type": "string" }, "storageLocations": { - "description": "GCS bucket storage location of the machine image (regional or multi-regional).", + "description": "The regional or multi-regional Cloud Storage bucket location where the machine image is stored.", "items": { "type": "string" }, @@ -45525,6 +47034,24 @@ "description": "Represents a Machine Type resource.\n\nYou can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types. (== resource_for {$api_version}.machineTypes ==)", "id": "MachineType", "properties": { + "accelerators": { + "description": "[Output Only] A list of accelerator configurations assigned to this machine type.", + "items": { + "properties": { + "guestAcceleratorCount": { + "description": "Number of accelerator cards exposed to the guest.", + "format": "int32", + "type": "integer" + }, + "guestAcceleratorType": { + "description": "The accelerator type resource name, not a full URL, e.g. 'nvidia-tesla-k80'.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -46262,7 +47789,7 @@ "type": "string" }, "autoCreateSubnetworks": { - "description": "When set to true, the VPC network is created in \"auto\" mode. When set to false, the VPC network is created in \"custom\" mode.\n\nAn auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges.", + "description": "When set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode.\n\nAn auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges.\n\nFor custom mode VPC networks, you can add subnets using the subnetworks insert method.", "type": "boolean" }, "creationTimestamp": { @@ -46273,6 +47800,10 @@ "description": "An optional description of this resource. Provide this field when you create the resource.", "type": "string" }, + "firewallPolicy": { + "description": "[Output Only] URL of the firewall policy the network is associated with.", + "type": "string" + }, "gatewayIPv4": { "description": "[Output Only] The gateway address for default routing out of the network, selected by GCP.", "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}", @@ -46333,7 +47864,7 @@ "type": "object" }, "NetworkEndpoint": { - "description": "The network endpoint. Next ID: 7", + "description": "The network endpoint.", "id": "NetworkEndpoint", "properties": { "annotations": { @@ -46364,7 +47895,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nFor more information read Network endpoint groups overview. (== resource_for {$api_version}.networkEndpointGroups ==) Next ID: 21", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up internet NEGs or Setting up zonal NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==)", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -46424,6 +47955,7 @@ "networkEndpointType": { "description": "Type of network endpoints in this network endpoint group.", "enum": [ + "GCE_VM_IP", "GCE_VM_IP_PORT", "GCE_VM_PRIMARY_IP", "INTERNET_FQDN_PORT", @@ -46437,6 +47969,7 @@ "", "", "", + "", "" ], "type": "string" @@ -46827,7 +48360,7 @@ "type": "array" }, "healthStatus": { - "description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specifiy this parameter, the health status of network endpoints will not be provided.", + "description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter, the health status of network endpoints will not be provided.", "enum": [ "SHOW", "SKIP" @@ -47443,6 +48976,10 @@ "description": "[Output Only] The type of the resource. Always compute#nodeGroup for node group.", "type": "string" }, + "locationHint": { + "description": "An opaque location hint used to place the Node close to other resources. This field is for use by internal tools that use the public API. The location hint here on the NodeGroup overrides any location_hint present in the NodeTemplate.", + "type": "string" + }, "maintenancePolicy": { "description": "Specifies how to handle instances when a node in the group undergoes maintenance.", "enum": [ @@ -47467,7 +49004,7 @@ "type": "string" }, "nodeTemplate": { - "description": "The URL of the node template to which this node group belongs.", + "description": "URL of the node template to create the node group from.", "type": "string" }, "selfLink": { @@ -48105,7 +49642,7 @@ "type": "object" }, "NodeTemplate": { - "description": "Represent a sole-tenant Node Template resource.\n\nYou can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances. (== resource_for {$api_version}.nodeTemplates ==) (== NextID: 19 ==)", + "description": "Represent a sole-tenant Node Template resource.\n\nYou can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances. (== resource_for {$api_version}.nodeTemplates ==)", "id": "NodeTemplate", "properties": { "accelerators": { @@ -48953,7 +50490,7 @@ "type": "object" }, "NotificationEndpoint": { - "description": "A notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service.", + "description": "Represents a notification endpoint.\n\nA notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service.\n\nFor more information, see Health checks overview. (== resource_for {$api_version}.notificationEndpoint ==) (== resource_for {$api_version}.regionNotificationEndpoints ==)", "id": "NotificationEndpoint", "properties": { "creationTimestamp": { @@ -49837,7 +51374,7 @@ "type": "object" }, "PacketMirroring": { - "description": "Represents a PacketMirroring resource.", + "description": "Represents a Packet Mirroring resource.\n\nPacket Mirroring clones the traffic of specified instances in your Virtual Private Cloud (VPC) network and forwards it to a collector destination, such as an instance group of an internal TCP/UDP load balancer, for analysis or examination. For more information about setting up Packet Mirroring, see Using Packet Mirroring. (== resource_for {$api_version}.packetMirrorings ==)", "id": "PacketMirroring", "properties": { "collectorIlb": { @@ -50362,7 +51899,7 @@ "properties": { "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathMatcher's defaultRouteAction." }, "defaultService": { "description": "The full or partial URL to the BackendService resource. This will be used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: \n- https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService \n- compute/v1/projects/project/global/backendServices/backendService \n- global/backendServices/backendService If defaultRouteAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.\nAuthorization requires one or more of the following Google IAM permissions on the specified resource default_service: \n- compute.backendBuckets.use \n- compute.backendServices.use", @@ -50414,7 +51951,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices.\nOnly one of routeAction or urlRedirect must be set." + "description": "In response to a matching path, the load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices.\nOnly one of routeAction or urlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathRule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendService s. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -50453,6 +51990,26 @@ "preservedState": { "$ref": "PreservedState", "description": "The intended preserved state for the given instance. Does not contain preserved state generated from a stateful policy." + }, + "status": { + "description": "The status of applying this per-instance config on the corresponding managed instance.", + "enum": [ + "APPLYING", + "DELETING", + "EFFECTIVE", + "NONE", + "UNAPPLIED", + "UNAPPLIED_DELETION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" } }, "type": "object" @@ -50546,7 +52103,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both.\n\n**JSON example:**\n\n{ \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [\"user:eve@example.com\"], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 }\n\n**YAML example:**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n{ \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 }\n\n**YAML example:**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -50580,7 +52137,7 @@ "type": "array" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -51581,6 +53138,7 @@ "metric": { "description": "[Output Only] Name of the quota metric.", "enum": [ + "A2_CPUS", "AFFINITY_GROUPS", "ALIASES_PER_NETWORK_GLOBAL", "AMD_S9300_GPUS", @@ -51589,12 +53147,15 @@ "BACKEND_SERVICES", "C2_CPUS", "COMMITMENTS", + "COMMITTED_A2_CPUS", "COMMITTED_C2_CPUS", "COMMITTED_CPUS", "COMMITTED_LICENSES", "COMMITTED_LOCAL_SSD_TOTAL_GB", + "COMMITTED_MEMORY_OPTIMIZED_CPUS", "COMMITTED_N2D_CPUS", "COMMITTED_N2_CPUS", + "COMMITTED_NVIDIA_A100_GPUS", "COMMITTED_NVIDIA_K80_GPUS", "COMMITTED_NVIDIA_P100_GPUS", "COMMITTED_NVIDIA_P4_GPUS", @@ -51630,13 +53191,17 @@ "IN_USE_MAINTENANCE_WINDOWS", "IN_USE_SNAPSHOT_SCHEDULES", "LOCAL_SSD_TOTAL_GB", + "M1_CPUS", + "M2_CPUS", "MACHINE_IMAGES", "N2D_CPUS", "N2_CPUS", "NETWORKS", "NETWORK_ENDPOINT_GROUPS", + "NETWORK_FIREWALL_POLICIES", "NODE_GROUPS", "NODE_TEMPLATES", + "NVIDIA_A100_GPUS", "NVIDIA_K80_GPUS", "NVIDIA_P100_GPUS", "NVIDIA_P100_VWS_GPUS", @@ -51648,6 +53213,7 @@ "PACKET_MIRRORINGS", "PREEMPTIBLE_CPUS", "PREEMPTIBLE_LOCAL_SSD_GB", + "PREEMPTIBLE_NVIDIA_A100_GPUS", "PREEMPTIBLE_NVIDIA_K80_GPUS", "PREEMPTIBLE_NVIDIA_P100_GPUS", "PREEMPTIBLE_NVIDIA_P100_VWS_GPUS", @@ -51657,6 +53223,7 @@ "PREEMPTIBLE_NVIDIA_T4_VWS_GPUS", "PREEMPTIBLE_NVIDIA_V100_GPUS", "PRIVATE_V6_ACCESS_SUBNETWORKS", + "PSC_GOOGLE_APIS_FORWARDING_RULES_PER_NETWORK", "PUBLIC_ADVERTISED_PREFIXES", "PUBLIC_DELEGATED_PREFIXES", "REGIONAL_AUTOSCALERS", @@ -51792,6 +53359,16 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "type": "string" @@ -52487,6 +54064,10 @@ "description": "InstanceGroupManagers.applyUpdatesToInstances", "id": "RegionInstanceGroupManagersApplyUpdatesRequest", "properties": { + "allInstances": { + "description": "Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request.", + "type": "boolean" + }, "instances": { "description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -53716,6 +55297,10 @@ "format": "uint64", "type": "string" }, + "instanceSchedulePolicy": { + "$ref": "ResourcePolicyInstanceSchedulePolicy", + "description": "Resource policy for scheduling instance operations." + }, "kind": { "default": "compute#resourcePolicy", "description": "[Output Only] Type of the resource. Always compute#resource_policies for resource policies.", @@ -53991,6 +55576,36 @@ }, "type": "object" }, + "ResourcePolicyInstanceSchedulePolicy": { + "description": "An InstanceSchedulePolicy specifies when and how frequent certain operations are performed on the instance.", + "id": "ResourcePolicyInstanceSchedulePolicy", + "properties": { + "vmStartSchedule": { + "$ref": "ResourcePolicyInstanceSchedulePolicySchedule", + "description": "Specifies the schedule for starting instance." + }, + "vmStopSchedule": { + "$ref": "ResourcePolicyInstanceSchedulePolicySchedule", + "description": "Specifies the schedule for stopping instance." + } + }, + "type": "object" + }, + "ResourcePolicyInstanceSchedulePolicySchedule": { + "description": "Schedule for the instance operation.", + "id": "ResourcePolicyInstanceSchedulePolicySchedule", + "properties": { + "schedule": { + "description": "Specifies the frequency for the operation, using the unix-cron format.", + "type": "string" + }, + "timeZone": { + "description": "Specifies the time zone to be used in interpreting Schedule.schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.", + "type": "string" + } + }, + "type": "object" + }, "ResourcePolicyList": { "id": "ResourcePolicyList", "properties": { @@ -54186,6 +55801,10 @@ "description": "Specified snapshot properties for scheduled snapshots created by this policy.", "id": "ResourcePolicySnapshotSchedulePolicySnapshotProperties", "properties": { + "chainName": { + "description": "Chain name that the snapshot is created in.", + "type": "string" + }, "guestFlush": { "description": "Indication to perform a 'guest aware' snapshot.", "type": "boolean" @@ -54609,7 +56228,7 @@ "type": "object" }, "Router": { - "description": "Represents a Cloud Router resource.\n\nFor more information about Cloud Router, read the the Cloud Router overview.", + "description": "Represents a Cloud Router resource.\n\nFor more information about Cloud Router, read the Cloud Router overview.", "id": "Router", "properties": { "bgp": { @@ -54668,7 +56287,8 @@ "network": { "annotations": { "required": [ - "compute.routers.insert" + "compute.routers.insert", + "compute.routers.update" ] }, "description": "URI of the network to which this router belongs.", @@ -54871,7 +56491,7 @@ "type": "integer" }, "keepaliveInterval": { - "description": "The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 1 and 120. The default is 20.", + "description": "The interval in seconds between BGP keepalive messages that are sent to the peer.\nNot currently available publicly.\nHold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer.\nBGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers.\nIf set, this value must be between 1 and 120. The default is 20.", "format": "uint32", "type": "integer" } @@ -54924,10 +56544,10 @@ }, "bfd": { "$ref": "RouterBgpPeerBfd", - "description": "BFD configuration for the BGP peering." + "description": "BFD configuration for the BGP peering.\nNot currently available publicly." }, "enable": { - "description": "The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.", + "description": "The status of the BGP peer connection.\nNot currently available publicly.\nIf set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.", "enum": [ "FALSE", "TRUE" @@ -54989,12 +56609,12 @@ "id": "RouterBgpPeerBfd", "properties": { "minReceiveInterval": { - "description": "The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 100 and 30000. The default is 300.", + "description": "The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router.\nNot currently available publicly.\nIf set, this value must be between 100 and 30000.\nThe default is 300.", "format": "uint32", "type": "integer" }, "minTransmitInterval": { - "description": "The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 100 and 30000. The default is 300.", + "description": "The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router.\nNot currently available publicly.\nIf set, this value must be between 100 and 30000.\nThe default is 300.", "format": "uint32", "type": "integer" }, @@ -55013,7 +56633,7 @@ "type": "string" }, "multiplier": { - "description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 2 and 16. The default is 3.", + "description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable.\nNot currently available publicly.\nIf set, the value must be a value between 2 and 16.\nThe default is 3.", "format": "uint32", "type": "integer" }, @@ -55030,7 +56650,7 @@ "type": "string" }, "sessionInitializationMode": { - "description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is PASSIVE.", + "description": "The BFD session initialization mode for this BGP peer.\nNot currently available publicly.\nIf set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is PASSIVE.", "enum": [ "ACTIVE", "DISABLED", @@ -55216,6 +56836,9 @@ }, "type": "array" }, + "enableEndpointIndependentMapping": { + "type": "boolean" + }, "icmpIdleTimeoutSec": { "description": "Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.", "format": "int32", @@ -55254,6 +56877,13 @@ }, "type": "array" }, + "rules": { + "description": "A list of rules associated with this NAT.", + "items": { + "$ref": "RouterNatRule" + }, + "type": "array" + }, "sourceSubnetworkIpRangesToNat": { "description": "Specify the Nat option, which can take one of the following values: \n- ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. \n- ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. \n- LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region.", "enum": [ @@ -55280,6 +56910,11 @@ "format": "int32", "type": "integer" }, + "tcpTimeWaitTimeoutSec": { + "description": "Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.", + "format": "int32", + "type": "integer" + }, "tcpTransitoryIdleTimeoutSec": { "description": "Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.", "format": "int32", @@ -55318,6 +56953,49 @@ }, "type": "object" }, + "RouterNatRule": { + "id": "RouterNatRule", + "properties": { + "action": { + "$ref": "RouterNatRuleAction", + "description": "The action to be enforced for traffic that matches this rule." + }, + "description": { + "description": "An optional description of this rule.", + "type": "string" + }, + "match": { + "description": "CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.\n\nThe following examples are valid match expressions:\n\n\"inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')\"\n\n\"destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'\"", + "type": "string" + }, + "priority": { + "description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 65000. The priority must be unique among rules within a NAT.", + "format": "uint32", + "type": "integer" + } + }, + "type": "object" + }, + "RouterNatRuleAction": { + "id": "RouterNatRuleAction", + "properties": { + "sourceNatActiveIps": { + "description": "A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceNatDrainIps": { + "description": "A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "RouterNatSubnetworkToNat": { "description": "Defines the IP ranges that want to use NAT for a subnetwork.", "id": "RouterNatSubnetworkToNat", @@ -55453,7 +57131,7 @@ "type": "object" }, "RouterStatusNatStatus": { - "description": "Status of a NAT contained in this router. Next tag: 9", + "description": "Status of a NAT contained in this router.", "id": "RouterStatusNatStatus", "properties": { "autoAllocatedNatIps": { @@ -55859,7 +57537,7 @@ "type": "object" }, "Scheduling": { - "description": "Sets the scheduling options for an Instance. NextID: 10", + "description": "Sets the scheduling options for an Instance. NextID: 12", "id": "Scheduling", "properties": { "automaticRestart": { @@ -55875,9 +57553,14 @@ "type": "string" }, "longTermRelease": { - "description": "Compute Engine Long Term Release. When specified, VMs that have this policy become long term release (internal: stable fleet) VMs.\n\nFor all VM shapes, this should result in fewer disruptions due to software updates and greater predictability via 1 week extended notifications.\n\nFor GPU VMs, this should also result in an 2 week uptime guarantee. See go/stable-fleet-gpus-design for more details.", + "description": "DEPRECATED, please use maintenance_freeze_duration_hours. TODO(b/154158138): Remove this field. Compute Engine Long Term Release. When specified, VMs that have this policy become long term release (internal: stable fleet) VMs.\n\nFor all VM shapes, this should result in fewer disruptions due to software updates and greater predictability via 1 week extended notifications.\n\nFor GPU VMs, this should also result in an 2 week uptime guarantee. See go/stable-fleet-gpus-design for more details.", "type": "boolean" }, + "maintenanceFreezeDurationHours": { + "description": "Specifies the number of hours after instance creation where the instance won't be scheduled for maintenance.", + "format": "int32", + "type": "integer" + }, "minNodeCpus": { "description": "The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.", "format": "int32", @@ -55903,7 +57586,7 @@ "type": "string" }, "preemptible": { - "description": "Defines whether the instance is preemptible. This can only be set during instance creation, it cannot be set or changed after the instance has been created.", + "description": "Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", "type": "boolean" } }, @@ -56037,7 +57720,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this security policy resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -56443,7 +58126,7 @@ "id": "SecuritySettings", "properties": { "authentication": { - "description": "A URL referring to a networksecurity.Authentication resource that describes how clients should authenticate with this service's backends. If left blank, communications between services are not encrypted (i.e., the TLS policy is set to OPEN). When sending traffic to this service's backends, the OriginationTls setting of Authentication.TransportAuthentication is applied. Refer to the Authentication and Authentication.TransportAuthentication.OriginationTls resources for additional details. authentication only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "description": "[Deprecated] Use clientTlsPolicy instead.", "type": "string" }, "authenticationPolicy": { @@ -56454,12 +58137,16 @@ "$ref": "AuthorizationConfig", "description": "[Deprecated] Authorization config defines the Role Based Access Control (RBAC) config. Authorization config defines the Role Based Access Control (RBAC) config." }, + "clientTlsPolicy": { + "description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends.\nclientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.", + "type": "string" + }, "clientTlsSettings": { "$ref": "ClientTlsSettings", "description": "[Deprecated] TLS Settings for the backend service." }, "subjectAltNames": { - "description": "Optional. A list of subject alternate names to verify the subject identity (SAN) in the certificate presented by the server, to authorize the SAN list as identities to run the service represented by this BackendService. If specified, the client will verify that the server certificate's subject alt name matches one of the specified values. Only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "description": "Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service.\nNote that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities.\nOnly applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).", "items": { "type": "string" }, @@ -56567,20 +58254,232 @@ }, "type": "object" }, + "ServiceAttachment": { + "description": "Represents a ServiceAttachment resource.\n\nA service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service.", + "id": "ServiceAttachment", + "properties": { + "connectionPreference": { + "enum": [ + "ACCEPT_AUTOMATIC", + "CONNECTION_PREFERENCE_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "consumerForwardingRules": { + "description": "An array of forwarding rules for all the consumers connected to this service attachment.", + "items": { + "$ref": "ServiceAttachmentConsumerForwardingRule" + }, + "type": "array" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#serviceAttachment", + "description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.serviceAttachments.insert" + ] + }, + "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])?", + "type": "string" + }, + "natIpCidrRanges": { + "description": "An array of IP CIDR ranges where each range is the url of the address resource which represents the range provided by the service producer to use for NAT in this service attachment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "producerForwardingRule": { + "description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", + "type": "string" + }, + "region": { + "description": "[Output Only] URL of the region where the service attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceAttachmentConsumerForwardingRule": { + "description": "[Output Only] A consumer forwarding rule connected to this service attachment.", + "id": "ServiceAttachmentConsumerForwardingRule", + "properties": { + "forwardingRule": { + "description": "The url of a consumer forwarding rule.", + "type": "string" + }, + "status": { + "description": "The status of the forwarding rule.", + "enum": [ + "ACTIVE", + "INACTIVE", + "PENDING", + "STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceAttachmentList": { + "id": "ServiceAttachmentList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of ServiceAttachment resources.", + "items": { + "$ref": "ServiceAttachment" + }, + "type": "array" + }, + "kind": { + "default": "compute#serviceAttachmentList", + "description": "[Output Only] Type of the resource. Always compute#serviceAttachment for service attachments.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "MISSING_TYPE_DEPENDENCY", + "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", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "ShieldedInstanceConfig": { "description": "A set of Shielded Instance options.", "id": "ShieldedInstanceConfig", "properties": { "enableIntegrityMonitoring": { - "description": "Defines whether the instance has integrity monitoring enabled.", + "description": "Defines whether the instance has integrity monitoring enabled. Enabled by default.", "type": "boolean" }, "enableSecureBoot": { - "description": "Defines whether the instance has Secure Boot enabled.", + "description": "Defines whether the instance has Secure Boot enabled. Disabled by default.", "type": "boolean" }, "enableVtpm": { - "description": "Defines whether the instance has the vTPM enabled.", + "description": "Defines whether the instance has the vTPM enabled. Enabled by default.", "type": "boolean" } }, @@ -56721,6 +58620,10 @@ "description": "[Output Only] Set to true if snapshots are automatically created by applying resource policy on the target disk.", "type": "boolean" }, + "chainName": { + "description": "Chain name should conform to RFC1035.", + "type": "string" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -57074,7 +58977,7 @@ "type": "object" }, "SslCertificate": { - "description": "Represents an SSL Certificate resource.\n\nGoogle Compute Engine has two SSL Certificate resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/sslCertificates) * [Regional](/compute/docs/reference/rest/{$api_version}/regionSslCertificates)\n\n\n\nThe sslCertificates are used by: \n- external HTTPS load balancers \n- SSL proxy load balancers \n\nThe regionSslCertificates are used by internal HTTPS load balancers.\n\nOptionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates and SSL certificates quotas and limits. (== resource_for {$api_version}.sslCertificates ==) (== resource_for {$api_version}.regionSslCertificates ==)", + "description": "Represents an SSL Certificate resource.\n\nGoogle Compute Engine has two SSL Certificate resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/sslCertificates) * [Regional](/compute/docs/reference/rest/{$api_version}/regionSslCertificates)\n\n\n\nThe sslCertificates are used by: \n- external HTTPS load balancers \n- SSL proxy load balancers \n\nThe regionSslCertificates are used by internal HTTPS load balancers.\n\nOptionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates. (== resource_for {$api_version}.sslCertificates ==) (== resource_for {$api_version}.regionSslCertificates ==)", "id": "SslCertificate", "properties": { "certificate": { @@ -57951,7 +59854,7 @@ "type": "string" }, "enableFlowLogs": { - "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging.", + "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", "type": "boolean" }, "enablePrivateV6Access": { @@ -57978,7 +59881,7 @@ "type": "string" }, "ipCidrRange": { - "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field can be set only at resource creation time.", + "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be expanded after creation using expandIpCidrRange.", "type": "string" }, "ipv6CidrRange": { @@ -57992,7 +59895,7 @@ }, "logConfig": { "$ref": "SubnetworkLogConfig", - "description": "This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Stackdriver." + "description": "This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging." }, "metadata": { "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Configures whether metadata fields should be added to the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.", @@ -58043,7 +59946,7 @@ "type": "array" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918.", + "description": "The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", "enum": [ "AGGREGATE", "INTERNAL_HTTPS_LOAD_BALANCER", @@ -58610,6 +60513,11 @@ "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetGrpcProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetGrpcProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetGrpcProxy.", + "format": "byte", + "type": "string" + }, "id": { "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", "format": "uint64", @@ -59246,6 +61154,16 @@ }, "type": "object" }, + "TargetHttpsProxiesSetCertificateMapRequest": { + "id": "TargetHttpsProxiesSetCertificateMapRequest", + "properties": { + "certificateMap": { + "description": "URL of the Certificate Map to associate with this TargetHttpsProxy.", + "type": "string" + } + }, + "type": "object" + }, "TargetHttpsProxiesSetQuicOverrideRequest": { "id": "TargetHttpsProxiesSetQuicOverrideRequest", "properties": { @@ -59284,11 +61202,15 @@ "id": "TargetHttpsProxy", "properties": { "authentication": { - "description": "A URL referring to a networksecurity.Authentication resource that describes how the proxy should authenticate inbound traffic. If left blank, communications between services are not encrypted (i.e., the TLS policy is set to OPEN). When terminating inbound traffic to this proxy, the TerminationTls setting of Authentication.TransportAuthentication is applied.\nRefer to the Authentication and Authentication.TransportAuthentication.TerminationTls resources for additional details.\nauthentication only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "description": "[Deprecated] Use serverTlsPolicy instead.", "type": "string" }, "authorization": { - "description": "A URL referring to a networksecurity.Authorization resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy.\nRefer to the Authorization resource for additional details.\nauthorization only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "description": "[Deprecated] Use authorizationPolicy instead.", + "type": "string" + }, + "authorizationPolicy": { + "description": "Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy.\nRefer to the AuthorizationPolicy resource for additional details.\nauthorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", "type": "string" }, "certificateMap": { @@ -59348,6 +61270,10 @@ "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, + "serverTlsPolicy": { + "description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic.\nserverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.", + "type": "string" + }, "sslCertificates": { "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", "items": { @@ -60500,6 +62426,16 @@ }, "type": "object" }, + "TargetSslProxiesSetCertificateMapRequest": { + "id": "TargetSslProxiesSetCertificateMapRequest", + "properties": { + "certificateMap": { + "description": "URL of the Certificate Map to associate with this TargetSslProxy.", + "type": "string" + } + }, + "type": "object" + }, "TargetSslProxiesSetProxyHeaderRequest": { "id": "TargetSslProxiesSetProxyHeaderRequest", "properties": { @@ -60940,7 +62876,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this TargetVpnGateway resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -61521,7 +63457,7 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction." }, "defaultService": { "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.", @@ -62364,7 +64300,7 @@ "type": "object" }, "VpnGateway": { - "description": "Represents a VPN gateway resource. Next ID: 13", + "description": "Represents a HA VPN gateway.\n\nHA VPN is a high-availability (HA) Cloud VPN solution that lets you securely connect your on-premises network to your Google Cloud Virtual Private Cloud network through an IPsec VPN connection in a single region. For more information about Cloud HA VPN solutions, see Cloud VPN topologies . (== resource_for {$api_version}.vpnGateways ==)", "id": "VpnGateway", "properties": { "creationTimestamp": { @@ -62394,7 +64330,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this VpnGateway resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -62425,7 +64361,7 @@ "type": "string" }, "vpnInterfaces": { - "description": "[Output Only] A list of interfaces on this VPN gateway.", + "description": "A list of interfaces on this VPN gateway.", "items": { "$ref": "VpnGatewayVpnGatewayInterface" }, @@ -62768,7 +64704,7 @@ "type": "integer" }, "ipAddress": { - "description": "The external IP address for this VPN gateway interface.", + "description": "[Output Only] The external IP address for this VPN gateway interface.", "type": "string" } }, @@ -62919,7 +64855,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this VpnTunnel. These can be later modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "localTrafficSelector": { diff --git a/etc/api/compute/beta/compute-api.json b/etc/api/compute/beta/compute-api.json index 7554e4b1c0..9dc1e6ae8d 100644 --- a/etc/api/compute/beta/compute-api.json +++ b/etc/api/compute/beta/compute-api.json @@ -29,7 +29,7 @@ "description": "Creates and runs virtual machines on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/PeVNOAGb0CTL4FMw70049d9mF9E\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/WLgRAJYGkywv7BP6LMTwsMhVKHU\"", "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" @@ -185,7 +185,7 @@ ] }, "list": { - "description": "Retrieves a list of accelerator types available to the specified project.", + "description": "Retrieves a list of accelerator types that are available to the specified project.", "httpMethod": "GET", "id": "compute.acceleratorTypes.list", "parameterOrder": [ @@ -1501,7 +1501,7 @@ ] }, "getHealth": { - "description": "Gets the most recent health check results for this BackendService.", + "description": "Gets the most recent health check results for this BackendService.\n\nExample request body:\n\n{ \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", "httpMethod": "POST", "id": "compute.backendServices.getHealth", "parameterOrder": [ @@ -1537,7 +1537,7 @@ ] }, "insert": { - "description": "Creates a BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a backend service. Read Understanding backend services for more information.", + "description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "httpMethod": "POST", "id": "compute.backendServices.insert", "parameterOrder": [ @@ -1619,7 +1619,7 @@ ] }, "patch": { - "description": "Patches the specified BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "description": "Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "httpMethod": "PATCH", "id": "compute.backendServices.patch", "parameterOrder": [ @@ -1737,7 +1737,7 @@ ] }, "update": { - "description": "Updates the specified BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information.", + "description": "Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview.", "httpMethod": "PUT", "id": "compute.backendServices.update", "parameterOrder": [ @@ -5826,6 +5826,47 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "patch": { + "description": "Patches the specified image with the data included in the request. Only the following fields can be modified: family, description, deprecation status.", + "httpMethod": "PATCH", + "id": "compute.images.patch", + "parameterOrder": [ + "project", + "image" + ], + "parameters": { + "image": { + "description": "Name of the image resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/global/images/{image}", + "request": { + "$ref": "Image" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "httpMethod": "POST", @@ -6399,7 +6440,7 @@ ] }, "listErrors": { - "description": "Lists all errors thrown by actions on instances for a given managed instance group.", + "description": "Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported.", "httpMethod": "GET", "id": "compute.instanceGroupManagers.listErrors", "parameterOrder": [ @@ -6462,7 +6503,7 @@ ] }, "listManagedInstances": { - "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.", + "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. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.instanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -6525,7 +6566,7 @@ ] }, "listPerInstanceConfigs": { - "description": "Lists all of the per-instance configs defined for the managed instance group.", + "description": "Lists all of the per-instance configs defined for the managed instance group. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.instanceGroupManagers.listPerInstanceConfigs", "parameterOrder": [ @@ -7393,7 +7434,7 @@ ] }, "listInstances": { - "description": "Lists the instances in the specified instance group.", + "description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.instanceGroups.listInstances", "parameterOrder": [ @@ -8727,7 +8768,7 @@ ] }, "listReferrers": { - "description": "Retrieves the list of referrers to instances contained within the specified zone. For more information, read Viewing Referrers to VM Instances.", + "description": "Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed instance group, the referrers list includes the managed instance group. For more information, read Viewing Referrers to VM Instances.", "httpMethod": "GET", "id": "compute.instances.listReferrers", "parameterOrder": [ @@ -9338,7 +9379,7 @@ ] }, "setScheduling": { - "description": "Sets an instance's scheduling options.", + "description": "Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", "httpMethod": "POST", "id": "compute.instances.setScheduling", "parameterOrder": [ @@ -13113,7 +13154,7 @@ ] }, "patch": { - "description": "Patch the node group.", + "description": "Updates the specified node group.", "httpMethod": "PATCH", "id": "compute.nodeGroups.patch", "parameterOrder": [ @@ -15588,7 +15629,7 @@ ] }, "insert": { - "description": "Creates a regional BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a regional backend service. Read Understanding backend services for more information.", + "description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "httpMethod": "POST", "id": "compute.regionBackendServices.insert", "parameterOrder": [ @@ -15686,7 +15727,7 @@ ] }, "patch": { - "description": "Updates the specified regional BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "httpMethod": "PATCH", "id": "compute.regionBackendServices.patch", "parameterOrder": [ @@ -15780,7 +15821,7 @@ ] }, "update": { - "description": "Updates the specified regional BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information.", + "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview.", "httpMethod": "PUT", "id": "compute.regionBackendServices.update", "parameterOrder": [ @@ -17688,7 +17729,7 @@ ] }, "listErrors": { - "description": "Lists all errors thrown by actions on instances for a given regional managed instance group.", + "description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", "httpMethod": "GET", "id": "compute.regionInstanceGroupManagers.listErrors", "parameterOrder": [ @@ -17751,7 +17792,7 @@ ] }, "listManagedInstances": { - "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances.", + "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -17814,7 +17855,7 @@ ] }, "listPerInstanceConfigs": { - "description": "Lists all of the per-instance configs defined for the managed instance group.", + "description": "Lists all of the per-instance configs defined for the managed instance group. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", "parameterOrder": [ @@ -18451,7 +18492,7 @@ ] }, "listInstances": { - "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running.", + "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.regionInstanceGroups.listInstances", "parameterOrder": [ @@ -18610,6 +18651,190 @@ } } }, + "regionNetworkEndpointGroups": { + "methods": { + "delete": { + "description": "Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service.", + "httpMethod": "DELETE", + "id": "compute.regionNetworkEndpointGroups.delete", + "parameterOrder": [ + "project", + "region", + "networkEndpointGroup" + ], + "parameters": { + "networkEndpointGroup": { + "description": "The name of the network endpoint group to delete. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "httpMethod": "GET", + "id": "compute.regionNetworkEndpointGroups.get", + "parameterOrder": [ + "project", + "region", + "networkEndpointGroup" + ], + "parameters": { + "networkEndpointGroup": { + "description": "The name of the network endpoint group. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", + "response": { + "$ref": "NetworkEndpointGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", + "httpMethod": "POST", + "id": "compute.regionNetworkEndpointGroups.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/regions/{region}/networkEndpointGroups", + "request": { + "$ref": "NetworkEndpointGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves the list of regional network endpoint groups available to the specified project in the given region.", + "httpMethod": "GET", + "id": "compute.regionNetworkEndpointGroups.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "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", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/networkEndpointGroups", + "response": { + "$ref": "NetworkEndpointGroupList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "regionNotificationEndpoints": { "methods": { "delete": { @@ -23355,7 +23580,7 @@ ] }, "listUsable": { - "description": "Retrieves an aggregated list of all usable subnetworks in the project. The list contains all of the subnetworks in the project and the subnetworks that were shared by a Shared VPC host project.", + "description": "Retrieves an aggregated list of all usable subnetworks in the project.", "httpMethod": "GET", "id": "compute.subnetworks.listUsable", "parameterOrder": [ @@ -27461,7 +27686,7 @@ } } }, - "revision": "20200311", + "revision": "20200612", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -27507,7 +27732,7 @@ "type": "string" }, "maximumCardsPerInstance": { - "description": "[Output Only] Maximum accelerator cards allowed per instance.", + "description": "[Output Only] Maximum number of accelerator cards allowed per instance.", "format": "int32", "type": "integer" }, @@ -27517,7 +27742,7 @@ "type": "string" }, "selfLink": { - "description": "[Output Only] Server-defined fully-qualified URL for this resource.", + "description": "[Output Only] Server-defined, fully qualified URL for this resource.", "type": "string" }, "zone": { @@ -27959,7 +28184,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this Address resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -28404,7 +28629,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.", + "description": "Properties of the SKU instances being reserved. Next ID: 9", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -28425,6 +28650,18 @@ "description": "Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.", "type": "string" }, + "maintenanceInterval": { + "description": "Specifies whether this VM may be a stable fleet VM. Setting this to \"Periodic\" designates this VM as a Stable Fleet VM.\n\nSee go/stable-fleet-ug for more details.", + "enum": [ + "AS_NEEDED", + "PERIODIC" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "minCpuPlatform": { "description": "Minimum cpu platform the reservation.", "type": "string" @@ -28588,6 +28825,10 @@ "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks.", "type": "object" }, + "multiWriter": { + "description": "Indicates whether or not the disk can be read/write attached to more than one instance.", + "type": "boolean" + }, "onUpdateAction": { "description": "Specifies which action to take on instance update with this disk. Default is to use the existing disk.", "enum": [ @@ -28629,7 +28870,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"sampleservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -28654,7 +28895,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -29038,6 +29279,7 @@ "MISSING_CUSTOM_METRIC_DATA_POINTS", "MISSING_LOAD_BALANCING_DATA_POINTS", "MODE_OFF", + "MODE_ONLY_SCALE_OUT", "MODE_ONLY_UP", "MORE_THAN_ONE_BACKEND_SERVICE", "NOT_ENOUGH_QUOTA_AVAILABLE", @@ -29064,6 +29306,7 @@ "", "", "", + "", "" ], "type": "string" @@ -29204,9 +29447,11 @@ "enum": [ "OFF", "ON", + "ONLY_SCALE_OUT", "ONLY_UP" ], "enumDescriptions": [ + "", "", "", "" @@ -29215,6 +29460,9 @@ }, "scaleDownControl": { "$ref": "AutoscalingPolicyScaleDownControl" + }, + "scaleInControl": { + "$ref": "AutoscalingPolicyScaleInControl" } }, "type": "object" @@ -29298,6 +29546,22 @@ }, "type": "object" }, + "AutoscalingPolicyScaleInControl": { + "description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", + "id": "AutoscalingPolicyScaleInControl", + "properties": { + "maxScaledInReplicas": { + "$ref": "FixedOrPercent", + "description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." + }, + "timeWindowSec": { + "description": "How long back autoscaling should look when computing recommendations to include directives regarding slower scale in, as described above.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Backend": { "description": "Message containing information of one individual backend.", "id": "Backend", @@ -29317,7 +29581,7 @@ "type": "string" }, "capacityScaler": { - "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available Capacity. Valid range is [0.0,1.0].\n\nThis cannot be used for internal load balancing.", + "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service.\n\nThis cannot be used for internal load balancing.", "format": "float", "type": "number" }, @@ -29549,7 +29813,7 @@ "type": "object" }, "BackendService": { - "description": "Represents a Backend Service resource.\n\nA backend service contains configuration values for Google Cloud Platform load balancing services.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, read Backend Services.\n\n(== resource_for {$api_version}.backendService ==)", + "description": "Represents a Backend Service resource.\n\nA backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, see Backend Services.\n\n(== resource_for {$api_version}.backendService ==)", "id": "BackendService", "properties": { "affinityCookieTtlSec": { @@ -29615,7 +29879,8 @@ "type": "array" }, "iap": { - "$ref": "BackendServiceIAP" + "$ref": "BackendServiceIAP", + "description": "The configurations for Identity-Aware Proxy on this resource." }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -29646,7 +29911,7 @@ "type": "string" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. \n- RANDOM: The load balancer selects a random healthy host. \n- ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. \n- MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to https://ai.google/research/pubs/pub44824 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to >MAGLEV or RING_HASH, session affinity settings will not take effect.", + "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. \n- RANDOM: The load balancer selects a random healthy host. \n- ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. \n- MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to >MAGLEV or RING_HASH, session affinity settings will not take effect.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -29690,7 +29955,7 @@ "type": "integer" }, "portName": { - "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nMust be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Blaancing).", + "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nMust be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing).", "type": "string" }, "protocol": { @@ -29752,7 +30017,7 @@ "type": "string" }, "timeoutSec": { - "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information read, Backend service settings The default is 30 seconds.", + "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings The default is 30 seconds.", "format": "int32", "type": "integer" } @@ -29945,12 +30210,15 @@ "id": "BackendServiceIAP", "properties": { "enabled": { + "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests. If true, the oauth2ClientId and oauth2ClientSecret fields must be non-empty.", "type": "boolean" }, "oauth2ClientId": { + "description": "OAuth2 client ID to use for the authentication flow.", "type": "string" }, "oauth2ClientSecret": { + "description": "OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field.", "type": "string" }, "oauth2ClientSecretSha256": { @@ -30441,7 +30709,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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@example.com` .\n\n\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* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", @@ -31051,6 +31319,17 @@ }, "type": "object" }, + "ConfidentialInstanceConfig": { + "description": "A set of Confidential Instance options.", + "id": "ConfidentialInstanceConfig", + "properties": { + "enableConfidentialCompute": { + "description": "Defines whether the instance should have confidential compute enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "ConnectionDraining": { "description": "Message containing connection draining configuration.", "id": "ConnectionDraining", @@ -31125,14 +31404,14 @@ "type": "array" }, "allowOriginRegexes": { - "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript \nAn origin is allowed if it matches either allow_origins or allow_origin_regex.", + "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript \nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, "type": "array" }, "allowOrigins": { - "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either allow_origins or allow_origin_regex.", + "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, @@ -31269,6 +31548,20 @@ "format": "uint64", "type": "string" }, + "interface": { + "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", + "enum": [ + "NVME", + "SCSI", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, "kind": { "default": "compute#disk", "description": "[Output Only] Type of the resource. Always compute#disk for disks.", @@ -31309,6 +31602,10 @@ }, "type": "array" }, + "multiWriter": { + "description": "Indicates whether or not the disk can be read/write attached to more than one instance.", + "type": "boolean" + }, "name": { "annotations": { "required": [ @@ -31324,7 +31621,7 @@ "type": "string" }, "physicalBlockSizeBytes": { - "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", + "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", "format": "int64", "type": "string" }, @@ -31355,6 +31652,14 @@ "format": "int64", "type": "string" }, + "sourceDisk": { + "description": "The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk", + "type": "string" + }, + "sourceDiskId": { + "description": "[Output Only] The unique ID of the disk used to create this disk. This value identifies the exact disk that was used to create this persistent disk. For example, if you created the persistent disk from a disk that was later deleted and recreated under the same name, the source disk ID would identify the exact version of the disk that was used.", + "type": "string" + }, "sourceImage": { "description": "The source image used to create this disk. If the source image is deleted, this field will not be set.\n\nTo create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image:\nprojects/debian-cloud/global/images/family/debian-9\n\n\nAlternatively, use a specific version of a public operating system image:\nprojects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD\n\n\nTo create a disk with a custom image that you created, specify the image name in the following format:\nglobal/images/my-custom-image\n\n\nYou can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name:\nglobal/images/family/my-image-family", "type": "string" @@ -31410,7 +31715,7 @@ "type": "string" }, "type": { - "description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", + "description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", "type": "string" }, "users": { @@ -32439,7 +32744,7 @@ "type": "object" }, "ExternalVpnGateway": { - "description": "External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud to your on-premises side or another Cloud provider's VPN gateway, you must create a external VPN gateway resource in GCP, which provides the information to GCP about your external VPN gateway.", + "description": "Represents an external VPN gateway.\n\nExternal VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway.\n\nTo create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway.\n\nFor more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN. (== resource_for {$api_version}.externalVpnGateways ==)", "id": "ExternalVpnGateway", "properties": { "creationTimestamp": { @@ -32476,7 +32781,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this ExternalVpnGateway resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -32650,6 +32955,7 @@ "type": "string" }, "fileType": { + "description": "The file type of source file.", "enum": [ "BIN", "UNDEFINED", @@ -32741,7 +33047,7 @@ "type": "boolean" }, "enableLogging": { - "description": "Deprecated in favor of enable in LogConfig. This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported to Stackdriver.", + "description": "Deprecated in favor of enable in LogConfig. This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported t Cloud Logging.", "type": "boolean" }, "id": { @@ -32756,7 +33062,7 @@ }, "logConfig": { "$ref": "FirewallLogConfig", - "description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Stackdriver." + "description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Cloud Logging." }, "name": { "annotations": { @@ -33067,7 +33373,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this resource. These can be later modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "loadBalancingScheme": { @@ -33623,6 +33929,7 @@ "GVNIC", "MULTI_IP_SUBNET", "SECURE_BOOT", + "SEV_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS" @@ -33634,6 +33941,7 @@ "", "", "", + "", "" ], "type": "string" @@ -34031,7 +34339,7 @@ "type": "object" }, "HealthCheckService": { - "description": "A HealthCheckService defines a set of backends on which to perform periodic health checks and an endpoint to which to send notification of changes in the health status of the backends.", + "description": "Represents a Health-Check as a Service resource.\n\n(== resource_for {$api_version}.regionHealthCheckServices ==)", "id": "HealthCheckService", "properties": { "creationTimestamp": { @@ -34067,8 +34375,16 @@ "type": "string" }, "healthStatusAggregationStrategy": { - "description": "Policy for how the results from multiple health checks for the same endpoint are aggregated. \n- NO_AGGREGATION. An EndpointHealth message is returned for each backend in the health check service. \n- AND. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY. .", - "type": "any" + "description": "This field is deprecated. Use health_status_aggregation_policy instead.\n\nPolicy for how the results from multiple health checks for the same endpoint are aggregated. \n- NO_AGGREGATION. An EndpointHealth message is returned for each backend in the health check service. \n- AND. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY. .", + "enum": [ + "AND", + "NO_AGGREGATION" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -34971,7 +35287,7 @@ }, "urlRewrite": { "$ref": "UrlRewrite", - "description": "The spec to modify the URL of the request, prior to forwarding the request to the matched service." + "description": "The spec to modify the URL of the request, prior to forwarding the request to the matched service.\nurlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers." }, "weightedBackendServices": { "description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non 0 number.\nOnce a backendService is identified and before forwarding the request to the backend service, advanced routing actions like Url rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", @@ -35383,7 +35699,7 @@ "type": "string" }, "sourceImage": { - "description": "URL of the source image used to create this image. This can be a full or valid partial URL. You must provide exactly one of: \n- this property, or \n- the rawDisk.source property, or \n- the sourceDisk property in order to create an image.", + "description": "URL of the source image used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following: \n- The selfLink URL \n- This property \n- The rawDisk.source URL \n- The sourceDisk URL", "type": "string" }, "sourceImageEncryptionKey": { @@ -35395,7 +35711,7 @@ "type": "string" }, "sourceSnapshot": { - "description": "URL of the source snapshot used to create this image. This can be a full or valid partial URL. You must provide exactly one of: \n- this property, or \n- the sourceImage property, or \n- the rawDisk.source property, or \n- the sourceDisk property in order to create an image.", + "description": "URL of the source snapshot used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following: \n- The selfLink URL \n- This property \n- The sourceImage URL \n- The rawDisk.source URL \n- The sourceDisk URL", "type": "string" }, "sourceSnapshotEncryptionKey": { @@ -35595,6 +35911,9 @@ "description": "Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding.", "type": "boolean" }, + "confidentialInstanceConfig": { + "$ref": "ConfidentialInstanceConfig" + }, "cpuPlatform": { "description": "[Output Only] The CPU platform used by this instance.", "type": "string" @@ -35763,7 +36082,7 @@ "type": "boolean" }, "status": { - "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED, and TERMINATED.", + "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED.", "enum": [ "DEPROVISIONING", "PROVISIONING", @@ -35962,7 +36281,7 @@ "type": "array" }, "network": { - "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. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", "type": "string" }, "region": { @@ -35979,7 +36298,7 @@ "type": "integer" }, "subnetwork": { - "description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong.", + "description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", "type": "string" }, "zone": { @@ -36712,6 +37031,20 @@ "isStateful": { "description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. This field is deprecated in favor of has_stateful_config.", "type": "boolean" + }, + "perInstanceConfigs": { + "$ref": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", + "description": "[Output Only] Status of per-instance configs on the instance." + } + }, + "type": "object" + }, + "InstanceGroupManagerStatusStatefulPerInstanceConfigs": { + "id": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", + "properties": { + "allEffective": { + "description": "A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.", + "type": "boolean" } }, "type": "object" @@ -37819,15 +38152,19 @@ "id": "InstanceProperties", "properties": { "canIpForward": { - "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 Enable IP forwarding documentation for more information.", + "description": "Enables instances created based on these properties 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 Enable IP forwarding documentation for more information.", "type": "boolean" }, + "confidentialInstanceConfig": { + "$ref": "ConfidentialInstanceConfig", + "description": "Specifies the Confidential Instance options." + }, "description": { - "description": "An optional text description for the instances that are created from this instance template.", + "description": "An optional text description for the instances that are created from these properties.", "type": "string" }, "disks": { - "description": "An array of disks that are associated with the instances that are created from this template.", + "description": "An array of disks that are associated with the instances that are created from these properties.", "items": { "$ref": "AttachedDisk" }, @@ -37838,7 +38175,7 @@ "description": "Display Device properties to enable support for remote display products like: Teradici, VNC and TeamViewer" }, "guestAccelerators": { - "description": "A list of guest accelerator cards' type and count to use for instances created from the instance template.", + "description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", "items": { "$ref": "AcceleratorConfig" }, @@ -37848,7 +38185,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to instances that are created from this template.", + "description": "Labels to apply to instances that are created from these properties.", "type": "object" }, "machineType": { @@ -37857,15 +38194,15 @@ "compute.instanceTemplates.insert" ] }, - "description": "The machine type to use for instances that are created from this template.", + "description": "The machine type to use for instances that are created from these properties.", "type": "string" }, "metadata": { "$ref": "Metadata", - "description": "The metadata key/value pairs to assign to instances that are created from this template. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." + "description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." }, "minCpuPlatform": { - "description": "Minimum cpu/platform to be used by this instance. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", + "description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", "type": "string" }, "networkInterfaces": { @@ -37876,7 +38213,7 @@ "type": "array" }, "privateIpv6GoogleAccess": { - "description": "The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", + "description": "The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default.", "enum": [ "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", @@ -37891,10 +38228,10 @@ }, "reservationAffinity": { "$ref": "ReservationAffinity", - "description": "Specifies the reservations that this instance can consume from." + "description": "Specifies the reservations that instances can consume from." }, "resourcePolicies": { - "description": "Resource policies (names, not ULRs) applied to instances created from this template.", + "description": "Resource policies (names, not ULRs) applied to instances created from these properties.", "items": { "type": "string" }, @@ -37902,10 +38239,10 @@ }, "scheduling": { "$ref": "Scheduling", - "description": "Specifies the scheduling options for the instances that are created from this template." + "description": "Specifies the scheduling options for the instances that are created from these properties." }, "serviceAccounts": { - "description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from this template. Use metadata queries to obtain the access tokens for these instances.", + "description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", "items": { "$ref": "ServiceAccount" }, @@ -37916,11 +38253,11 @@ }, "shieldedVmConfig": { "$ref": "ShieldedVmConfig", - "description": "Specifies the Shielded VM options for the instances that are created from this template." + "description": "Specifies the Shielded VM options for the instances that are created from these properties." }, "tags": { "$ref": "Tags", - "description": "A list of tags to apply to the instances that are created from this template. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." + "description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." } }, "type": "object" @@ -38498,7 +38835,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this Interconnect resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "linkType": { @@ -38680,7 +39017,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this InterconnectAttachment resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -39123,7 +39460,7 @@ "type": "object" }, "InterconnectCircuitInfo": { - "description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only. Next id: 4", + "description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only.", "id": "InterconnectCircuitInfo", "properties": { "customerDemarcId": { @@ -39629,7 +39966,7 @@ "type": "object" }, "InterconnectOutageNotification": { - "description": "Description of a planned outage on this Interconnect. Next id: 9", + "description": "Description of a planned outage on this Interconnect.", "id": "InterconnectOutageNotification", "properties": { "affectedCircuits": { @@ -40061,7 +40398,7 @@ "id": "LogConfigDataAccessOptions", "properties": { "logMode": { - "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is currently supported in the LocalIAM implementation, Stubby C++, and Stubby Java. For Apps Framework, see go/af-audit-logging#failclosed. TODO(b/77591626): Add support for Stubby Go. TODO(b/129671387): Add support for Scaffolding.", + "description": "", "enum": [ "LOG_FAIL_CLOSED", "LOG_MODE_UNSPECIFIED" @@ -40153,7 +40490,7 @@ "type": "string" }, "storageLocations": { - "description": "GCS bucket storage location of the machine image (regional or multi-regional).", + "description": "The regional or multi-regional Cloud Storage bucket location where the machine image is stored.", "items": { "type": "string" }, @@ -40283,6 +40620,24 @@ "description": "Represents a Machine Type resource.\n\nYou can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types. (== resource_for {$api_version}.machineTypes ==)", "id": "MachineType", "properties": { + "accelerators": { + "description": "[Output Only] A list of accelerator configurations assigned to this machine type.", + "items": { + "properties": { + "guestAcceleratorCount": { + "description": "Number of accelerator cards exposed to the guest.", + "format": "int32", + "type": "integer" + }, + "guestAcceleratorType": { + "description": "The accelerator type resource name, not a full URL, e.g. 'nvidia-tesla-k80'.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -40947,7 +41302,7 @@ "type": "string" }, "autoCreateSubnetworks": { - "description": "When set to true, the VPC network is created in \"auto\" mode. When set to false, the VPC network is created in \"custom\" mode.\n\nAn auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges.", + "description": "When set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode.\n\nAn auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges.\n\nFor custom mode VPC networks, you can add subnets using the subnetworks insert method.", "type": "boolean" }, "creationTimestamp": { @@ -41009,7 +41364,7 @@ "type": "object" }, "NetworkEndpoint": { - "description": "The network endpoint. Next ID: 7", + "description": "The network endpoint.", "id": "NetworkEndpoint", "properties": { "annotations": { @@ -41040,7 +41395,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nFor more information read Network endpoint groups overview. (== resource_for {$api_version}.networkEndpointGroups ==) Next ID: 21", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up internet NEGs or Setting up zonal NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==)", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -41050,6 +41405,18 @@ "description": "Metadata defined as annotations on the network endpoint group.", "type": "object" }, + "appEngine": { + "$ref": "NetworkEndpointGroupAppEngine", + "description": "Only valid when networkEndpointType is \"SERVERLESS\". Only one of cloudRun, appEngine or cloudFunction may be set." + }, + "cloudFunction": { + "$ref": "NetworkEndpointGroupCloudFunction", + "description": "Only valid when networkEndpointType is \"SERVERLESS\". Only one of cloudRun, appEngine or cloudFunction may be set." + }, + "cloudRun": { + "$ref": "NetworkEndpointGroupCloudRun", + "description": "Only valid when networkEndpointType is \"SERVERLESS\". Only one of cloudRun, appEngine or cloudFunction may be set." + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -41090,15 +41457,21 @@ "enum": [ "GCE_VM_IP_PORT", "INTERNET_FQDN_PORT", - "INTERNET_IP_PORT" + "INTERNET_IP_PORT", + "SERVERLESS" ], "enumDescriptions": [ + "", "", "", "" ], "type": "string" }, + "region": { + "description": "[Output Only] The URL of the region where the network endpoint group is located.", + "type": "string" + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -41231,6 +41604,59 @@ }, "type": "object" }, + "NetworkEndpointGroupAppEngine": { + "description": "Configuration for an App Engine network endpoint group (NEG). The service is optional, may be provided explicitly or in the URL mask. The version is optional and can only be provided explicitly or in the URL mask when service is present.\n\nNote: App Engine service must be in the same project and located in the same region as the Serverless NEG.", + "id": "NetworkEndpointGroupAppEngine", + "properties": { + "service": { + "description": "Optional serving service.\n\nThe service name must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"default\", \"my-service\".", + "type": "string" + }, + "urlMask": { + "description": "A template to parse service and version fields from a request URL. URL mask allows for routing to multiple App Engine services without having to create multiple Network Endpoint Groups and backend services.\n\nFor example, the request URLs \"foo1-dot-appname.appspot.com/v1\" and \"foo1-dot-appname.appspot.com/v2\" can be backed by the same Serverless NEG with URL mask \"-dot-appname.appspot.com/\". The URL mask will parse them to { service = \"foo1\", version = \"v1\" } and { service = \"foo1\", version = \"v2\" } respectively.", + "type": "string" + }, + "version": { + "description": "Optional serving version.\n\nThe version must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"v1\", \"v2\".", + "type": "string" + } + }, + "type": "object" + }, + "NetworkEndpointGroupCloudFunction": { + "description": "Configuration for a Cloud Function network endpoint group (NEG). The function must be provided explicitly or in the URL mask.\n\nNote: Cloud Function must be in the same project and located in the same region as the Serverless NEG.", + "id": "NetworkEndpointGroupCloudFunction", + "properties": { + "function": { + "description": "A user-defined name of the Cloud Function.\n\nThe function name is case-sensitive and must be 1-63 characters long.\n\nExample value: \"func1\".", + "type": "string" + }, + "urlMask": { + "description": "A template to parse function field from a request URL. URL mask allows for routing to multiple Cloud Functions without having to create multiple Network Endpoint Groups and backend services.\n\nFor example, request URLs \"mydomain.com/function1\" and \"mydomain.com/function2\" can be backed by the same Serverless NEG with URL mask \"/\". The URL mask will parse them to { function = \"function1\" } and { function = \"function2\" } respectively.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkEndpointGroupCloudRun": { + "description": "Configuration for a Cloud Run network endpoint group (NEG). The service must be provided explicitly or in the URL mask. The tag is optional, may be provided explicitly or in the URL mask.\n\nNote: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.", + "id": "NetworkEndpointGroupCloudRun", + "properties": { + "service": { + "description": "Cloud Run service is the main resource of Cloud Run.\n\nThe service must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"run-service\".", + "type": "string" + }, + "tag": { + "description": "Optional Cloud Run tag represents the \"named-revision\" to provide additional fine-grained traffic routing information.\n\nThe tag must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"revision-0010\".", + "type": "string" + }, + "urlMask": { + "description": "A template to parse service and tag fields from a request URL. URL mask allows for routing to multiple Run services without having to create multiple network endpoint groups and backend services.\n\nFor example, request URLs \"foo1.domain.com/bar1\" and \"foo1.domain.com/bar2\" can be backed by the same Serverless Network Endpoint Group (NEG) with URL mask \".domain.com/\". The URL mask will parse them to { service=\"bar1\", tag=\"foo1\" } and { service=\"bar2\", tag=\"foo2\" } respectively.", + "type": "string" + } + }, + "type": "object" + }, "NetworkEndpointGroupLbNetworkEndpointGroup": { "description": "Load balancing specific fields for network endpoint group.", "id": "NetworkEndpointGroupLbNetworkEndpointGroup", @@ -41395,8 +41821,15 @@ "NetworkEndpointGroupsListEndpointsRequest": { "id": "NetworkEndpointGroupsListEndpointsRequest", "properties": { + "endpointFilters": { + "description": "Optional list of endpoints to query. This is a more efficient but also limited version of filter parameter. Endpoints in the filter must have ip_address and port fields populated, other fields are not supported.", + "items": { + "$ref": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter" + }, + "type": "array" + }, "healthStatus": { - "description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specifiy this parameter, the health status of network endpoints will not be provided.", + "description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter, the health status of network endpoints will not be provided.", "enum": [ "SHOW", "SKIP" @@ -41410,6 +41843,15 @@ }, "type": "object" }, + "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter": { + "id": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter", + "properties": { + "networkEndpoint": { + "$ref": "NetworkEndpoint" + } + }, + "type": "object" + }, "NetworkEndpointGroupsListNetworkEndpoints": { "id": "NetworkEndpointGroupsListNetworkEndpoints", "properties": { @@ -42001,7 +42443,7 @@ "type": "string" }, "nodeTemplate": { - "description": "The URL of the node template to which this node group belongs.", + "description": "URL of the node template to create the node group from.", "type": "string" }, "selfLink": { @@ -42591,7 +43033,7 @@ "type": "object" }, "NodeTemplate": { - "description": "Represent a sole-tenant Node Template resource.\n\nYou can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances. (== resource_for {$api_version}.nodeTemplates ==) (== NextID: 19 ==)", + "description": "Represent a sole-tenant Node Template resource.\n\nYou can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances. (== resource_for {$api_version}.nodeTemplates ==)", "id": "NodeTemplate", "properties": { "cpuOvercommitType": { @@ -43393,7 +43835,7 @@ "type": "object" }, "NotificationEndpoint": { - "description": "A notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service.", + "description": "Represents a notification endpoint.\n\nA notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service.\n\nFor more information, see Health checks overview. (== resource_for {$api_version}.notificationEndpoint ==) (== resource_for {$api_version}.regionNotificationEndpoints ==)", "id": "NotificationEndpoint", "properties": { "creationTimestamp": { @@ -44246,7 +44688,7 @@ "type": "object" }, "PacketMirroring": { - "description": "Represents a PacketMirroring resource.", + "description": "Represents a Packet Mirroring resource.\n\nPacket Mirroring clones the traffic of specified instances in your Virtual Private Cloud (VPC) network and forwards it to a collector destination, such as an instance group of an internal TCP/UDP load balancer, for analysis or examination. For more information about setting up Packet Mirroring, see Using Packet Mirroring. (== resource_for {$api_version}.packetMirrorings ==)", "id": "PacketMirroring", "properties": { "collectorIlb": { @@ -44754,7 +45196,7 @@ "properties": { "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathMatcher's defaultRouteAction." }, "defaultService": { "description": "The full or partial URL to the BackendService resource. This will be used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: \n- https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService \n- compute/v1/projects/project/global/backendServices/backendService \n- global/backendServices/backendService If defaultRouteAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.\nAuthorization requires one or more of the following Google IAM permissions on the specified resource default_service: \n- compute.backendBuckets.use \n- compute.backendServices.use", @@ -44806,7 +45248,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices.\nOnly one of routeAction or urlRedirect must be set." + "description": "In response to a matching path, the load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices.\nOnly one of routeAction or urlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathRule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendService s. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -44834,12 +45276,32 @@ "preservedState": { "$ref": "PreservedState", "description": "The intended preserved state for the given instance. Does not contain preserved state generated from a stateful policy." + }, + "status": { + "description": "The status of applying this per-instance config on the corresponding managed instance.", + "enum": [ + "APPLYING", + "DELETING", + "EFFECTIVE", + "NONE", + "UNAPPLIED", + "UNAPPLIED_DELETION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" } }, "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both.\n\n**JSON example:**\n\n{ \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [\"user:eve@example.com\"], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 }\n\n**YAML example:**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n{ \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 }\n\n**YAML example:**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -44873,7 +45335,7 @@ "type": "array" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -45113,18 +45575,22 @@ "metric": { "description": "[Output Only] Name of the quota metric.", "enum": [ + "A2_CPUS", "AFFINITY_GROUPS", "AUTOSCALERS", "BACKEND_BUCKETS", "BACKEND_SERVICES", "C2_CPUS", "COMMITMENTS", + "COMMITTED_A2_CPUS", "COMMITTED_C2_CPUS", "COMMITTED_CPUS", "COMMITTED_LICENSES", "COMMITTED_LOCAL_SSD_TOTAL_GB", + "COMMITTED_MEMORY_OPTIMIZED_CPUS", "COMMITTED_N2D_CPUS", "COMMITTED_N2_CPUS", + "COMMITTED_NVIDIA_A100_GPUS", "COMMITTED_NVIDIA_K80_GPUS", "COMMITTED_NVIDIA_P100_GPUS", "COMMITTED_NVIDIA_P4_GPUS", @@ -45154,13 +45620,17 @@ "IN_USE_BACKUP_SCHEDULES", "IN_USE_SNAPSHOT_SCHEDULES", "LOCAL_SSD_TOTAL_GB", + "M1_CPUS", + "M2_CPUS", "MACHINE_IMAGES", "N2D_CPUS", "N2_CPUS", "NETWORKS", "NETWORK_ENDPOINT_GROUPS", + "NETWORK_FIREWALL_POLICIES", "NODE_GROUPS", "NODE_TEMPLATES", + "NVIDIA_A100_GPUS", "NVIDIA_K80_GPUS", "NVIDIA_P100_GPUS", "NVIDIA_P100_VWS_GPUS", @@ -45172,6 +45642,7 @@ "PACKET_MIRRORINGS", "PREEMPTIBLE_CPUS", "PREEMPTIBLE_LOCAL_SSD_GB", + "PREEMPTIBLE_NVIDIA_A100_GPUS", "PREEMPTIBLE_NVIDIA_K80_GPUS", "PREEMPTIBLE_NVIDIA_P100_GPUS", "PREEMPTIBLE_NVIDIA_P100_VWS_GPUS", @@ -45304,6 +45775,15 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "type": "string" @@ -47560,6 +48040,10 @@ "description": "Specified snapshot properties for scheduled snapshots created by this policy.", "id": "ResourcePolicySnapshotSchedulePolicySnapshotProperties", "properties": { + "chainName": { + "description": "Chain name that the snapshot is created in.", + "type": "string" + }, "guestFlush": { "description": "Indication to perform a 'guest aware' snapshot.", "type": "boolean" @@ -47941,7 +48425,7 @@ "type": "object" }, "Router": { - "description": "Represents a Cloud Router resource.\n\nFor more information about Cloud Router, read the the Cloud Router overview.", + "description": "Represents a Cloud Router resource.\n\nFor more information about Cloud Router, read the Cloud Router overview.", "id": "Router", "properties": { "bgp": { @@ -48000,7 +48484,8 @@ "network": { "annotations": { "required": [ - "compute.routers.insert" + "compute.routers.insert", + "compute.routers.update" ] }, "description": "URI of the network to which this router belongs.", @@ -48186,7 +48671,7 @@ "type": "integer" }, "keepaliveInterval": { - "description": "The interval in seconds between BGP keepalive messages that are sent to the peer. Hold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer. BGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers. If set, this value must be between 1 and 120. The default is 20.", + "description": "The interval in seconds between BGP keepalive messages that are sent to the peer.\nNot currently available publicly.\nHold time is three times the interval at which keepalive messages are sent, and the hold time is the maximum number of seconds allowed to elapse between successive keepalive messages that BGP receives from a peer.\nBGP will use the smaller of either the local hold time value or the peer's hold time value as the hold time for the BGP connection between the two peers.\nIf set, this value must be between 1 and 120. The default is 20.", "format": "uint32", "type": "integer" } @@ -48235,10 +48720,10 @@ }, "bfd": { "$ref": "RouterBgpPeerBfd", - "description": "BFD configuration for the BGP peering." + "description": "BFD configuration for the BGP peering.\nNot currently available publicly." }, "enable": { - "description": "The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.", + "description": "The status of the BGP peer connection.\nNot currently available publicly.\nIf set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.", "enum": [ "FALSE", "TRUE" @@ -48300,22 +48785,22 @@ "id": "RouterBgpPeerBfd", "properties": { "minReceiveInterval": { - "description": "The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router. If set, this value must be between 100 and 30000. The default is 300.", + "description": "The minimum interval, in milliseconds, between BFD control packets received from the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the transmit interval of the other router.\nNot currently available publicly.\nIf set, this value must be between 100 and 30000.\nThe default is 300.", "format": "uint32", "type": "integer" }, "minTransmitInterval": { - "description": "The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router. If set, this value must be between 100 and 30000. The default is 300.", + "description": "The minimum interval, in milliseconds, between BFD control packets transmitted to the peer router. The actual value is negotiated between the two routers and is equal to the greater of this value and the corresponding receive interval of the other router.\nNot currently available publicly.\nIf set, this value must be between 100 and 30000.\nThe default is 300.", "format": "uint32", "type": "integer" }, "multiplier": { - "description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable. If set, the value must be a value between 2 and 16. The default is 3.", + "description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable.\nNot currently available publicly.\nIf set, the value must be a value between 2 and 16.\nThe default is 3.", "format": "uint32", "type": "integer" }, "sessionInitializationMode": { - "description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is PASSIVE.", + "description": "The BFD session initialization mode for this BGP peer.\nNot currently available publicly.\nIf set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is PASSIVE.", "enum": [ "ACTIVE", "DISABLED", @@ -48731,7 +49216,7 @@ "type": "object" }, "RouterStatusNatStatus": { - "description": "Status of a NAT contained in this router. Next tag: 9", + "description": "Status of a NAT contained in this router.", "id": "RouterStatusNatStatus", "properties": { "autoAllocatedNatIps": { @@ -49133,7 +49618,7 @@ "type": "object" }, "Scheduling": { - "description": "Sets the scheduling options for an Instance. NextID: 10", + "description": "Sets the scheduling options for an Instance. NextID: 12", "id": "Scheduling", "properties": { "automaticRestart": { @@ -49165,7 +49650,7 @@ "type": "string" }, "preemptible": { - "description": "Defines whether the instance is preemptible. This can only be set during instance creation, it cannot be set or changed after the instance has been created.", + "description": "Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", "type": "boolean" } }, @@ -49285,7 +49770,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this security policy resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -49614,11 +50099,15 @@ "id": "SecuritySettings", "properties": { "authentication": { - "description": "A URL referring to a networksecurity.Authentication resource that describes how clients should authenticate with this service's backends. If left blank, communications between services are not encrypted (i.e., the TLS policy is set to OPEN). When sending traffic to this service's backends, the OriginationTls setting of Authentication.TransportAuthentication is applied. Refer to the Authentication and Authentication.TransportAuthentication.OriginationTls resources for additional details. authentication only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "description": "[Deprecated] Use clientTlsPolicy instead.", + "type": "string" + }, + "clientTlsPolicy": { + "description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends.\nclientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.", "type": "string" }, "subjectAltNames": { - "description": "Optional. A list of subject alternate names to verify the subject identity (SAN) in the certificate presented by the server, to authorize the SAN list as identities to run the service represented by this BackendService. If specified, the client will verify that the server certificate's subject alt name matches one of the specified values. Only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "description": "Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service.\nNote that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities.\nOnly applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).", "items": { "type": "string" }, @@ -49699,15 +50188,15 @@ "id": "ShieldedInstanceConfig", "properties": { "enableIntegrityMonitoring": { - "description": "Defines whether the instance has integrity monitoring enabled.", + "description": "Defines whether the instance has integrity monitoring enabled. Enabled by default.", "type": "boolean" }, "enableSecureBoot": { - "description": "Defines whether the instance has Secure Boot enabled.", + "description": "Defines whether the instance has Secure Boot enabled. Disabled by default.", "type": "boolean" }, "enableVtpm": { - "description": "Defines whether the instance has the vTPM enabled.", + "description": "Defines whether the instance has the vTPM enabled. Enabled by default.", "type": "boolean" } }, @@ -49848,6 +50337,10 @@ "description": "[Output Only] Set to true if snapshots are automatically created by applying resource policy on the target disk.", "type": "boolean" }, + "chainName": { + "description": "Chain name should conform to RFC1035.", + "type": "string" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -50188,7 +50681,7 @@ "type": "object" }, "SslCertificate": { - "description": "Represents an SSL Certificate resource.\n\nGoogle Compute Engine has two SSL Certificate resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/sslCertificates) * [Regional](/compute/docs/reference/rest/{$api_version}/regionSslCertificates)\n\n\n\nThe sslCertificates are used by: \n- external HTTPS load balancers \n- SSL proxy load balancers \n\nThe regionSslCertificates are used by internal HTTPS load balancers.\n\nOptionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates and SSL certificates quotas and limits. (== resource_for {$api_version}.sslCertificates ==) (== resource_for {$api_version}.regionSslCertificates ==)", + "description": "Represents an SSL Certificate resource.\n\nGoogle Compute Engine has two SSL Certificate resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/sslCertificates) * [Regional](/compute/docs/reference/rest/{$api_version}/regionSslCertificates)\n\n\n\nThe sslCertificates are used by: \n- external HTTPS load balancers \n- SSL proxy load balancers \n\nThe regionSslCertificates are used by internal HTTPS load balancers.\n\nOptionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates. (== resource_for {$api_version}.sslCertificates ==) (== resource_for {$api_version}.regionSslCertificates ==)", "id": "SslCertificate", "properties": { "certificate": { @@ -51016,7 +51509,7 @@ "type": "string" }, "enableFlowLogs": { - "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging.", + "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", "type": "boolean" }, "fingerprint": { @@ -51034,7 +51527,7 @@ "type": "string" }, "ipCidrRange": { - "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field can be set only at resource creation time.", + "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be expanded after creation using expandIpCidrRange.", "type": "string" }, "ipv6CidrRange": { @@ -51048,7 +51541,7 @@ }, "logConfig": { "$ref": "SubnetworkLogConfig", - "description": "This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Stackdriver." + "description": "This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging." }, "name": { "description": "The name of the resource, provided by the client when initially creating the resource. 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.", @@ -51087,7 +51580,7 @@ "type": "array" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918.", + "description": "The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", "enum": [ "INTERNAL_HTTPS_LOAD_BALANCER", "PRIVATE", @@ -52119,11 +52612,15 @@ "id": "TargetHttpsProxy", "properties": { "authentication": { - "description": "A URL referring to a networksecurity.Authentication resource that describes how the proxy should authenticate inbound traffic. If left blank, communications between services are not encrypted (i.e., the TLS policy is set to OPEN). When terminating inbound traffic to this proxy, the TerminationTls setting of Authentication.TransportAuthentication is applied.\nRefer to the Authentication and Authentication.TransportAuthentication.TerminationTls resources for additional details.\nauthentication only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "description": "[Deprecated] Use serverTlsPolicy instead.", "type": "string" }, "authorization": { - "description": "A URL referring to a networksecurity.Authorization resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy.\nRefer to the Authorization resource for additional details.\nauthorization only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "description": "[Deprecated] Use authorizationPolicy instead.", + "type": "string" + }, + "authorizationPolicy": { + "description": "Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy.\nRefer to the AuthorizationPolicy resource for additional details.\nauthorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.", "type": "string" }, "creationTimestamp": { @@ -52175,6 +52672,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "serverTlsPolicy": { + "description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic.\nserverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.", + "type": "string" + }, "sslCertificates": { "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.", "items": { @@ -53708,7 +54209,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this TargetVpnGateway resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -54136,7 +54637,7 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction." }, "defaultService": { "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.", @@ -54953,7 +55454,7 @@ "type": "object" }, "VpnGateway": { - "description": "Represents a VPN gateway resource. Next ID: 13", + "description": "Represents a HA VPN gateway.\n\nHA VPN is a high-availability (HA) Cloud VPN solution that lets you securely connect your on-premises network to your Google Cloud Virtual Private Cloud network through an IPsec VPN connection in a single region. For more information about Cloud HA VPN solutions, see Cloud VPN topologies . (== resource_for {$api_version}.vpnGateways ==)", "id": "VpnGateway", "properties": { "creationTimestamp": { @@ -54983,7 +55484,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this VpnGateway resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -55014,7 +55515,7 @@ "type": "string" }, "vpnInterfaces": { - "description": "[Output Only] A list of interfaces on this VPN gateway.", + "description": "A list of interfaces on this VPN gateway.", "items": { "$ref": "VpnGatewayVpnGatewayInterface" }, @@ -55346,7 +55847,7 @@ "type": "integer" }, "ipAddress": { - "description": "The external IP address for this VPN gateway interface.", + "description": "[Output Only] The external IP address for this VPN gateway interface.", "type": "string" } }, @@ -55495,7 +55996,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this VpnTunnel. These can be later modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "localTrafficSelector": { diff --git a/etc/api/compute/v1/compute-api.json b/etc/api/compute/v1/compute-api.json index c03f91e1c1..165ed73154 100644 --- a/etc/api/compute/v1/compute-api.json +++ b/etc/api/compute/v1/compute-api.json @@ -29,7 +29,7 @@ "description": "Creates and runs virtual machines on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/8D3WWVngRoS0y9CFVIt9M0Wvgus\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/L9LOTkeGMiZOvax0wDyduhAKK-M\"", "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" @@ -185,7 +185,7 @@ ] }, "list": { - "description": "Retrieves a list of accelerator types available to the specified project.", + "description": "Retrieves a list of accelerator types that are available to the specified project.", "httpMethod": "GET", "id": "compute.acceleratorTypes.list", "parameterOrder": [ @@ -1362,7 +1362,7 @@ ] }, "getHealth": { - "description": "Gets the most recent health check results for this BackendService.", + "description": "Gets the most recent health check results for this BackendService.\n\nExample request body:\n\n{ \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", "httpMethod": "POST", "id": "compute.backendServices.getHealth", "parameterOrder": [ @@ -1398,7 +1398,7 @@ ] }, "insert": { - "description": "Creates a BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a backend service. Read Understanding backend services for more information.", + "description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "httpMethod": "POST", "id": "compute.backendServices.insert", "parameterOrder": [ @@ -1480,7 +1480,7 @@ ] }, "patch": { - "description": "Patches the specified BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "description": "Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "httpMethod": "PATCH", "id": "compute.backendServices.patch", "parameterOrder": [ @@ -1561,7 +1561,7 @@ ] }, "update": { - "description": "Updates the specified BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information.", + "description": "Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview.", "httpMethod": "PUT", "id": "compute.backendServices.update", "parameterOrder": [ @@ -5675,7 +5675,7 @@ ] }, "listErrors": { - "description": "Lists all errors thrown by actions on instances for a given managed instance group.", + "description": "Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported.", "httpMethod": "GET", "id": "compute.instanceGroupManagers.listErrors", "parameterOrder": [ @@ -5738,7 +5738,7 @@ ] }, "listManagedInstances": { - "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.", + "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. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.instanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -6326,7 +6326,7 @@ ] }, "listInstances": { - "description": "Lists the instances in the specified instance group.", + "description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.instanceGroups.listInstances", "parameterOrder": [ @@ -7465,7 +7465,7 @@ ] }, "listReferrers": { - "description": "Retrieves the list of referrers to instances contained within the specified zone. For more information, read Viewing Referrers to VM Instances.", + "description": "Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed instance group, the referrers list includes the managed instance group. For more information, read Viewing Referrers to VM Instances.", "httpMethod": "GET", "id": "compute.instances.listReferrers", "parameterOrder": [ @@ -8027,7 +8027,7 @@ ] }, "setScheduling": { - "description": "Sets an instance's scheduling options.", + "description": "Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.", "httpMethod": "POST", "id": "compute.instances.setScheduling", "parameterOrder": [ @@ -11201,7 +11201,7 @@ ] }, "patch": { - "description": "Patch the node group.", + "description": "Updates the specified node group.", "httpMethod": "PATCH", "id": "compute.nodeGroups.patch", "parameterOrder": [ @@ -13126,7 +13126,7 @@ ] }, "insert": { - "description": "Creates a regional BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a regional backend service. Read Understanding backend services for more information.", + "description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "httpMethod": "POST", "id": "compute.regionBackendServices.insert", "parameterOrder": [ @@ -13224,7 +13224,7 @@ ] }, "patch": { - "description": "Updates the specified regional BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "httpMethod": "PATCH", "id": "compute.regionBackendServices.patch", "parameterOrder": [ @@ -13273,7 +13273,7 @@ ] }, "update": { - "description": "Updates the specified regional BackendService resource with the data included in the request. There are several Understanding backend services to keep in mind when updating a backend service. Read Understanding backend services for more information.", + "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview.", "httpMethod": "PUT", "id": "compute.regionBackendServices.update", "parameterOrder": [ @@ -13811,6 +13811,48 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "httpMethod": "GET", + "id": "compute.regionDisks.getIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/disks/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { "description": "Creates a persistent regional disk in the specified project using the data included in the request.", "httpMethod": "POST", @@ -14012,6 +14054,50 @@ "https://www.googleapis.com/auth/compute" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "httpMethod": "POST", + "id": "compute.regionDisks.setIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/disks/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setLabels": { "description": "Sets the labels on the target regional disk.", "httpMethod": "POST", @@ -14108,6 +14194,242 @@ } } }, + "regionHealthCheckServices": { + "methods": { + "delete": { + "description": "Deletes the specified regional HealthCheckService.", + "httpMethod": "DELETE", + "id": "compute.regionHealthCheckServices.delete", + "parameterOrder": [ + "project", + "region", + "healthCheckService" + ], + "parameters": { + "healthCheckService": { + "description": "Name of the HealthCheckService to delete. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified regional HealthCheckService resource.", + "httpMethod": "GET", + "id": "compute.regionHealthCheckServices.get", + "parameterOrder": [ + "project", + "region", + "healthCheckService" + ], + "parameters": { + "healthCheckService": { + "description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "response": { + "$ref": "HealthCheckService" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a regional HealthCheckService resource in the specified project and region using the data included in the request.", + "httpMethod": "POST", + "id": "compute.regionHealthCheckServices.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/regions/{region}/healthCheckServices", + "request": { + "$ref": "HealthCheckService" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists all the HealthCheckService resources that have been configured for the specified project in the given region.", + "httpMethod": "GET", + "id": "compute.regionHealthCheckServices.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "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", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/healthCheckServices", + "response": { + "$ref": "HealthCheckServicesList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Updates the specified regional HealthCheckService resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "httpMethod": "PATCH", + "id": "compute.regionHealthCheckServices.patch", + "parameterOrder": [ + "project", + "region", + "healthCheckService" + ], + "parameters": { + "healthCheckService": { + "description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "request": { + "$ref": "HealthCheckService" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "regionHealthChecks": { "methods": { "delete": { @@ -14762,7 +15084,7 @@ ] }, "listErrors": { - "description": "Lists all errors thrown by actions on instances for a given regional managed instance group.", + "description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", "httpMethod": "GET", "id": "compute.regionInstanceGroupManagers.listErrors", "parameterOrder": [ @@ -14825,7 +15147,7 @@ ] }, "listManagedInstances": { - "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances.", + "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -15229,7 +15551,7 @@ ] }, "listInstances": { - "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running.", + "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", "httpMethod": "POST", "id": "compute.regionInstanceGroups.listInstances", "parameterOrder": [ @@ -15343,6 +15665,196 @@ } } }, + "regionNotificationEndpoints": { + "methods": { + "delete": { + "description": "Deletes the specified NotificationEndpoint in the given region", + "httpMethod": "DELETE", + "id": "compute.regionNotificationEndpoints.delete", + "parameterOrder": [ + "project", + "region", + "notificationEndpoint" + ], + "parameters": { + "notificationEndpoint": { + "description": "Name of the NotificationEndpoint resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified NotificationEndpoint resource in the given region.", + "httpMethod": "GET", + "id": "compute.regionNotificationEndpoints.get", + "parameterOrder": [ + "project", + "region", + "notificationEndpoint" + ], + "parameters": { + "notificationEndpoint": { + "description": "Name of the NotificationEndpoint resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", + "response": { + "$ref": "NotificationEndpoint" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Create a NotificationEndpoint in the specified project in the given region using the parameters that are included in the request.", + "httpMethod": "POST", + "id": "compute.regionNotificationEndpoints.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{project}/regions/{region}/notificationEndpoints", + "request": { + "$ref": "NotificationEndpoint" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the NotificationEndpoints for a project in the given region.", + "httpMethod": "GET", + "id": "compute.regionNotificationEndpoints.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "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", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "{project}/regions/{region}/notificationEndpoints", + "response": { + "$ref": "NotificationEndpointList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "regionOperations": { "methods": { "delete": { @@ -19576,7 +20088,7 @@ ] }, "listUsable": { - "description": "Retrieves an aggregated list of all usable subnetworks in the project. The list contains all of the subnetworks in the project and the subnetworks that were shared by a Shared VPC host project.", + "description": "Retrieves an aggregated list of all usable subnetworks in the project.", "httpMethod": "GET", "id": "compute.subnetworks.listUsable", "parameterOrder": [ @@ -23301,7 +23813,7 @@ } } }, - "revision": "20200311", + "revision": "20200612", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -23347,7 +23859,7 @@ "type": "string" }, "maximumCardsPerInstance": { - "description": "[Output Only] Maximum accelerator cards allowed per instance.", + "description": "[Output Only] Maximum number of accelerator cards allowed per instance.", "format": "int32", "type": "integer" }, @@ -23357,7 +23869,7 @@ "type": "string" }, "selfLink": { - "description": "[Output Only] Server-defined fully-qualified URL for this resource.", + "description": "[Output Only] Server-defined, fully qualified URL for this resource.", "type": "string" }, "zone": { @@ -24230,7 +24742,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.", + "description": "Properties of the SKU instances being reserved. Next ID: 9", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -24251,6 +24763,18 @@ "description": "Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.", "type": "string" }, + "maintenanceInterval": { + "description": "Specifies whether this VM may be a stable fleet VM. Setting this to \"Periodic\" designates this VM as a Stable Fleet VM.\n\nSee go/stable-fleet-ug for more details.", + "enum": [ + "AS_NEEDED", + "PERIODIC" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "minCpuPlatform": { "description": "Minimum cpu platform the reservation.", "type": "string" @@ -24448,7 +24972,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"sampleservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -24473,7 +24997,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -24857,6 +25381,7 @@ "MISSING_CUSTOM_METRIC_DATA_POINTS", "MISSING_LOAD_BALANCING_DATA_POINTS", "MODE_OFF", + "MODE_ONLY_SCALE_OUT", "MODE_ONLY_UP", "MORE_THAN_ONE_BACKEND_SERVICE", "NOT_ENOUGH_QUOTA_AVAILABLE", @@ -24883,6 +25408,7 @@ "", "", "", + "", "" ], "type": "string" @@ -25023,9 +25549,11 @@ "enum": [ "OFF", "ON", + "ONLY_SCALE_OUT", "ONLY_UP" ], "enumDescriptions": [ + "", "", "", "" @@ -25108,7 +25636,7 @@ "type": "string" }, "capacityScaler": { - "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available Capacity. Valid range is [0.0,1.0].\n\nThis cannot be used for internal load balancing.", + "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service.\n\nThis cannot be used for internal load balancing.", "format": "float", "type": "number" }, @@ -25340,7 +25868,7 @@ "type": "object" }, "BackendService": { - "description": "Represents a Backend Service resource.\n\nA backend service contains configuration values for Google Cloud Platform load balancing services.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, read Backend Services.\n\n(== resource_for {$api_version}.backendService ==)", + "description": "Represents a Backend Service resource.\n\nA backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, see Backend Services.\n\n(== resource_for {$api_version}.backendService ==)", "id": "BackendService", "properties": { "affinityCookieTtlSec": { @@ -25406,7 +25934,8 @@ "type": "array" }, "iap": { - "$ref": "BackendServiceIAP" + "$ref": "BackendServiceIAP", + "description": "The configurations for Identity-Aware Proxy on this resource." }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -25437,7 +25966,7 @@ "type": "string" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. \n- RANDOM: The load balancer selects a random healthy host. \n- ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. \n- MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, refer to https://ai.google/research/pubs/pub44824 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to >MAGLEV or RING_HASH, session affinity settings will not take effect.", + "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. \n- RANDOM: The load balancer selects a random healthy host. \n- ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. \n- MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to >MAGLEV or RING_HASH, session affinity settings will not take effect.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -25481,7 +26010,7 @@ "type": "integer" }, "portName": { - "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nMust be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Blaancing).", + "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nMust be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing).", "type": "string" }, "protocol": { @@ -25539,7 +26068,7 @@ "type": "string" }, "timeoutSec": { - "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information read, Backend service settings The default is 30 seconds.", + "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings The default is 30 seconds.", "format": "int32", "type": "integer" } @@ -25705,6 +26234,13 @@ "BackendServiceGroupHealth": { "id": "BackendServiceGroupHealth", "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata defined as annotations on the network endpoint group.", + "type": "object" + }, "healthStatus": { "description": "Health state of the backend instances or endpoints in requested instance or network endpoint group, determined based on configured health checks.", "items": { @@ -25725,12 +26261,15 @@ "id": "BackendServiceIAP", "properties": { "enabled": { + "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests. If true, the oauth2ClientId and oauth2ClientSecret fields must be non-empty.", "type": "boolean" }, "oauth2ClientId": { + "description": "OAuth2 client ID to use for the authentication flow.", "type": "string" }, "oauth2ClientSecret": { + "description": "OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field.", "type": "string" }, "oauth2ClientSecretSha256": { @@ -25977,7 +26516,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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@example.com` .\n\n\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* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", @@ -26635,14 +27174,14 @@ "type": "array" }, "allowOriginRegexes": { - "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript \nAn origin is allowed if it matches either allow_origins or allow_origin_regex.", + "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript \nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, "type": "array" }, "allowOrigins": { - "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either allow_origins or allow_origin_regex.", + "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, @@ -26826,7 +27365,7 @@ "type": "string" }, "physicalBlockSizeBytes": { - "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", + "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", "format": "int64", "type": "string" }, @@ -26857,6 +27396,14 @@ "format": "int64", "type": "string" }, + "sourceDisk": { + "description": "The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk", + "type": "string" + }, + "sourceDiskId": { + "description": "[Output Only] The unique ID of the disk used to create this disk. This value identifies the exact disk that was used to create this persistent disk. For example, if you created the persistent disk from a disk that was later deleted and recreated under the same name, the source disk ID would identify the exact version of the disk that was used.", + "type": "string" + }, "sourceImage": { "description": "The source image used to create this disk. If the source image is deleted, this field will not be set.\n\nTo create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image:\nprojects/debian-cloud/global/images/family/debian-9\n\n\nAlternatively, use a specific version of a public operating system image:\nprojects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD\n\n\nTo create a disk with a custom image that you created, specify the image name in the following format:\nglobal/images/my-custom-image\n\n\nYou can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name:\nglobal/images/family/my-image-family", "type": "string" @@ -26900,7 +27447,7 @@ "type": "string" }, "type": { - "description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", + "description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", "type": "string" }, "users": { @@ -27928,7 +28475,7 @@ "type": "object" }, "ExternalVpnGateway": { - "description": "External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud to your on-premises side or another Cloud provider's VPN gateway, you must create a external VPN gateway resource in GCP, which provides the information to GCP about your external VPN gateway.", + "description": "Represents an external VPN gateway.\n\nExternal VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway.\n\nTo create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway.\n\nFor more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN. (== resource_for {$api_version}.externalVpnGateways ==)", "id": "ExternalVpnGateway", "properties": { "creationTimestamp": { @@ -27965,7 +28512,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this ExternalVpnGateway resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, "name": { @@ -28139,6 +28686,7 @@ "type": "string" }, "fileType": { + "description": "The file type of source file.", "enum": [ "BIN", "UNDEFINED", @@ -28241,7 +28789,7 @@ }, "logConfig": { "$ref": "FirewallLogConfig", - "description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Stackdriver." + "description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Cloud Logging." }, "name": { "annotations": { @@ -29083,6 +29631,7 @@ "FEATURE_TYPE_UNSPECIFIED", "MULTI_IP_SUBNET", "SECURE_BOOT", + "SEV_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS" @@ -29093,6 +29642,7 @@ "", "", "", + "", "" ], "type": "string" @@ -29300,6 +29850,10 @@ "description": "Type of the resource.", "type": "string" }, + "logConfig": { + "$ref": "HealthCheckLogConfig", + "description": "Configure logging on this health check." + }, "name": { "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])?", @@ -29464,6 +30018,17 @@ }, "type": "object" }, + "HealthCheckLogConfig": { + "description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", + "id": "HealthCheckLogConfig", + "properties": { + "enable": { + "description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done.", + "type": "boolean" + } + }, + "type": "object" + }, "HealthCheckReference": { "description": "A full or valid partial URL to a health check. For example, the following are valid URLs: \n- https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check \n- projects/project-id/global/httpHealthChecks/health-check \n- global/httpHealthChecks/health-check", "id": "HealthCheckReference", @@ -29474,6 +30039,203 @@ }, "type": "object" }, + "HealthCheckService": { + "description": "Represents a Health-Check as a Service resource.\n\n(== resource_for {$api_version}.regionHealthCheckServices ==)", + "id": "HealthCheckService", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.", + "format": "byte", + "type": "string" + }, + "healthChecks": { + "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecksresource quota\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.", + "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.", "format": "int32", "type": "integer" }, @@ -2748,11 +2752,11 @@ "description": "Configuration for the legacy ABAC authorization mode." }, "location": { - "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/regions-zones/regions-zones#available) or\n[region](/compute/docs/regions-zones/regions-zones#available) in which\nthe cluster resides.", + "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nor\n[region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nin which the cluster resides.", "type": "string" }, "locations": { - "description": "The list of Google Compute Engine\n[zones](/compute/docs/zones#available) in which the cluster's nodes\nshould be located.", + "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located.", "items": { "type": "string" }, @@ -2783,7 +2787,7 @@ "type": "string" }, "network": { - "description": "The name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the\ncluster is connected. If left unspecified, the `default` network\nwill be used.", + "description": "The name of the Google Compute Engine\n[network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)\nto which the cluster is connected. If left unspecified, the `default`\nnetwork will be used.", "type": "string" }, "networkConfig": { @@ -2814,6 +2818,10 @@ "$ref": "PrivateClusterConfig", "description": "Configuration for private cluster." }, + "releaseChannel": { + "$ref": "ReleaseChannel", + "description": "Release channel configuration." + }, "resourceLabels": { "additionalProperties": { "type": "string" @@ -2864,7 +2872,7 @@ "type": "string" }, "subnetwork": { - "description": "The name of the Google Compute Engine\n[subnetwork](/compute/docs/subnetworks) to which the\ncluster is connected.", + "description": "The name of the Google Compute Engine\n[subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which\nthe cluster is connected.", "type": "string" }, "tpuIpv4CidrBlock": { @@ -2880,7 +2888,7 @@ "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM\npolicies." }, "zone": { - "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use location instead.", + "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field is deprecated, use location instead.", "type": "string" } }, @@ -2891,7 +2899,7 @@ "id": "ClusterAutoscaling", "properties": { "autoprovisioningLocations": { - "description": "The list of Google Compute Engine [zones](/compute/docs/zones#available)\nin which the NodePool's nodes can be created by NAP.", + "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nNodePool's nodes can be created by NAP.", "items": { "type": "string" }, @@ -2944,7 +2952,7 @@ "description": "The desired config of Intra-node visibility." }, "desiredLocations": { - "description": "The desired list of Google Compute Engine\n[zones](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", + "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located. Changing the locations a cluster is in\nwill result in nodes being either created or removed from the cluster,\ndepending on whether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", "items": { "type": "string" }, @@ -2978,6 +2986,10 @@ "description": "The Kubernetes version to change the nodes to (typically an\nupgrade).\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the Kubernetes master version", "type": "string" }, + "desiredReleaseChannel": { + "$ref": "ReleaseChannel", + "description": "The desired release channel configuration." + }, "desiredResourceUsageExportConfig": { "$ref": "ResourceUsageExportConfig", "description": "The desired configuration for exporting resource usage." @@ -3006,7 +3018,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -3014,7 +3026,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -3037,10 +3049,10 @@ "properties": { "cluster": { "$ref": "Cluster", - "description": "Required. A [cluster\nresource](/container-engine/reference/rest/v1/projects.zones.clusters)" + "description": "Required. A [cluster\nresource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)" }, "parent": { - "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format 'projects/*/locations/*'.", + "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.", "type": "string" }, "projectId": { @@ -3048,7 +3060,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the parent field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.", "type": "string" } }, @@ -3067,7 +3079,7 @@ "description": "Required. The node pool to create." }, "parent": { - "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n'projects/*/locations/*/clusters/*'.", + "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -3075,7 +3087,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the parent field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.", "type": "string" } }, @@ -3121,6 +3133,17 @@ }, "type": "object" }, + "DnsCacheConfig": { + "description": "Configuration for NodeLocal DNSCache", + "id": "DnsCacheConfig", + "properties": { + "enabled": { + "description": "Whether NodeLocal DNSCache is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -3578,11 +3601,11 @@ "type": "boolean" }, "network": { - "description": "Output only. The relative name of the Google Compute Engine\nnetwork(/compute/docs/networks-and-firewalls#networks) to which\nthe cluster is connected.\nExample: projects/my-project/global/networks/my-network", + "description": "Output only. The relative name of the Google Compute Engine\nnetwork(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)\nto which the cluster is connected. Example:\nprojects/my-project/global/networks/my-network", "type": "string" }, "subnetwork": { - "description": "Output only. The relative name of the Google Compute Engine\n[subnetwork](/compute/docs/vpc) to which the cluster is connected.\nExample: projects/my-project/regions/us-central1/subnetworks/my-subnet", + "description": "Output only. The relative name of the Google Compute Engine\n[subnetwork](https://cloud.google.com/compute/docs/vpc) to which the\ncluster is connected. Example:\nprojects/my-project/regions/us-central1/subnetworks/my-subnet", "type": "string" } }, @@ -3633,6 +3656,10 @@ }, "type": "array" }, + "bootDiskKmsKey": { + "description": "\nThe Customer Managed Encryption Key used to encrypt the boot disk attached\nto each node in the node pool. This should be of the form\nprojects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].\nFor more information about protecting resources with Cloud KMS Keys please\nsee:\nhttps://cloud.google.com/compute/docs/disks/customer-managed-encryption", + "type": "string" + }, "diskSizeGb": { "description": "Size of the disk attached to each node, specified in GB.\nThe smallest allowed disk size is 10GB.\n\nIf unspecified, the default disk size is 100GB.", "format": "int32", @@ -3659,7 +3686,7 @@ "type": "integer" }, "machineType": { - "description": "The name of a Google Compute Engine [machine\ntype](/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.", + "description": "The name of a Google Compute Engine [machine\ntype](https://cloud.google.com/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.", "type": "string" }, "metadata": { @@ -3674,7 +3701,7 @@ "type": "string" }, "oauthScopes": { - "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container Registry](/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.", + "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container\nRegistry](https://cloud.google.com/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.", "items": { "type": "string" }, @@ -3686,7 +3713,7 @@ }, "reservationAffinity": { "$ref": "ReservationAffinity", - "description": "The optional reservation affinity. Setting this field will apply\nthe specified [Zonal Compute\nReservation](/compute/docs/instances/reserving-zonal-resources)\nto this node pool." + "description": "The optional reservation affinity. Setting this field will apply\nthe specified [Zonal Compute\nReservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nto this node pool." }, "sandboxConfig": { "$ref": "SandboxConfig", @@ -3760,19 +3787,19 @@ "description": "The node configuration of the pool." }, "initialNodeCount": { - "description": "The initial node count for the pool. You must ensure that your\nCompute Engine resource quota\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", + "description": "The initial node count for the pool. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", "format": "int32", "type": "integer" }, "instanceGroupUrls": { - "description": "[Output only] The resource URLs of the [managed instance\ngroups](/compute/docs/instance-groups/creating-groups-of-managed-instances)\nassociated with this node pool.", + "description": "[Output only] The resource URLs of the [managed instance\ngroups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)\nassociated with this node pool.", "items": { "type": "string" }, "type": "array" }, "locations": { - "description": "The list of Google Compute Engine [zones](/compute/docs/zones#available)\nin which the NodePool's nodes should be located.", + "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nNodePool's nodes should be located.", "items": { "type": "string" }, @@ -3862,7 +3889,7 @@ "type": "object" }, "NodeTaint": { - "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect\ncan only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.\n\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/configuration/taint-and-toleration/", + "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect\ncan only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.\n\nSee\n[here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)\nfor more information, including usage and the valid values.", "id": "NodeTaint", "properties": { "effect": { @@ -3912,7 +3939,7 @@ "type": "string" }, "location": { - "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/regions-zones/regions-zones#available) or\n[region](/compute/docs/regions-zones/regions-zones#available) in which\nthe cluster resides.", + "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nor\n[region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nin which the cluster resides.", "type": "string" }, "name": { @@ -4007,7 +4034,7 @@ "type": "string" }, "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation\nis taking place.\nThis field is deprecated, use location instead.", + "description": "The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation is taking place. This field is deprecated, use location instead.", "type": "string" } }, @@ -4102,8 +4129,65 @@ }, "type": "object" }, + "ReleaseChannel": { + "description": "ReleaseChannel indicates which release channel a cluster is\nsubscribed to. Release channels are arranged in order of risk.\n\nWhen a cluster is subscribed to a release channel, Google maintains\nboth the master version and the node version. Node auto-upgrade\ndefaults to true and cannot be disabled.", + "id": "ReleaseChannel", + "properties": { + "channel": { + "description": "channel specifies which release channel the cluster is subscribed to.", + "enum": [ + "UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "No channel specified.", + "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.", + "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.", + "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production." + ], + "type": "string" + } + }, + "type": "object" + }, + "ReleaseChannelConfig": { + "description": "ReleaseChannelConfig exposes configuration for a release channel.", + "id": "ReleaseChannelConfig", + "properties": { + "channel": { + "description": "The release channel this configuration applies to.", + "enum": [ + "UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "No channel specified.", + "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.", + "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.", + "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production." + ], + "type": "string" + }, + "defaultVersion": { + "description": "The default version for newly created clusters on the channel.", + "type": "string" + }, + "validVersions": { + "description": "List of valid versions for the channel.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ReservationAffinity": { - "description": "[ReservationAffinity](/compute/docs/instances/reserving-zonal-resources) is\nthe configuration of desired reservation which instances could take\ncapacity from.", + "description": "[ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nis the configuration of desired reservation which instances could take\ncapacity from.", "id": "ReservationAffinity", "properties": { "consumeReservationType": { @@ -4185,7 +4269,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodePoolId": { @@ -4197,7 +4281,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4226,6 +4310,13 @@ "description": "Kubernetes Engine service configuration.", "id": "ServerConfig", "properties": { + "channels": { + "description": "List of release channel configurations.", + "items": { + "$ref": "ReleaseChannelConfig" + }, + "type": "array" + }, "defaultClusterVersion": { "description": "Version of Kubernetes the service deploys by default.", "type": "string" @@ -4242,14 +4333,14 @@ "type": "array" }, "validMasterVersions": { - "description": "List of valid master versions.", + "description": "List of valid master versions, in descending order.", "items": { "type": "string" }, "type": "array" }, "validNodeVersions": { - "description": "List of valid node upgrade target versions.", + "description": "List of valid node upgrade target versions, in descending order.", "items": { "type": "string" }, @@ -4271,7 +4362,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4279,7 +4370,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4298,7 +4389,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4313,7 +4404,7 @@ "type": "object" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4332,7 +4423,7 @@ "type": "boolean" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4340,7 +4431,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4355,14 +4446,14 @@ "type": "string" }, "locations": { - "description": "Required. The desired list of Google Compute Engine\n[zones](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", + "description": "Required. The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located. Changing the locations a cluster is in\nwill result in nodes being either created or removed from the cluster,\ndepending on whether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4370,7 +4461,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4389,7 +4480,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4397,7 +4488,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4416,7 +4507,7 @@ "description": "Required. The maintenance policy to be set for the cluster. An empty field\nclears the existing maintenance policy." }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4424,7 +4515,7 @@ "type": "string" }, "zone": { - "description": "Required. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.", "type": "string" } }, @@ -4455,7 +4546,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4467,7 +4558,7 @@ "description": "Required. A description of the update." }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4486,7 +4577,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4494,7 +4585,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4509,7 +4600,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "networkPolicy": { @@ -4521,7 +4612,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4540,7 +4631,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodePoolId": { @@ -4552,7 +4643,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4571,7 +4662,7 @@ "description": "Required. NodeManagement configuration for the node pool." }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodePoolId": { @@ -4583,7 +4674,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4598,7 +4689,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodeCount": { @@ -4615,7 +4706,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4656,7 +4747,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4668,7 +4759,7 @@ "type": "boolean" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4731,7 +4822,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4743,7 +4834,7 @@ "description": "Required. A description of the update." }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4762,7 +4853,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4770,7 +4861,7 @@ "type": "string" }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4789,14 +4880,14 @@ "type": "string" }, "locations": { - "description": "The desired list of Google Compute Engine\n[zones](/compute/docs/zones#available) in which the node pool's nodes\nshould be located. Changing the locations for a node pool will result\nin nodes being either created or removed from the node pool, depending\non whether locations are being added or removed.", + "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nnode pool's nodes should be located. Changing the locations for a node pool\nwill result in nodes being either created or removed from the node pool,\ndepending on whether locations are being added or removed.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodePoolId": { @@ -4820,7 +4911,7 @@ "description": "The desired workload metadata config for the node pool." }, "zone": { - "description": "Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, diff --git a/etc/api/container/v1beta1/container-api.json b/etc/api/container/v1beta1/container-api.json index e94b887d66..f2ed575763 100644 --- a/etc/api/container/v1beta1/container-api.json +++ b/etc/api/container/v1beta1/container-api.json @@ -137,7 +137,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent project where subnetworks are usable.\nSpecified in the format 'projects/*'.", + "description": "Required. The parent project where subnetworks are usable.\nSpecified in the format `projects/*`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -168,7 +168,7 @@ ], "parameters": { "name": { - "description": "The name (project and location) of the server config to get,\nspecified in the format 'projects/*/locations/*'.", + "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -180,7 +180,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) to return operations for.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.", "location": "query", "type": "string" } @@ -203,7 +203,7 @@ ], "parameters": { "parent": { - "description": "Required. Contains the name of the resource requested.\nSpecified in the format 'projects/*'.", + "description": "Required. Contains the name of the resource requested.\nSpecified in the format `projects/*`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -232,7 +232,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -251,7 +251,7 @@ ] }, "create": { - "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.", + "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", "httpMethod": "POST", "id": "container.projects.locations.clusters.create", @@ -260,7 +260,7 @@ ], "parameters": { "parent": { - "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format 'projects/*/locations/*'.", + "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -293,7 +293,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -305,7 +305,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "query", "type": "string" } @@ -333,7 +333,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -345,7 +345,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "query", "type": "string" } @@ -368,7 +368,7 @@ ], "parameters": { "parent": { - "description": "The cluster (project, location, cluster id) to get keys for. Specified in\nthe format 'projects/*/locations/*/clusters/*'.", + "description": "The cluster (project, location, cluster id) to get keys for. Specified in\nthe format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -390,7 +390,7 @@ ], "parameters": { "parent": { - "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -402,7 +402,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides, or \"-\" for all zones.\nThis field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.", "location": "query", "type": "string" } @@ -425,7 +425,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -453,7 +453,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -472,7 +472,7 @@ ] }, "setLocations": { - "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)\ninstead.", + "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)\ninstead.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLocations", "httpMethod": "POST", "id": "container.projects.locations.clusters.setLocations", @@ -481,7 +481,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -509,7 +509,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -537,7 +537,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -565,7 +565,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -593,7 +593,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -621,7 +621,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -649,7 +649,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -677,7 +677,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -705,7 +705,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -733,7 +733,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -765,7 +765,7 @@ ], "parameters": { "parent": { - "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n'projects/*/locations/*/clusters/*'.", + "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -798,7 +798,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", "required": true, @@ -815,7 +815,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "query", "type": "string" } @@ -843,7 +843,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", "required": true, @@ -860,7 +860,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "query", "type": "string" } @@ -888,7 +888,7 @@ "type": "string" }, "parent": { - "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -900,7 +900,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.", "location": "query", "type": "string" } @@ -923,7 +923,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", "required": true, @@ -951,7 +951,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", "required": true, @@ -979,7 +979,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", "required": true, @@ -1007,7 +1007,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", "required": true, @@ -1035,7 +1035,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", "required": true, @@ -1067,7 +1067,7 @@ ], "parameters": { "parent": { - "description": "The cluster (project, location, cluster id) to get the discovery document\nfor. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The cluster (project, location, cluster id) to get the discovery document\nfor. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -1095,7 +1095,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format `projects/*/locations/*/operations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, @@ -1123,7 +1123,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", "required": true, @@ -1140,7 +1140,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "query", "type": "string" } @@ -1163,7 +1163,7 @@ ], "parameters": { "parent": { - "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1175,7 +1175,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) to return operations for, or `-` for\nall zones. This field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.", "location": "query", "type": "string" } @@ -1205,7 +1205,7 @@ ], "parameters": { "name": { - "description": "The name (project and location) of the server config to get,\nspecified in the format 'projects/*/locations/*'.", + "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.", "location": "query", "type": "string" }, @@ -1216,7 +1216,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) to return operations for.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1258,7 +1258,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1299,7 +1299,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1317,7 +1317,7 @@ ] }, "create": { - "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.", + "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.", "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters", "httpMethod": "POST", "id": "container.projects.zones.clusters.create", @@ -1333,7 +1333,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.", "location": "path", "required": true, "type": "string" @@ -1368,7 +1368,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "query", "type": "string" }, @@ -1379,7 +1379,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1411,7 +1411,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "location": "query", "type": "string" }, @@ -1422,7 +1422,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1460,7 +1460,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1488,7 +1488,7 @@ ], "parameters": { "parent": { - "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.", "location": "query", "type": "string" }, @@ -1499,7 +1499,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides, or \"-\" for all zones.\nThis field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.", "location": "path", "required": true, "type": "string" @@ -1514,7 +1514,7 @@ ] }, "locations": { - "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)\ninstead.", + "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)\ninstead.", "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", "httpMethod": "POST", "id": "container.projects.zones.clusters.locations", @@ -1537,7 +1537,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1578,7 +1578,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1619,7 +1619,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1660,7 +1660,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1701,7 +1701,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1742,7 +1742,7 @@ "type": "string" }, "zone": { - "description": "Required. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.", "location": "path", "required": true, "type": "string" @@ -1783,7 +1783,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1824,7 +1824,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1865,7 +1865,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1906,7 +1906,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1958,7 +1958,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -1999,7 +1999,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.", "location": "path", "required": true, "type": "string" @@ -2035,7 +2035,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "location": "query", "type": "string" }, @@ -2052,7 +2052,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -2085,7 +2085,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "location": "query", "type": "string" }, @@ -2102,7 +2102,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -2134,7 +2134,7 @@ "type": "string" }, "parent": { - "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "query", "type": "string" }, @@ -2145,7 +2145,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.", "location": "path", "required": true, "type": "string" @@ -2190,7 +2190,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -2238,7 +2238,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -2286,7 +2286,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -2334,7 +2334,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -2381,7 +2381,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation resides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -2410,7 +2410,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.", "location": "query", "type": "string" }, @@ -2427,7 +2427,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "location": "path", "required": true, "type": "string" @@ -2452,7 +2452,7 @@ ], "parameters": { "parent": { - "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.", "location": "query", "type": "string" }, @@ -2463,7 +2463,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) to return operations for, or `-` for\nall zones. This field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.", "location": "path", "required": true, "type": "string" @@ -2484,7 +2484,7 @@ } } }, - "revision": "20200324", + "revision": "20200619", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2497,7 +2497,7 @@ "type": "string" }, "acceleratorType": { - "description": "The accelerator type resource name. List of supported accelerators\n[here](/compute/docs/gpus)", + "description": "The accelerator type resource name. List of supported accelerators\n[here](https://cloud.google.com/compute/docs/gpus)", "type": "string" } }, @@ -2511,13 +2511,17 @@ "$ref": "CloudRunConfig", "description": "Configuration for the Cloud Run addon. The `IstioConfig` addon must be\nenabled in order to enable Cloud Run addon. This option can only be enabled\nat cluster creation time." }, + "configConnectorConfig": { + "$ref": "ConfigConnectorConfig", + "description": "Configuration for the ConfigConnector add-on, a Kubernetes\nextension to manage hosted GCP services through the Kubernetes API" + }, "dnsCacheConfig": { "$ref": "DnsCacheConfig", "description": "Configuration for NodeLocalDNS, a dns cache running on cluster nodes" }, "gcePersistentDiskCsiDriverConfig": { "$ref": "GcePersistentDiskCsiDriverConfig", - "description": "Configuration for the GCP Compute Persistent Disk CSI driver." + "description": "Configuration for the Compute Engine Persistent Disk CSI driver." }, "horizontalPodAutoscaling": { "$ref": "HorizontalPodAutoscaling", @@ -2582,32 +2586,32 @@ "properties": { "management": { "$ref": "NodeManagement", - "description": "Specifies the node management options for NAP created node-pools." + "description": "NodeManagement configuration for this NodePool." }, "minCpuPlatform": { - "description": "Minimum CPU platform to be used for NAP created node pools.\nThe instance may be scheduled on the specified or newer CPU platform.\nApplicable values are the friendly names of CPU platforms, such as\nminCpuPlatform: "Intel Haswell" or\nminCpuPlatform: "Intel Sandy Bridge". For more\ninformation, read [how to specify min CPU\nplatform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)\nTo unset the min cpu platform field pass \"automatic\" as field value.", + "description": "Minimum CPU platform to be used by this instance. The instance may be\nscheduled on the specified or newer CPU platform. Applicable values are the\nfriendly names of CPU platforms, such as\nminCpuPlatform: "Intel Haswell" or\nminCpuPlatform: "Intel Sandy Bridge". For more\ninformation, read [how to specify min CPU\nplatform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)\nTo unset the min cpu platform field pass \"automatic\"\nas field value.", "type": "string" }, "oauthScopes": { - "description": "Scopes that are used by NAP when creating node pools. If oauth_scopes are\nspecified, service_account should be empty.", + "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container\nRegistry](https://cloud.google.com/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.", "items": { "type": "string" }, "type": "array" }, "serviceAccount": { - "description": "The Google Cloud Platform Service Account to be used by the node VMs. If\nservice_account is specified, scopes should be empty.", + "description": "The Google Cloud Platform Service Account to be used by the node VMs.\nSpecify the email address of the Service Account; otherwise, if no Service\nAccount is specified, the \"default\" service account is used.", "type": "string" }, "upgradeSettings": { "$ref": "UpgradeSettings", - "description": "Specifies the upgrade settings for NAP created node pools" + "description": "Upgrade settings control disruption and speed of the upgrade." } }, "type": "object" }, "AvailableVersion": { - "description": "AvailableVersion is an additional Kubernetes versions offered\nto users who subscribed to the release channel.", + "description": "Deprecated.", "id": "AvailableVersion", "properties": { "reason": { @@ -2648,7 +2652,7 @@ "id": "CancelOperationRequest", "properties": { "name": { - "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format `projects/*/locations/*/operations/*`.", "type": "string" }, "operationId": { @@ -2660,7 +2664,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation resides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -2752,7 +2756,7 @@ "type": "integer" }, "currentNodeVersion": { - "description": "[Output only] Deprecated, use\n[NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)\ninstead. The current version of the node software components.\nIf they are currently at multiple versions because they're in the process\nof being upgraded, this reflects the minimum version of all nodes.", + "description": "[Output only] Deprecated, use\n[NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)\ninstead. The current version of the node software components.\nIf they are currently at multiple versions because they're in the process\nof being upgraded, this reflects the minimum version of all nodes.", "type": "string" }, "databaseEncryption": { @@ -2788,7 +2792,7 @@ "type": "string" }, "initialNodeCount": { - "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine resource quota\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.", + "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.", "format": "int32", "type": "integer" }, @@ -2812,11 +2816,11 @@ "description": "Configuration for the legacy ABAC authorization mode." }, "location": { - "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/regions-zones/regions-zones#available) or\n[region](/compute/docs/regions-zones/regions-zones#available) in which\nthe cluster resides.", + "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nor\n[region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nin which the cluster resides.", "type": "string" }, "locations": { - "description": "The list of Google Compute Engine\n[zones](/compute/docs/zones#available) in which the cluster's nodes\nshould be located.", + "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located.", "items": { "type": "string" }, @@ -2830,6 +2834,10 @@ "$ref": "MaintenancePolicy", "description": "Configure the maintenance policy for this cluster." }, + "master": { + "$ref": "Master", + "description": "Configuration for master components." + }, "masterAuth": { "$ref": "MasterAuth", "description": "The authentication information for accessing the master endpoint.\nIf unspecified, the defaults are used:\nFor clusters before v1.12, if master_auth is unspecified, `username` will\nbe set to \"admin\", a random password will be generated, and a client\ncertificate will be issued." @@ -2851,7 +2859,7 @@ "type": "string" }, "network": { - "description": "The name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the\ncluster is connected. If left unspecified, the `default` network\nwill be used. On output this shows the network ID instead of\nthe name.", + "description": "The name of the Google Compute Engine\n[network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)\nto which the cluster is connected. If left unspecified, the `default`\nnetwork will be used. On output this shows the network ID instead of the\nname.", "type": "string" }, "networkConfig": { @@ -2944,7 +2952,7 @@ "type": "string" }, "subnetwork": { - "description": "The name of the Google Compute Engine\n[subnetwork](/compute/docs/subnetworks) to which the\ncluster is connected. On output this shows the subnetwork ID instead of\nthe name.", + "description": "The name of the Google Compute Engine\n[subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which\nthe cluster is connected. On output this shows the subnetwork ID instead of\nthe name.", "type": "string" }, "tpuConfig": { @@ -2964,7 +2972,7 @@ "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM\npolicies." }, "zone": { - "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use location instead.", + "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field is deprecated, use location instead.", "type": "string" } }, @@ -2975,7 +2983,7 @@ "id": "ClusterAutoscaling", "properties": { "autoprovisioningLocations": { - "description": "The list of Google Compute Engine [zones](/compute/docs/zones#available)\nin which the NodePool's nodes can be created by NAP.", + "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nNodePool's nodes can be created by NAP.", "items": { "type": "string" }, @@ -3060,6 +3068,10 @@ "$ref": "DatabaseEncryption", "description": "Configuration of etcd encryption." }, + "desiredDefaultSnatStatus": { + "$ref": "DefaultSnatStatus", + "description": "The desired status of whether to disable default sNAT for this cluster." + }, "desiredImageType": { "description": "The desired image type for the node pool.\nNOTE: Set the \"desired_node_pool\" field as well.", "type": "string" @@ -3069,7 +3081,7 @@ "description": "The desired config of Intra-node visibility." }, "desiredLocations": { - "description": "The desired list of Google Compute Engine\n[zones](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", + "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located. Changing the locations a cluster is in\nwill result in nodes being either created or removed from the cluster,\ndepending on whether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", "items": { "type": "string" }, @@ -3079,6 +3091,10 @@ "description": "The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com/kubernetes` - The Cloud Logging\nservice with a Kubernetes-native resource model\n* `logging.googleapis.com` - The legacy Cloud Logging service (no longer\n available as of GKE 1.15).\n* `none` - no logs will be exported from the cluster.\n\nIf left as an empty string,`logging.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `logging.googleapis.com` for earlier versions.", "type": "string" }, + "desiredMaster": { + "$ref": "Master", + "description": "Configuration for master components." + }, "desiredMasterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", "description": "The desired configuration options for master authorized networks feature." @@ -3147,7 +3163,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -3155,12 +3171,23 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, "type": "object" }, + "ConfigConnectorConfig": { + "description": "Configuration options for the Config Connector add-on.", + "id": "ConfigConnectorConfig", + "properties": { + "enabled": { + "description": "Whether Cloud Connector is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "ConsumptionMeteringConfig": { "description": "Parameters for controlling consumption metering.", "id": "ConsumptionMeteringConfig", @@ -3178,10 +3205,10 @@ "properties": { "cluster": { "$ref": "Cluster", - "description": "Required. A [cluster\nresource](/container-engine/reference/rest/v1beta1/projects.zones.clusters)" + "description": "Required. A [cluster\nresource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)" }, "parent": { - "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format 'projects/*/locations/*'.", + "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.", "type": "string" }, "projectId": { @@ -3189,7 +3216,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.", "type": "string" } }, @@ -3208,7 +3235,7 @@ "description": "Required. The node pool to create." }, "parent": { - "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n'projects/*/locations/*/clusters/*'.", + "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -3216,7 +3243,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the parent field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.", "type": "string" } }, @@ -3262,6 +3289,17 @@ }, "type": "object" }, + "DefaultSnatStatus": { + "description": "DefaultSnatStatus contains the desired state of whether default sNAT should\nbe disabled on the cluster.", + "id": "DefaultSnatStatus", + "properties": { + "disabled": { + "description": "Disables cluster default sNAT rules.", + "type": "boolean" + } + }, + "type": "object" + }, "DnsCacheConfig": { "description": "Configuration for NodeLocal DNSCache", "id": "DnsCacheConfig", @@ -3457,7 +3495,11 @@ "type": "string" }, "useIpAliases": { - "description": "Whether alias IPs will be used for pod IPs in the cluster.", + "description": "Whether alias IPs will be used for pod IPs in the cluster.\nThis is used in conjunction with use_routes. It cannot\nbe true if use_routes is true. If both use_ip_aliases and use_routes are\nfalse, then the server picks the default IP allocation mode", + "type": "boolean" + }, + "useRoutes": { + "description": "Whether routes will be used for pod IPs in the cluster.\nThis is used in conjunction with use_ip_aliases. It cannot be true if\nuse_ip_aliases is true. If both use_ip_aliases and use_routes are false,\nthen the server picks the default IP allocation mode", "type": "boolean" } }, @@ -3573,6 +3615,20 @@ }, "type": "object" }, + "LinuxNodeConfig": { + "description": "Parameters that can be configured on Linux nodes.", + "id": "LinuxNodeConfig", + "properties": { + "sysctls": { + "additionalProperties": { + "type": "string" + }, + "description": "The Linux kernel parameters to be applied to the nodes and all pods running\non the nodes.\n\nThe following parameters are supported.\n\nnet.core.netdev_max_backlog\nnet.core.rmem_max\nnet.core.wmem_default\nnet.core.wmem_max\nnet.core.optmem_max\nnet.core.somaxconn\nnet.ipv4.tcp_rmem\nnet.ipv4.tcp_wmem\nnet.ipv4.tcp_tw_reuse", + "type": "object" + } + }, + "type": "object" + }, "ListClustersResponse": { "description": "ListClustersResponse is the result of ListClustersRequest.", "id": "ListClustersResponse", @@ -3670,7 +3726,7 @@ "id": "Location", "properties": { "name": { - "description": "Contains the name of the resource requested.\nSpecified in the format 'projects/*/locations/*'.", + "description": "Contains the name of the resource requested.\nSpecified in the format `projects/*/locations/*`.", "type": "string" }, "recommended": { @@ -3731,6 +3787,12 @@ }, "type": "object" }, + "Master": { + "description": "Master is the configuration for components on master.", + "id": "Master", + "properties": {}, + "type": "object" + }, "MasterAuth": { "description": "The authentication information for accessing the master endpoint.\nAuthentication can be done using HTTP basic auth or using client\ncertificates.", "id": "MasterAuth", @@ -3820,16 +3882,20 @@ "description": "NetworkConfig reports the relative names of network & subnetwork.", "id": "NetworkConfig", "properties": { + "defaultSnatStatus": { + "$ref": "DefaultSnatStatus", + "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules\nwill be disabled when default_snat_status is disabled. When disabled is set\nto false, default IP masquerade rules will be applied to the nodes to\nprevent sNAT on cluster internal traffic." + }, "enableIntraNodeVisibility": { "description": "Whether Intra-node visibility is enabled for this cluster.\nThis makes same node pod to pod traffic visible for VPC network.", "type": "boolean" }, "network": { - "description": "Output only. The relative name of the Google Compute Engine\nnetwork(/compute/docs/networks-and-firewalls#networks) to which\nthe cluster is connected.\nExample: projects/my-project/global/networks/my-network", + "description": "Output only. The relative name of the Google Compute Engine\nnetwork(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)\nto which the cluster is connected. Example:\nprojects/my-project/global/networks/my-network", "type": "string" }, "subnetwork": { - "description": "Output only. The relative name of the Google Compute Engine\n[subnetwork](/compute/docs/vpc) to which the cluster is connected.\nExample: projects/my-project/regions/us-central1/subnetworks/my-subnet", + "description": "Output only. The relative name of the Google Compute Engine\n[subnetwork](https://cloud.google.com/compute/docs/vpc) to which the\ncluster is connected. Example:\nprojects/my-project/regions/us-central1/subnetworks/my-subnet", "type": "string" } }, @@ -3897,6 +3963,10 @@ "description": "The image type to use for this node. Note that for a given image type,\nthe latest version of it will be used.", "type": "string" }, + "kubeletConfig": { + "$ref": "NodeKubeletConfig", + "description": "Node kubelet configs." + }, "labels": { "additionalProperties": { "type": "string" @@ -3904,13 +3974,17 @@ "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node.\nThese will added in addition to any default label(s) that\nKubernetes may apply to the node.\nIn case of conflict in label keys, the applied set may differ depending on\nthe Kubernetes version -- it's best to assume the behavior is undefined\nand conflicts should be avoided.\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/", "type": "object" }, + "linuxNodeConfig": { + "$ref": "LinuxNodeConfig", + "description": "Parameters that can be configured on Linux nodes." + }, "localSsdCount": { "description": "The number of local SSD disks to be attached to the node.\n\nThe limit for this value is dependent upon the maximum number of\ndisks available on a machine per zone. See:\nhttps://cloud.google.com/compute/docs/disks/local-ssd\nfor more information.", "format": "int32", "type": "integer" }, "machineType": { - "description": "The name of a Google Compute Engine [machine\ntype](/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.", + "description": "The name of a Google Compute Engine [machine\ntype](https://cloud.google.com/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.", "type": "string" }, "metadata": { @@ -3925,7 +3999,7 @@ "type": "string" }, "oauthScopes": { - "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container Registry](/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.", + "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container\nRegistry](https://cloud.google.com/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.", "items": { "type": "string" }, @@ -3937,7 +4011,7 @@ }, "reservationAffinity": { "$ref": "ReservationAffinity", - "description": "The optional reservation affinity. Setting this field will apply\nthe specified [Zonal Compute\nReservation](/compute/docs/instances/reserving-zonal-resources)\nto this node pool." + "description": "The optional reservation affinity. Setting this field will apply\nthe specified [Zonal Compute\nReservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nto this node pool." }, "sandboxConfig": { "$ref": "SandboxConfig", @@ -3972,6 +4046,25 @@ }, "type": "object" }, + "NodeKubeletConfig": { + "description": "Node kubelet configs.", + "id": "NodeKubeletConfig", + "properties": { + "cpuCfsQuota": { + "description": "Enable CPU CFS quota enforcement for containers that specify CPU limits.\n\nIf this option is enabled, kubelet uses CFS quota\n(https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to\nenforce container CPU limits. Otherwise, CPU limits will not be enforced at\nall.\n\nDisable this option to mitigate CPU throttling problems while still having\nyour pods to be in Guaranteed QoS class by specifying the CPU limits.\n\nThe default value is 'true' if unspecified.", + "type": "boolean" + }, + "cpuCfsQuotaPeriod": { + "description": "Set the CPU CFS quota period value 'cpu.cfs_period_us'.\n\nThe string must be a sequence of decimal numbers, each with optional\nfraction and a unit suffix, such as \"300ms\".\nValid time units are \"ns\", \"us\" (or \"\u00b5s\"), \"ms\", \"s\", \"m\", \"h\".\nThe value must be a positive duration.", + "type": "string" + }, + "cpuManagerPolicy": { + "description": "Control the CPU management policy on the node.\nSee\nhttps://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/\n\nThe following values are allowed.\n - \"none\": the default, which represents the existing scheduling behavior.\n - \"static\": allows pods with certain resource characteristics to be\n granted increased CPU affinity and exclusivity on the node.", + "type": "string" + } + }, + "type": "object" + }, "NodeManagement": { "description": "NodeManagement defines the set of node management services turned on for the\nnode pool.", "id": "NodeManagement", @@ -4011,19 +4104,19 @@ "description": "The node configuration of the pool." }, "initialNodeCount": { - "description": "The initial node count for the pool. You must ensure that your\nCompute Engine resource quota\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", + "description": "The initial node count for the pool. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", "format": "int32", "type": "integer" }, "instanceGroupUrls": { - "description": "[Output only] The resource URLs of the [managed instance\ngroups](/compute/docs/instance-groups/creating-groups-of-managed-instances)\nassociated with this node pool.", + "description": "[Output only] The resource URLs of the [managed instance\ngroups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)\nassociated with this node pool.", "items": { "type": "string" }, "type": "array" }, "locations": { - "description": "The list of Google Compute Engine [zones](/compute/docs/zones#available)\nin which the NodePool's nodes should be located.", + "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nNodePool's nodes should be located.", "items": { "type": "string" }, @@ -4113,7 +4206,7 @@ "type": "object" }, "NodeTaint": { - "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect\ncan only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.\n\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/configuration/taint-and-toleration/", + "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect\ncan only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.\n\nSee\n[here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)\nfor more information, including usage and the valid values.", "id": "NodeTaint", "properties": { "effect": { @@ -4163,7 +4256,7 @@ "type": "string" }, "location": { - "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/regions-zones/regions-zones#available) or\n[region](/compute/docs/regions-zones/regions-zones#available) in which\nthe cluster resides.", + "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nor\n[region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nin which the cluster resides.", "type": "string" }, "name": { @@ -4258,7 +4351,7 @@ "type": "string" }, "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation\nis taking place.\nThis field is deprecated, use location instead.", + "description": "The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation is taking place. This field is deprecated, use location instead.", "type": "string" } }, @@ -4330,6 +4423,10 @@ "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are\ngiven only RFC 1918 private addresses and communicate with the master via\nprivate networking.", "type": "boolean" }, + "masterGlobalAccessConfig": { + "$ref": "PrivateClusterMasterGlobalAccessConfig", + "description": "Controls master global access settings." + }, "masterIpv4CidrBlock": { "description": "The IP range in CIDR notation to use for the hosted master network. This\nrange will be used for assigning internal IP addresses to the master or\nset of masters, as well as the ILB VIP. This range must not overlap with\nany other ranges in use within the cluster's network.", "type": "string" @@ -4349,6 +4446,17 @@ }, "type": "object" }, + "PrivateClusterMasterGlobalAccessConfig": { + "description": "Configuration for controlling master global access settings.", + "id": "PrivateClusterMasterGlobalAccessConfig", + "properties": { + "enabled": { + "description": "Whenever master is accessible globally or not.", + "type": "boolean" + } + }, + "type": "object" + }, "RecurringTimeWindow": { "description": "Represents an arbitrary window of time that recurs.", "id": "RecurringTimeWindow", @@ -4365,7 +4473,7 @@ "type": "object" }, "ReleaseChannel": { - "description": "ReleaseChannel indicates which release channel a cluster is\nsubscribed to. Release channels are arranged in order of risk and\nfrequency of updates.\n\nWhen a cluster is subscribed to a release channel, Google maintains\nboth the master version and the node version. Node auto-upgrade\ndefaults to true and cannot be disabled. Updates to version related\nfields (e.g. current_master_version) return an error.", + "description": "ReleaseChannel indicates which release channel a cluster is\nsubscribed to. Release channels are arranged in order of risk.\n\nWhen a cluster is subscribed to a release channel, Google maintains\nboth the master version and the node version. Node auto-upgrade\ndefaults to true and cannot be disabled.", "id": "ReleaseChannel", "properties": { "channel": { @@ -4378,9 +4486,9 @@ ], "enumDescriptions": [ "No channel specified.", - "RAPID channel is offered on an early access basis for customers who want\nto test new releases before they are qualified for production use or\ngeneral availability. New upgrades will occur roughly weekly.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not for use with\nproduction workloads or subject to any SLAs.", - "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features. New upgrades will occur roughly every few\nweeks.", - "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production. STABLE is intended for production\nusers who need stability above all else, or for whom frequent upgrades\nare too risky. New upgrades will occur roughly every few months." + "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.", + "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.", + "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production." ], "type": "string" } @@ -4392,7 +4500,7 @@ "id": "ReleaseChannelConfig", "properties": { "availableVersions": { - "description": "List of available versions for the release channel.", + "description": "Deprecated.\nThis field has been deprecated and replaced with the valid_versions\nfield.", "items": { "$ref": "AvailableVersion" }, @@ -4408,21 +4516,28 @@ ], "enumDescriptions": [ "No channel specified.", - "RAPID channel is offered on an early access basis for customers who want\nto test new releases before they are qualified for production use or\ngeneral availability. New upgrades will occur roughly weekly.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not for use with\nproduction workloads or subject to any SLAs.", - "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features. New upgrades will occur roughly every few\nweeks.", - "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production. STABLE is intended for production\nusers who need stability above all else, or for whom frequent upgrades\nare too risky. New upgrades will occur roughly every few months." + "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.", + "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.", + "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production." ], "type": "string" }, "defaultVersion": { "description": "The default version for newly created clusters on the channel.", "type": "string" + }, + "validVersions": { + "description": "List of valid versions for the channel.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, "ReservationAffinity": { - "description": "[ReservationAffinity](/compute/docs/instances/reserving-zonal-resources) is\nthe configuration of desired reservation which instances could take\ncapacity from.", + "description": "[ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nis the configuration of desired reservation which instances could take\ncapacity from.", "id": "ReservationAffinity", "properties": { "consumeReservationType": { @@ -4504,7 +4619,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodePoolId": { @@ -4516,7 +4631,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4572,14 +4687,14 @@ "type": "array" }, "validMasterVersions": { - "description": "List of valid master versions.", + "description": "List of valid master versions, in descending order.", "items": { "type": "string" }, "type": "array" }, "validNodeVersions": { - "description": "List of valid node upgrade target versions.", + "description": "List of valid node upgrade target versions, in descending order.", "items": { "type": "string" }, @@ -4601,7 +4716,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4609,7 +4724,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4628,7 +4743,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4643,7 +4758,7 @@ "type": "object" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4662,7 +4777,7 @@ "type": "boolean" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4670,7 +4785,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4685,14 +4800,14 @@ "type": "string" }, "locations": { - "description": "Required. The desired list of Google Compute Engine\n[zones](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", + "description": "Required. The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located. Changing the locations a cluster is in\nwill result in nodes being either created or removed from the cluster,\ndepending on whether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4700,7 +4815,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4719,7 +4834,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4727,7 +4842,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4746,7 +4861,7 @@ "description": "Required. The maintenance policy to be set for the cluster. An empty field\nclears the existing maintenance policy." }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4754,7 +4869,7 @@ "type": "string" }, "zone": { - "description": "Required. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.", "type": "string" } }, @@ -4785,7 +4900,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4797,7 +4912,7 @@ "description": "Required. A description of the update." }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4816,7 +4931,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4824,7 +4939,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4839,7 +4954,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "networkPolicy": { @@ -4851,7 +4966,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4870,7 +4985,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodePoolId": { @@ -4882,7 +4997,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4901,7 +5016,7 @@ "description": "Required. NodeManagement configuration for the node pool." }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodePoolId": { @@ -4913,7 +5028,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4928,7 +5043,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodeCount": { @@ -4945,7 +5060,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -4986,7 +5101,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4998,7 +5113,7 @@ "type": "boolean" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -5080,7 +5195,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -5092,7 +5207,7 @@ "description": "Required. A description of the update." }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -5111,7 +5226,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -5119,7 +5234,7 @@ "type": "string" }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, @@ -5137,15 +5252,23 @@ "description": "Required. The desired image type for the node pool.", "type": "string" }, + "kubeletConfig": { + "$ref": "NodeKubeletConfig", + "description": "Node kubelet configs." + }, + "linuxNodeConfig": { + "$ref": "LinuxNodeConfig", + "description": "Parameters that can be configured on Linux nodes." + }, "locations": { - "description": "The desired list of Google Compute Engine\n[zones](/compute/docs/zones#available) in which the node pool's nodes\nshould be located. Changing the locations for a node pool will result\nin nodes being either created or removed from the node pool, depending\non whether locations are being added or removed.", + "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nnode pool's nodes should be located. Changing the locations for a node pool\nwill result in nodes being either created or removed from the node pool,\ndepending on whether locations are being added or removed.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" }, "nodePoolId": { @@ -5169,7 +5292,7 @@ "description": "The desired workload metadata config for the node pool." }, "zone": { - "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field has been deprecated and replaced by the name field.", + "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.", "type": "string" } }, diff --git a/etc/api/containeranalysis/v1alpha1/containeranalysis-api.json b/etc/api/containeranalysis/v1alpha1/containeranalysis-api.json index 96ed0791e9..15b371ce0d 100644 --- a/etc/api/containeranalysis/v1alpha1/containeranalysis-api.json +++ b/etc/api/containeranalysis/v1alpha1/containeranalysis-api.json @@ -1206,7 +1206,7 @@ } } }, - "revision": "20200327", + "revision": "20200704", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "Artifact": { @@ -1287,7 +1287,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1826,7 +1826,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1836,7 +1836,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2495,7 +2495,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -2511,7 +2511,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/containeranalysis/v1beta1/containeranalysis-api.json b/etc/api/containeranalysis/v1beta1/containeranalysis-api.json index c4c341a7dd..fc51792a4c 100644 --- a/etc/api/containeranalysis/v1beta1/containeranalysis-api.json +++ b/etc/api/containeranalysis/v1beta1/containeranalysis-api.json @@ -853,7 +853,7 @@ } } }, - "revision": "20200327", + "revision": "20200704", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { @@ -905,6 +905,29 @@ }, "type": "object" }, + "ArtifactHashes": { + "description": "Defines a hash object for use in Materials and Products.", + "id": "ArtifactHashes", + "properties": { + "sha256": { + "type": "string" + } + }, + "type": "object" + }, + "ArtifactRule": { + "description": "Defines an object to declare an in-toto artifact rule", + "id": "ArtifactRule", + "properties": { + "artifactRule": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Attestation": { "description": "Occurrence that represents a single \"attestation\". The authenticity of an\nattestation can be verified using the attached signature. If the verifier\ntrusts the public key of the signer, then verifying the signature is\nsufficient to establish trust. In this circumstance, the authority to which\nthis attestation is attached is primarily useful for look-up (how to find\nthis attestation if you already know the authority and artifact to be\nverified) and intent (which authority was this attestation intended to sign\nfor).", "id": "Attestation", @@ -1007,7 +1030,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1143,6 +1166,19 @@ }, "type": "object" }, + "ByProducts": { + "description": "Defines an object for the byproducts field in in-toto links. The suggested\nfields are \"stderr\", \"stdout\", and \"return-value\".", + "id": "ByProducts", + "properties": { + "customValues": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, "CVSSv3": { "description": "Common Vulnerability Scoring System version 3.\nFor details, see https://www.first.org/cvss/specification-document", "id": "CVSSv3", @@ -1555,7 +1591,8 @@ "PACKAGE", "DEPLOYMENT", "DISCOVERY", - "ATTESTATION" + "ATTESTATION", + "INTOTO" ], "enumDescriptions": [ "Unknown.", @@ -1565,7 +1602,8 @@ "This represents a package installed via a package manager.", "The note and occurrence track deployment events.", "The note and occurrence track the initial discovery status of a resource.", - "This represents a logical \"role\" that can attest to artifacts." + "This represents a logical \"role\" that can attest to artifacts.", + "This represents an in-toto link." ], "type": "string" } @@ -1619,6 +1657,19 @@ "properties": {}, "type": "object" }, + "Environment": { + "description": "Defines an object for the environment field in in-toto links. The suggested\nfields are \"variables\", \"filesystem\", and \"workdir\".", + "id": "Environment", + "properties": { + "customValues": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", "id": "Expr", @@ -1779,7 +1830,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1789,7 +1840,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1876,6 +1927,47 @@ }, "type": "object" }, + "GrafeasV1beta1IntotoArtifact": { + "id": "GrafeasV1beta1IntotoArtifact", + "properties": { + "hashes": { + "$ref": "ArtifactHashes" + }, + "resourceUri": { + "type": "string" + } + }, + "type": "object" + }, + "GrafeasV1beta1IntotoDetails": { + "description": "This corresponds to a signed in-toto link - it is made up of one or more\nsignatures and the in-toto link itself. This is used for occurrences of a\nGrafeas in-toto note.", + "id": "GrafeasV1beta1IntotoDetails", + "properties": { + "signatures": { + "items": { + "$ref": "GrafeasV1beta1IntotoSignature" + }, + "type": "array" + }, + "signed": { + "$ref": "Link" + } + }, + "type": "object" + }, + "GrafeasV1beta1IntotoSignature": { + "description": "A signature object consists of the KeyID used and the signature itself.", + "id": "GrafeasV1beta1IntotoSignature", + "properties": { + "keyid": { + "type": "string" + }, + "sig": { + "type": "string" + } + }, + "type": "object" + }, "GrafeasV1beta1PackageDetails": { "description": "Details of a package occurrence.", "id": "GrafeasV1beta1PackageDetails", @@ -2000,6 +2092,49 @@ }, "type": "object" }, + "InToto": { + "description": "This contains the fields corresponding to the definition of a software supply\nchain step in an in-toto layout. This information goes into a Grafeas note.", + "id": "InToto", + "properties": { + "expectedCommand": { + "description": "This field contains the expected command used to perform the step.", + "items": { + "type": "string" + }, + "type": "array" + }, + "expectedMaterials": { + "description": "The following fields contain in-toto artifact rules identifying the\nartifacts that enter this supply chain step, and exit the supply chain\nstep, i.e. materials and products of the step.", + "items": { + "$ref": "ArtifactRule" + }, + "type": "array" + }, + "expectedProducts": { + "items": { + "$ref": "ArtifactRule" + }, + "type": "array" + }, + "signingKeys": { + "description": "This field contains the public keys that can be used to verify the\nsignatures on the step metadata.", + "items": { + "$ref": "SigningKey" + }, + "type": "array" + }, + "stepName": { + "description": "This field identifies the name of the step in the supply chain.", + "type": "string" + }, + "threshold": { + "description": "This field contains a value that indicates the minimum number of keys that\nneed to be used to sign the step's in-toto link.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Installation": { "description": "This represents how a particular software package may be installed on a\nsystem.", "id": "Installation", @@ -2087,6 +2222,42 @@ }, "type": "object" }, + "Link": { + "description": "This corresponds to an in-toto link.", + "id": "Link", + "properties": { + "byproducts": { + "$ref": "ByProducts", + "description": "ByProducts are data generated as part of a software supply chain step, but\nare not the actual result of the step." + }, + "command": { + "description": "This field contains the full command executed for the step. This can also\nbe empty if links are generated for operations that aren't directly mapped\nto a specific command. Each term in the command is an independent string\nin the list. An example of a command in the in-toto metadata field is:\n\"command\": [\"git\", \"clone\", \"https://github.com/in-toto/demo-project.git\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "environment": { + "$ref": "Environment", + "description": "This is a field that can be used to capture information about the\nenvironment. It is suggested for this field to contain information that\ndetails environment variables, filesystem information, and the present\nworking directory. The recommended structure of this field is:\n\"environment\": {\n \"custom_values\": {\n \"variables\": \"\",\n \"filesystem\": \"\",\n \"workdir\": \"\",\n \"\": \"...\"\n }\n}" + }, + "materials": { + "description": "Materials are the supply chain artifacts that go into the step and are used\nfor the operation performed. The key of the map is the path of the artifact\nand the structure contains the recorded hash information. An example is:\n\"materials\": [\n {\n \"resource_uri\": \"foo/bar\",\n \"hashes\": {\n \"sha256\": \"ebebf...\",\n : \n }\n }\n]", + "items": { + "$ref": "GrafeasV1beta1IntotoArtifact" + }, + "type": "array" + }, + "products": { + "description": "Products are the supply chain artifacts generated as a result of the step.\nThe structure is identical to that of materials.", + "items": { + "$ref": "GrafeasV1beta1IntotoArtifact" + }, + "type": "array" + } + }, + "type": "object" + }, "ListNoteOccurrencesResponse": { "description": "Response for listing occurrences for a note.", "id": "ListNoteOccurrencesResponse", @@ -2212,6 +2383,10 @@ "format": "google-datetime", "type": "string" }, + "intoto": { + "$ref": "InToto", + "description": "A note describing an in-toto link." + }, "kind": { "description": "Output only. The type of analysis. This field can be used as a filter in\nlist requests.", "enum": [ @@ -2222,7 +2397,8 @@ "PACKAGE", "DEPLOYMENT", "DISCOVERY", - "ATTESTATION" + "ATTESTATION", + "INTOTO" ], "enumDescriptions": [ "Unknown.", @@ -2232,7 +2408,8 @@ "This represents a package installed via a package manager.", "The note and occurrence track deployment events.", "The note and occurrence track the initial discovery status of a resource.", - "This represents a logical \"role\" that can attest to artifacts." + "This represents a logical \"role\" that can attest to artifacts.", + "This represents an in-toto link." ], "type": "string" }, @@ -2311,6 +2488,10 @@ "$ref": "GrafeasV1beta1PackageDetails", "description": "Describes the installation of a package on the linked resource." }, + "intoto": { + "$ref": "GrafeasV1beta1IntotoDetails", + "description": "Describes a specific in-toto link." + }, "kind": { "description": "Output only. This explicitly denotes which of the occurrence details are\nspecified. This field can be used as a filter in list requests.", "enum": [ @@ -2321,7 +2502,8 @@ "PACKAGE", "DEPLOYMENT", "DISCOVERY", - "ATTESTATION" + "ATTESTATION", + "INTOTO" ], "enumDescriptions": [ "Unknown.", @@ -2331,7 +2513,8 @@ "This represents a package installed via a package manager.", "The note and occurrence track deployment events.", "The note and occurrence track the initial discovery status of a resource.", - "This represents a logical \"role\" that can attest to artifacts." + "This represents a logical \"role\" that can attest to artifacts.", + "This represents an in-toto link." ], "type": "string" }, @@ -2428,7 +2611,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -2444,7 +2627,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2560,7 +2743,7 @@ "id": "Signature", "properties": { "publicKeyId": { - "description": "The identifier for the public key that verifies this signature.\n * The `public_key_id` is required.\n * The `public_key_id` MUST be an RFC3986 conformant URI.\n * When possible, the `public_key_id` SHOULD be an immutable reference,\n such as a cryptographic digest.\n\nExamples of valid `public_key_id`s:\n\nOpenPGP V4 public key fingerprint:\n * \"openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA\"\nSee https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more\ndetails on this scheme.\n\nRFC6920 digest-named SubjectPublicKeyInfo (digest of the DER\nserialization):\n * \"ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU\"\n * \"nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5\"", + "description": "The identifier for the public key that verifies this signature.\n * The `public_key_id` is required.\n * The `public_key_id` SHOULD be an RFC3986 conformant URI.\n * When possible, the `public_key_id` SHOULD be an immutable reference,\n such as a cryptographic digest.\n\nExamples of valid `public_key_id`s:\n\nOpenPGP V4 public key fingerprint:\n * \"openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA\"\nSee https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more\ndetails on this scheme.\n\nRFC6920 digest-named SubjectPublicKeyInfo (digest of the DER\nserialization):\n * \"ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU\"\n * \"nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5\"", "type": "string" }, "signature": { @@ -2571,6 +2754,29 @@ }, "type": "object" }, + "SigningKey": { + "description": "This defines the format used to record keys used in the software supply\nchain. An in-toto link is attested using one or more keys defined in the\nin-toto layout. An example of this is:\n{\n \"key_id\": \"776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...\",\n \"key_type\": \"rsa\",\n \"public_key_value\": \"-----BEGIN PUBLIC KEY-----\\nMIIBojANBgkqhkiG9w0B...\",\n \"key_scheme\": \"rsassa-pss-sha256\"\n}\nThe format for in-toto's key definition can be found in section 4.2 of the\nin-toto specification.", + "id": "SigningKey", + "properties": { + "keyId": { + "description": "key_id is an identifier for the signing key.", + "type": "string" + }, + "keyScheme": { + "description": "This field contains the corresponding signature scheme.\nEg: \"rsassa-pss-sha256\".", + "type": "string" + }, + "keyType": { + "description": "This field identifies the specific signing method. Eg: \"rsa\", \"ed25519\",\nand \"ecdsa\".", + "type": "string" + }, + "publicKeyValue": { + "description": "This field contains the actual public key.", + "type": "string" + } + }, + "type": "object" + }, "Source": { "description": "Source describes the location of the source used for the build.", "id": "Source", diff --git a/etc/api/content/v2.1/content-api.json b/etc/api/content/v2.1/content-api.json index 6d0f556994..21573c730e 100644 --- a/etc/api/content/v2.1/content-api.json +++ b/etc/api/content/v2.1/content-api.json @@ -15,7 +15,7 @@ "description": "Manages product items, inventory, and Merchant Center accounts for Google Shopping.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/shopping-content", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/pi47vgUi-Eitkw75ys-eFAGn43o\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/mM9QQ9Q-yi6Xw-ieynL_CsfCUJ8\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -103,14 +103,14 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, "type": "string" }, "overwrite": { - "description": "Only available to selected merchants. When set to True, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account.", + "description": "Only available to selected merchants. When set to `True`, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account.", "location": "query", "type": "boolean" } @@ -190,7 +190,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -249,7 +249,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -325,7 +325,7 @@ "type": "integer" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -346,7 +346,7 @@ ] }, "update": { - "description": "Updates a Merchant Center account.", + "description": "Updates a Merchant Center account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.accounts.update", "parameterOrder": [ @@ -362,7 +362,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -422,7 +422,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -514,7 +514,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -565,7 +565,7 @@ ] }, "update": { - "description": "Updates the tax settings of the account.", + "description": "Updates the tax settings of the account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.accounttax.update", "parameterOrder": [ @@ -581,7 +581,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -774,7 +774,7 @@ ] }, "update": { - "description": "Updates a datafeed configuration of your Merchant Center account.", + "description": "Updates a datafeed configuration of your Merchant Center account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.datafeeds.update", "parameterOrder": [ @@ -940,7 +940,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -972,7 +972,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1058,7 +1058,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1097,7 +1097,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1157,7 +1157,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1196,7 +1196,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1223,7 +1223,7 @@ ] }, "update": { - "description": "Updates the LIA settings of the account.", + "description": "Updates the LIA settings of the account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.liasettings.update", "parameterOrder": [ @@ -1239,7 +1239,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1349,7 +1349,7 @@ ] }, "createrefundinvoice": { - "description": "Creates a refund invoice for one or more shipment groups, and triggers a refund for orderinvoice enabled orders. This can only be used for line items that have previously been charged using createChargeInvoice. All amounts (except for the summary) are incremental with respect to the previous invoice.", + "description": "Creates a refund invoice for one or more shipment groups, and triggers a refund for orderinvoice enabled orders. This can only be used for line items that have previously been charged using `createChargeInvoice`. All amounts (except for the summary) are incremental with respect to the previous invoice.", "httpMethod": "POST", "id": "content.orderinvoices.createrefundinvoice", "parameterOrder": [ @@ -1491,6 +1491,40 @@ }, "orderreturns": { "methods": { + "acknowledge": { + "description": "Acks an order return in your Merchant Center account.", + "httpMethod": "POST", + "id": "content.orderreturns.acknowledge", + "parameterOrder": [ + "merchantId", + "returnId" + ], + "parameters": { + "merchantId": { + "description": "The ID of the account that manages the order. This cannot be a multi-client account.", + "format": "uint64", + "location": "path", + "required": true, + "type": "string" + }, + "returnId": { + "description": "The ID of the return.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/orderreturns/{returnId}/acknowledge", + "request": { + "$ref": "OrderreturnsAcknowledgeRequest" + }, + "response": { + "$ref": "OrderreturnsAcknowledgeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, "get": { "description": "Retrieves an order return from your Merchant Center account.", "httpMethod": "GET", @@ -1530,6 +1564,11 @@ "merchantId" ], "parameters": { + "acknowledged": { + "description": "Obtains order returns that match the acknowledgement status. When set to true, obtains order returns that have been acknowledged. When false, obtains order returns that have not been acknowledged. When not provided, obtains order returns regardless of their acknowledgement status.\nWe recommend using this filter set to `false`, in conjunction with the `acknowledge` call, such that only un-acknowledged order returns are returned.", + "location": "query", + "type": "boolean" + }, "createdEndDate": { "description": "Obtains order returns created before this date (inclusively), in ISO 8601 format.", "location": "query", @@ -1540,6 +1579,12 @@ "location": "query", "type": "string" }, + "googleOrderIds": { + "description": "Obtains order returns with the specified order ids. If this parameter is provided, createdStartDate, createdEndDate, shipmentType, shipmentStatus, shipmentState and acknowledged parameters must be not set.\nNote: if googleOrderId and shipmentTrackingNumber parameters are provided, the obtained results will include all order returns that either match the specified order id or the specified tracking number.", + "location": "query", + "repeated": true, + "type": "string" + }, "maxResults": { "description": "The maximum number of order returns to return in the response, used for paging. The default value is 25 returns per page, and the maximum allowed value is 250 returns per page.", "format": "uint32", @@ -1570,6 +1615,62 @@ "description": "The token returned by the previous request.", "location": "query", "type": "string" + }, + "shipmentStates": { + "description": "Obtains order returns that match any shipment state provided in this parameter. When this parameter is not provided, order returns are obtained regardless of their shipment states.", + "enum": [ + "completed", + "new", + "shipped", + "undeliverable" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "shipmentStatus": { + "description": "Obtains order returns that match any shipment status provided in this parameter. When this parameter is not provided, order returns are obtained regardless of their shipment statuses.", + "enum": [ + "inProgress", + "new", + "processed" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "shipmentTrackingNumbers": { + "description": "Obtains order returns with the specified tracking numbers. If this parameter is provided, createdStartDate, createdEndDate, shipmentType, shipmentStatus, shipmentState and acknowledged parameters must be not set.\nNote: if googleOrderId and shipmentTrackingNumber parameters are provided, the obtained results will include all order returns that either match the specified order id or the specified tracking number.", + "location": "query", + "repeated": true, + "type": "string" + }, + "shipmentTypes": { + "description": "Obtains order returns that match any shipment type provided in this parameter. When this parameter is not provided, order returns are obtained regardless of their shipment types.", + "enum": [ + "byMail", + "contactCustomerSupport", + "returnless" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "location": "query", + "repeated": true, + "type": "string" } }, "path": "{merchantId}/orderreturns", @@ -1579,6 +1680,40 @@ "scopes": [ "https://www.googleapis.com/auth/content" ] + }, + "process": { + "description": "Processes return in your Merchant Center account.", + "httpMethod": "POST", + "id": "content.orderreturns.process", + "parameterOrder": [ + "merchantId", + "returnId" + ], + "parameters": { + "merchantId": { + "description": "The ID of the account that manages the order. This cannot be a multi-client account.", + "format": "uint64", + "location": "path", + "required": true, + "type": "string" + }, + "returnId": { + "description": "The ID of the return.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/orderreturns/{returnId}/process", + "request": { + "$ref": "OrderreturnsProcessRequest" + }, + "response": { + "$ref": "OrderreturnsProcessResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] } } }, @@ -1619,7 +1754,7 @@ ] }, "advancetestorder": { - "description": "Sandbox only. Moves a test order from state \"inProgress\" to state \"pendingShipment\".", + "description": "Sandbox only. Moves a test order from state \"`inProgress`\" to state \"`pendingShipment`\".", "httpMethod": "POST", "id": "content.orders.advancetestorder", "parameterOrder": [ @@ -1884,7 +2019,7 @@ ], "parameters": { "country": { - "description": "The country of the template to retrieve. Defaults to US.", + "description": "The country of the template to retrieve. Defaults to `US`.", "location": "query", "type": "string" }, @@ -1902,13 +2037,15 @@ "template1a", "template1b", "template2", - "template3" + "template3", + "template4" ], "enumDescriptions": [ "", "", "", "", + "", "" ], "location": "path", @@ -1967,7 +2104,7 @@ ], "parameters": { "acknowledged": { - "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.", + "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", "type": "boolean" }, @@ -2005,7 +2142,7 @@ "type": "string" }, "statuses": { - "description": "Obtains orders that match any of the specified statuses. Please note that active is a shortcut for pendingShipment and partiallyShipped, and completed is a shortcut for shipped, partiallyDelivered, delivered, partiallyReturned, returned, and canceled.", + "description": "Obtains orders that match any of the specified statuses. 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", @@ -2045,6 +2182,74 @@ "https://www.googleapis.com/auth/content" ] }, + "refunditem": { + "description": "Issues a partial or total refund for items and shipment.", + "httpMethod": "POST", + "id": "content.orders.refunditem", + "parameterOrder": [ + "merchantId", + "orderId" + ], + "parameters": { + "merchantId": { + "description": "The ID of the account that manages the order. This cannot be a multi-client account.", + "format": "uint64", + "location": "path", + "required": true, + "type": "string" + }, + "orderId": { + "description": "The ID of the order to refund.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/orders/{orderId}/refunditem", + "request": { + "$ref": "OrdersRefundItemRequest" + }, + "response": { + "$ref": "OrdersRefundItemResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "refundorder": { + "description": "Issues a partial or total refund for an order.", + "httpMethod": "POST", + "id": "content.orders.refundorder", + "parameterOrder": [ + "merchantId", + "orderId" + ], + "parameters": { + "merchantId": { + "description": "The ID of the account that manages the order. This cannot be a multi-client account.", + "format": "uint64", + "location": "path", + "required": true, + "type": "string" + }, + "orderId": { + "description": "The ID of the order to refund.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/orders/{orderId}/refundorder", + "request": { + "$ref": "OrdersRefundOrderRequest" + }, + "response": { + "$ref": "OrdersRefundOrderResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, "rejectreturnlineitem": { "description": "Rejects return on an line item.", "httpMethod": "POST", @@ -2080,7 +2285,7 @@ ] }, "returnrefundlineitem": { - "description": "Returns and refunds a line item. Note that this method can only be called on fully shipped orders.", + "description": "Returns and refunds a line item. Note that this method can only be called on fully shipped orders. Please also note that the Orderreturns API is the preferred way to handle returns after you receive a return from a customer. You can use Orderreturns.list or Orderreturns.get to search for the return, and then use Orderreturns.processreturn to issue the refund. If the return cannot be found, then we recommend using this API to issue a refund.", "httpMethod": "POST", "id": "content.orders.returnrefundlineitem", "parameterOrder": [ @@ -3147,6 +3352,138 @@ } } }, + "settlementreports": { + "methods": { + "get": { + "description": "Retrieves a settlement report from your Merchant Center account.", + "httpMethod": "GET", + "id": "content.settlementreports.get", + "parameterOrder": [ + "merchantId", + "settlementId" + ], + "parameters": { + "merchantId": { + "description": "The Merchant Center account of the settlement report.", + "format": "uint64", + "location": "path", + "required": true, + "type": "string" + }, + "settlementId": { + "description": "The Google-provided ID of the settlement.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/settlementreports/{settlementId}", + "response": { + "$ref": "SettlementReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Retrieves a list of settlement reports from your Merchant Center account.", + "httpMethod": "GET", + "id": "content.settlementreports.list", + "parameterOrder": [ + "merchantId" + ], + "parameters": { + "maxResults": { + "description": "The maximum number of settlements to return in the response, used for paging. The default value is 200 returns per page, and the maximum allowed value is 5000 returns per page.", + "format": "uint32", + "location": "query", + "type": "integer" + }, + "merchantId": { + "description": "The Merchant Center account to list settlements for.", + "format": "uint64", + "location": "path", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "The token returned by the previous request.", + "location": "query", + "type": "string" + }, + "transferEndDate": { + "description": "Obtains settlements which have transactions before this date (inclusively), in ISO 8601 format.", + "location": "query", + "type": "string" + }, + "transferStartDate": { + "description": "Obtains settlements which have transactions after this date (inclusively), in ISO 8601 format.", + "location": "query", + "type": "string" + } + }, + "path": "{merchantId}/settlementreports", + "response": { + "$ref": "SettlementreportsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "settlementtransactions": { + "methods": { + "list": { + "description": "Retrieves a list of transactions for the settlement.", + "httpMethod": "GET", + "id": "content.settlementtransactions.list", + "parameterOrder": [ + "merchantId", + "settlementId" + ], + "parameters": { + "maxResults": { + "description": "The maximum number of transactions to return in the response, used for paging. The default value is 200 transactions per page, and the maximum allowed value is 5000 transactions per page.", + "format": "uint32", + "location": "query", + "type": "integer" + }, + "merchantId": { + "description": "The Merchant Center account to list transactions for.", + "format": "uint64", + "location": "path", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "The token returned by the previous request.", + "location": "query", + "type": "string" + }, + "settlementId": { + "description": "The Google-provided ID of the settlement.", + "location": "path", + "required": true, + "type": "string" + }, + "transactionIds": { + "description": "The list of transactions to return. If not set, all transactions will be returned.", + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "{merchantId}/settlementreports/{settlementId}/transactions", + "response": { + "$ref": "SettlementtransactionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, "shippingsettings": { "methods": { "custombatch": { @@ -3181,7 +3518,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -3304,7 +3641,7 @@ ] }, "update": { - "description": "Updates the shipping settings of the account.", + "description": "Updates the shipping settings of the account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.shippingsettings.update", "parameterOrder": [ @@ -3320,7 +3657,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -3341,7 +3678,7 @@ } } }, - "revision": "20200310", + "revision": "20200617", "rootUrl": "https://www.googleapis.com/", "schemas": { "Account": { @@ -3349,7 +3686,7 @@ "id": "Account", "properties": { "adsLinks": { - "description": "List of linked Ads accounts that are active or pending approval. To create a new link request, add a new link with status active to the list. It will remain in a pending state until approved or rejected either in the Ads interface or through the AdWords API. To delete an active link, or to cancel a link request, remove it from the list.", + "description": "List of linked Ads accounts that are active or pending approval. To create a new link request, add a new link with status `active` to the list. It will remain in a `pending` state until approved or rejected either in the Ads interface or through the AdWords API. To delete an active link, or to cancel a link request, remove it from the list.", "items": { "$ref": "AccountAdsLink" }, @@ -3379,7 +3716,7 @@ }, "kind": { "default": "content#account", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#account\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#account`\"", "type": "string" }, "name": { @@ -3408,7 +3745,7 @@ "type": "string" }, "youtubeChannelLinks": { - "description": "List of linked YouTube channels that are active or pending approval. To create a new link request, add a new link with status active to the list. It will remain in a pending state until approved or rejected in the YT Creator Studio interface. To delete an active link, or to cancel a link request, remove it from the list.", + "description": "List of linked YouTube channels that are active or pending approval. To create a new link request, add a new link with status `active` to the list. It will remain in a `pending` state until approved or rejected in the YT Creator Studio interface. To delete an active link, or to cancel a link request, remove it from the list.", "items": { "$ref": "AccountYouTubeChannelLink" }, @@ -3452,7 +3789,7 @@ "type": "string" }, "status": { - "description": "Status of the link between this Merchant Center account and the Ads account. Upon retrieval, it represents the actual status of the link and can be either active if it was approved in Google Ads or pending if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status active when it's still pending or with status pending when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status inactive is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.\n\nAcceptable values are: \n- \"active\" \n- \"pending\"", + "description": "Status of the link between this Merchant Center account and the Ads account. Upon retrieval, it represents the actual status of the link and can be either `active` if it was approved in Google Ads or `pending` if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status `active` when it's still pending or with status `pending` when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status `inactive` is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.\n\nAcceptable values are: \n- \"`active`\" \n- \"`pending`\"", "type": "string" } }, @@ -3497,12 +3834,16 @@ "AccountGoogleMyBusinessLink": { "id": "AccountGoogleMyBusinessLink", "properties": { + "gmbAccountId": { + "description": "The ID of the GMB account. If this is provided, then `gmbEmail` is ignored. The value of this field should match the `accountId` used by the GMB API.", + "type": "string" + }, "gmbEmail": { "description": "The GMB email address of which a specific account within a GMB account. A sample account within a GMB account could be a business account with set of locations, managed under the GMB account.", "type": "string" }, "status": { - "description": "Status of the link between this Merchant Center account and the GMB account.\n\nAcceptable values are: \n- \"active\" \n- \"pending\"", + "description": "Status of the link between this Merchant Center account and the GMB account.\n\nAcceptable values are: \n- \"`active`\" \n- \"`pending`\"", "type": "string" } }, @@ -3541,7 +3882,7 @@ }, "kind": { "default": "content#accountStatus", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountStatus\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountStatus`\"", "type": "string" }, "products": { @@ -3582,7 +3923,7 @@ "type": "string" }, "severity": { - "description": "Severity of the issue.\n\nAcceptable values are: \n- \"critical\" \n- \"error\" \n- \"suggestion\"", + "description": "Severity of the issue.\n\nAcceptable values are: \n- \"`critical`\" \n- \"`error`\" \n- \"`suggestion`\"", "type": "string" }, "title": { @@ -3635,7 +3976,7 @@ "id": "AccountStatusProducts", "properties": { "channel": { - "description": "The channel the data applies to.\n\nAcceptable values are: \n- \"local\" \n- \"online\"", + "description": "The channel the data applies to.\n\nAcceptable values are: \n- \"`local`\" \n- \"`online`\"", "type": "string" }, "country": { @@ -3782,7 +4123,7 @@ "type": "string" }, "status": { - "description": "Status of the link between this Merchant Center account and the YouTube channel. Upon retrieval, it represents the actual status of the link and can be either active if it was approved in YT Creator Studio or pending if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status active when it's still pending or with status pending when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status inactive is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.", + "description": "Status of the link between this Merchant Center account and the YouTube channel. Upon retrieval, it represents the actual status of the link and can be either `active` if it was approved in YT Creator Studio or `pending` if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status `active` when it's still pending or with status `pending` when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status `inactive` is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.", "type": "string" } }, @@ -3836,10 +4177,10 @@ "properties": { "account": { "$ref": "Account", - "description": "The account to create or update. Only defined if the method is insert or update." + "description": "The account to create or update. Only defined if the method is `insert` or `update`." }, "accountId": { - "description": "The ID of the targeted account. Only defined if the method is not insert.", + "description": "The ID of the targeted account. Only defined if the method is not `insert`.", "format": "uint64", "type": "string" }, @@ -3849,12 +4190,12 @@ "type": "integer" }, "force": { - "description": "Whether the account should be deleted if the account has offers. Only applicable if the method is delete.", + "description": "Whether the account should be deleted if the account has offers. Only applicable if the method is `delete`.", "type": "boolean" }, "linkRequest": { "$ref": "AccountsCustomBatchRequestEntryLinkRequest", - "description": "Details about the link request." + "description": "Details about the `link` request." }, "merchantId": { "description": "The ID of the managing account.", @@ -3862,11 +4203,11 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"claimWebsite\" \n- \"delete\" \n- \"get\" \n- \"insert\" \n- \"link\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`claimWebsite`\" \n- \"`delete`\" \n- \"`get`\" \n- \"`insert`\" \n- \"`link`\" \n- \"`update`\"", "type": "string" }, "overwrite": { - "description": "Only applicable if the method is claimwebsite. Indicates whether or not to take the claim from another account in case there is a conflict.", + "description": "Only applicable if the method is `claimwebsite`. Indicates whether or not to take the claim from another account in case there is a conflict.", "type": "boolean" } }, @@ -3876,11 +4217,11 @@ "id": "AccountsCustomBatchRequestEntryLinkRequest", "properties": { "action": { - "description": "Action to perform for this link. The \"request\" action is only available to select merchants.\n\nAcceptable values are: \n- \"approve\" \n- \"remove\" \n- \"request\"", + "description": "Action to perform for this link. The `\"request\"` action is only available to select merchants.\n\nAcceptable values are: \n- \"`approve`\" \n- \"`remove`\" \n- \"`request`\"", "type": "string" }, "linkType": { - "description": "Type of the link between the two accounts.\n\nAcceptable values are: \n- \"channelPartner\" \n- \"eCommercePlatform\"", + "description": "Type of the link between the two accounts.\n\nAcceptable values are: \n- \"`channelPartner`\" \n- \"`eCommercePlatform`\"", "type": "string" }, "linkedAccountId": { @@ -3921,7 +4262,7 @@ "properties": { "account": { "$ref": "Account", - "description": "The retrieved, created, or updated account. Not defined if the method was delete, claimwebsite or link." + "description": "The retrieved, created, or updated account. Not defined if the method was `delete`, `claimwebsite` or `link`." }, "batchId": { "description": "The ID of the request entry this entry responds to.", @@ -3934,7 +4275,7 @@ }, "kind": { "default": "content#accountsCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsCustomBatchResponseEntry`\"", "type": "string" } }, @@ -3944,11 +4285,11 @@ "id": "AccountsLinkRequest", "properties": { "action": { - "description": "Action to perform for this link. The \"request\" action is only available to select merchants.\n\nAcceptable values are: \n- \"approve\" \n- \"remove\" \n- \"request\"", + "description": "Action to perform for this link. The `\"request\"` action is only available to select merchants.\n\nAcceptable values are: \n- \"`approve`\" \n- \"`remove`\" \n- \"`request`\"", "type": "string" }, "linkType": { - "description": "Type of the link between the two accounts.\n\nAcceptable values are: \n- \"channelPartner\" \n- \"eCommercePlatform\"", + "description": "Type of the link between the two accounts.\n\nAcceptable values are: \n- \"`channelPartner`\" \n- \"`eCommercePlatform`\"", "type": "string" }, "linkedAccountId": { @@ -4059,7 +4400,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\"", "type": "string" } }, @@ -4148,7 +4489,7 @@ }, "accountTax": { "$ref": "AccountTax", - "description": "The account tax settings to update. Only defined if the method is update." + "description": "The account tax settings to update. Only defined if the method is `update`." }, "batchId": { "description": "An entry ID, unique within the batch request.", @@ -4161,7 +4502,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\" \n- \"`update`\"", "type": "string" } }, @@ -4204,7 +4545,7 @@ }, "kind": { "default": "content#accounttaxCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accounttaxCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accounttaxCustomBatchResponseEntry`\"", "type": "string" } }, @@ -4262,16 +4603,16 @@ "id": "CarrierRate", "properties": { "carrierName": { - "description": "Carrier service, such as \"UPS\" or \"Fedex\". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.", + "description": "Carrier service, such as `\"UPS\"` or `\"Fedex\"`. The list of supported carriers can be retrieved via the `getSupportedCarriers` method. Required.", "type": "string" }, "carrierService": { - "description": "Carrier service, such as \"ground\" or \"2 days\". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.", + "description": "Carrier service, such as `\"ground\"` or `\"2 days\"`. The list of supported services for a carrier can be retrieved via the `getSupportedCarriers` method. Required.", "type": "string" }, "flatAdjustment": { "$ref": "Price", - "description": "Additive shipping rate modifier. Can be negative. For example { \"value\": \"1\", \"currency\" : \"USD\" } adds $1 to the rate, { \"value\": \"-3\", \"currency\" : \"USD\" } removes $3 from the rate. Optional." + "description": "Additive shipping rate modifier. Can be negative. For example `{ \"value\": \"1\", \"currency\" : \"USD\" }` adds $1 to the rate, `{ \"value\": \"-3\", \"currency\" : \"USD\" }` removes $3 from the rate. Optional." }, "name": { "description": "Name of the carrier rate. Must be unique per rate group. Required.", @@ -4282,7 +4623,7 @@ "type": "string" }, "percentageAdjustment": { - "description": "Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example \"5.4\" increases the rate by 5.4%, \"-3\" decreases the rate by 3%. Optional.", + "description": "Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example `\"5.4\"` increases the rate by 5.4%, `\"-3\"` decreases the rate by 3%. Optional.", "type": "string" } }, @@ -4296,11 +4637,11 @@ "type": "string" }, "name": { - "description": "The name of the carrier (e.g., \"UPS\"). Always present.", + "description": "The name of the carrier (e.g., `\"UPS\"`). Always present.", "type": "string" }, "services": { - "description": "A list of supported services (e.g., \"ground\") for that carrier. Contains at least one service.", + "description": "A list of supported services (e.g., `\"ground\"`) for that carrier. Contains at least one service.", "items": { "type": "string" }, @@ -4338,7 +4679,7 @@ "type": "string" }, "reasonCode": { - "description": "Code of the return reason.\n\nAcceptable values are: \n- \"betterPriceFound\" \n- \"changedMind\" \n- \"damagedOrDefectiveItem\" \n- \"didNotMatchDescription\" \n- \"doesNotFit\" \n- \"expiredItem\" \n- \"incorrectItemReceived\" \n- \"noLongerNeeded\" \n- \"notSpecified\" \n- \"orderedWrongItem\" \n- \"other\" \n- \"qualityNotExpected\" \n- \"receivedTooLate\" \n- \"undeliverable\"", + "description": "Code of the return reason.\n\nAcceptable values are: \n- \"`betterPriceFound`\" \n- \"`changedMind`\" \n- \"`damagedOrDefectiveItem`\" \n- \"`didNotMatchDescription`\" \n- \"`doesNotFit`\" \n- \"`expiredItem`\" \n- \"`incorrectItemReceived`\" \n- \"`noLongerNeeded`\" \n- \"`notSpecified`\" \n- \"`orderedWrongItem`\" \n- \"`other`\" \n- \"`qualityNotExpected`\" \n- \"`receivedTooLate`\" \n- \"`undeliverable`\"", "type": "string" } }, @@ -4379,7 +4720,7 @@ "content.datafeeds.update" ] }, - "description": "Required. The type of data feed. For product inventory feeds, only feeds for local stores, not online stores, are supported.\n\nAcceptable values are: \n- \"local products\" \n- \"product inventory\" \n- \"products\"", + "description": "Required. The type of data feed. For product inventory feeds, only feeds for local stores, not online stores, are supported.\n\nAcceptable values are: \n- \"`local products`\" \n- \"`product inventory`\" \n- \"`products`\"", "type": "string" }, "fetchSchedule": { @@ -4412,7 +4753,7 @@ }, "kind": { "default": "content#datafeed", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeed\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeed`\"", "type": "string" }, "name": { @@ -4474,7 +4815,7 @@ "type": "string" }, "weekday": { - "description": "The day of the week the feed file should be fetched.\n\nAcceptable values are: \n- \"monday\" \n- \"tuesday\" \n- \"wednesday\" \n- \"thursday\" \n- \"friday\" \n- \"saturday\" \n- \"sunday\"", + "description": "The day of the week the feed file should be fetched.\n\nAcceptable values are: \n- \"`monday`\" \n- \"`tuesday`\" \n- \"`wednesday`\" \n- \"`thursday`\" \n- \"`friday`\" \n- \"`saturday`\" \n- \"`sunday`\"", "type": "string" } }, @@ -4484,15 +4825,15 @@ "id": "DatafeedFormat", "properties": { "columnDelimiter": { - "description": "Delimiter for the separation of values in a delimiter-separated values feed. If not specified, the delimiter will be auto-detected. Ignored for non-DSV data feeds.\n\nAcceptable values are: \n- \"pipe\" \n- \"tab\" \n- \"tilde\"", + "description": "Delimiter for the separation of values in a delimiter-separated values feed. If not specified, the delimiter will be auto-detected. Ignored for non-DSV data feeds.\n\nAcceptable values are: \n- \"`pipe`\" \n- \"`tab`\" \n- \"`tilde`\"", "type": "string" }, "fileEncoding": { - "description": "Character encoding scheme of the data feed. If not specified, the encoding will be auto-detected.\n\nAcceptable values are: \n- \"latin-1\" \n- \"utf-16be\" \n- \"utf-16le\" \n- \"utf-8\" \n- \"windows-1252\"", + "description": "Character encoding scheme of the data feed. If not specified, the encoding will be auto-detected.\n\nAcceptable values are: \n- \"`latin-1`\" \n- \"`utf-16be`\" \n- \"`utf-16le`\" \n- \"`utf-8`\" \n- \"`windows-1252`\"", "type": "string" }, "quotingMode": { - "description": "Specifies how double quotes are interpreted. If not specified, the mode will be auto-detected. Ignored for non-DSV data feeds.\n\nAcceptable values are: \n- \"normal character\" \n- \"value quoting\"", + "description": "Specifies how double quotes are interpreted. If not specified, the mode will be auto-detected. Ignored for non-DSV data feeds.\n\nAcceptable values are: \n- \"`normal character`\" \n- \"`value quoting`\"", "type": "string" } }, @@ -4530,7 +4871,7 @@ }, "kind": { "default": "content#datafeedStatus", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedStatus\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedStatus`\"", "type": "string" }, "language": { @@ -4542,7 +4883,7 @@ "type": "string" }, "processingStatus": { - "description": "The processing status of the feed.\n\nAcceptable values are: \n- \"\"failure\": The feed could not be processed or all items had errors.\" \n- \"in progress\": The feed is being processed. \n- \"none\": The feed has not yet been processed. For example, a feed that has never been uploaded will have this processing status. \n- \"success\": The feed was processed successfully, though some items might have had errors.", + "description": "The processing status of the feed.\n\nAcceptable values are: \n- \"`\"`failure`\": The feed could not be processed or all items had errors.`\" \n- \"`in progress`\": The feed is being processed. \n- \"`none`\": The feed has not yet been processed. For example, a feed that has never been uploaded will have this processing status. \n- \"`success`\": The feed was processed successfully, though some items might have had errors.", "type": "string" }, "warnings": { @@ -4617,14 +4958,14 @@ "type": "array" }, "includedDestinations": { - "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.\n\nList of supported destinations (if available to the account): \n- DisplayAds \n- Shopping \n- ShoppingActions \n- SurfacesAcrossGoogle", + "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.\n\nList of supported destinations (if available to the account): \n- DisplayAds \n- Shopping \n- ShoppingActions \n- SurfacesAcrossGoogle", "items": { "type": "string" }, "type": "array" }, "language": { - "description": "The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for targets[].country.", + "description": "The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for `targets[].country`.", "type": "string" } }, @@ -4667,7 +5008,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"delete\" \n- \"fetchNow\" \n- \"get\" \n- \"insert\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`delete`\" \n- \"`fetchNow`\" \n- \"`get`\" \n- \"`insert`\" \n- \"`update`\"", "type": "string" } }, @@ -4784,7 +5125,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\"", "type": "string" } }, @@ -4868,12 +5209,12 @@ "type": "array" }, "maxHandlingTimeInDays": { - "description": "Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.", + "description": "Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to `minHandlingTimeInDays`.", "format": "uint32", "type": "integer" }, "maxTransitTimeInDays": { - "description": "Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.", + "description": "Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to `minTransitTimeInDays`.", "format": "uint32", "type": "integer" }, @@ -4883,7 +5224,7 @@ "type": "integer" }, "minTransitTimeInDays": { - "description": "Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}TransitTimeInDays or transitTimeTable must be set, but not both.", + "description": "Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either `{min,max}TransitTimeInDays` or `transitTimeTable` must be set, but not both.", "format": "uint32", "type": "integer" }, @@ -4893,7 +5234,7 @@ }, "transitTimeTable": { "$ref": "TransitTable", - "description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}TransitTimeInDays or transitTimeTable can be set, but not both." + "description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either `{min,max}TransitTimeInDays` or `transitTimeTable` can be set, but not both." } }, "type": "object" @@ -4922,7 +5263,7 @@ "id": "Errors", "properties": { "code": { - "description": "The HTTP status of the first error in errors.", + "description": "The HTTP status of the first error in `errors`.", "format": "uint32", "type": "integer" }, @@ -4934,7 +5275,7 @@ "type": "array" }, "message": { - "description": "The message of the first error in errors.", + "description": "The message of the first error in `errors`.", "type": "string" } }, @@ -4944,7 +5285,7 @@ "id": "GmbAccounts", "properties": { "accountId": { - "description": "The ID of the account.", + "description": "The ID of the Merchant Center account.", "format": "uint64", "type": "string" }, @@ -4982,7 +5323,7 @@ "type": "object" }, "Headers": { - "description": "A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set.", + "description": "A non-empty list of row or column headers for a table. Exactly one of `prices`, `weights`, `numItems`, `postalCodeGroupNames`, or `location` must be set.", "id": "Headers", "properties": { "locations": { @@ -4993,28 +5334,28 @@ "type": "array" }, "numberOfItems": { - "description": "A list of inclusive number of items upper bounds. The last value can be \"infinity\". For example [\"10\", \"50\", \"infinity\"] represents the headers \"<= 10 items\", \" 50 items\". Must be non-empty. Can only be set if all other fields are not set.", + "description": "A list of inclusive number of items upper bounds. The last value can be `\"infinity\"`. For example `[\"10\", \"50\", \"infinity\"]` represents the headers \"<= 10 items\", \" 50 items\". Must be non-empty. Can only be set if all other fields are not set.", "items": { "type": "string" }, "type": "array" }, "postalCodeGroupNames": { - "description": "A list of postal group names. The last value can be \"all other locations\". Example: [\"zone 1\", \"zone 2\", \"all other locations\"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.", + "description": "A list of postal group names. The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.", "items": { "type": "string" }, "type": "array" }, "prices": { - "description": "A list of inclusive order price upper bounds. The last price's value can be \"infinity\". For example [{\"value\": \"10\", \"currency\": \"USD\"}, {\"value\": \"500\", \"currency\": \"USD\"}, {\"value\": \"infinity\", \"currency\": \"USD\"}] represents the headers \"<= $10\", \" $500\". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.", + "description": "A list of inclusive order price upper bounds. The last price's value can be `\"infinity\"`. For example `[{\"value\": \"10\", \"currency\": \"USD\"}, {\"value\": \"500\", \"currency\": \"USD\"}, {\"value\": \"infinity\", \"currency\": \"USD\"}]` represents the headers \"<= $10\", \" $500\". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.", "items": { "$ref": "Price" }, "type": "array" }, "weights": { - "description": "A list of inclusive order weight upper bounds. The last weight's value can be \"infinity\". For example [{\"value\": \"10\", \"unit\": \"kg\"}, {\"value\": \"50\", \"unit\": \"kg\"}, {\"value\": \"infinity\", \"unit\": \"kg\"}] represents the headers \"<= 10kg\", \" 50kg\". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.", + "description": "A list of inclusive order weight upper bounds. The last weight's value can be `\"infinity\"`. For example `[{\"value\": \"10\", \"unit\": \"kg\"}, {\"value\": \"50\", \"unit\": \"kg\"}, {\"value\": \"infinity\", \"unit\": \"kg\"}]` represents the headers \"<= 10kg\", \" 50kg\". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.", "items": { "$ref": "Weight" }, @@ -5075,7 +5416,7 @@ "type": "string" }, "type": { - "description": "The holiday type. Always present.\n\nAcceptable values are: \n- \"Christmas\" \n- \"Easter\" \n- \"Father's Day\" \n- \"Halloween\" \n- \"Independence Day (USA)\" \n- \"Mother's Day\" \n- \"Thanksgiving\" \n- \"Valentine's Day\"", + "description": "The holiday type. Always present.\n\nAcceptable values are: \n- \"`Christmas`\" \n- \"`Easter`\" \n- \"`Father's Day`\" \n- \"`Halloween`\" \n- \"`Independence Day (USA)`\" \n- \"`Mother's Day`\" \n- \"`Thanksgiving`\" \n- \"`Valentine's Day`\"", "type": "string" } }, @@ -5121,7 +5462,7 @@ "description": "[required] Total additional charge for this type." }, "type": { - "description": "[required] Type of the additional charge.\n\nAcceptable values are: \n- \"shipping\"", + "description": "[required] Type of the additional charge.\n\nAcceptable values are: \n- \"`shipping`\"", "type": "string" } }, @@ -5131,7 +5472,7 @@ "id": "LiaAboutPageSettings", "properties": { "status": { - "description": "The status of the verification process for the About page.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "The status of the verification process for the About page.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" }, "url": { @@ -5192,11 +5533,11 @@ "type": "string" }, "inventoryVerificationContactStatus": { - "description": "The status of the verification contact.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "The status of the verification contact.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" }, "status": { - "description": "The status of the inventory verification process.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "The status of the inventory verification process.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" } }, @@ -5210,7 +5551,7 @@ "type": "string" }, "status": { - "description": "The status of the ?On display to order? feature.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "The status of the ?On display to order? feature.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" } }, @@ -5249,7 +5590,7 @@ }, "kind": { "default": "content#liaSettings", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liaSettings\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liaSettings`\"", "type": "string" } }, @@ -5272,7 +5613,7 @@ "id": "LiasettingsCustomBatchRequestEntry", "properties": { "accountId": { - "description": "The ID of the account for which to get/update account shipping settings.", + "description": "The ID of the account for which to get/update account LIA settings.", "format": "uint64", "type": "string" }, @@ -5299,7 +5640,7 @@ }, "liaSettings": { "$ref": "LiaSettings", - "description": "The account Lia settings to update. Only defined if the method is update." + "description": "The account Lia settings to update. Only defined if the method is `update`." }, "merchantId": { "description": "The ID of the managing account.", @@ -5307,7 +5648,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\" \n- \"getAccessibleGmbAccounts\" \n- \"requestGmbAccess\" \n- \"requestInventoryVerification\" \n- \"setInventoryVerificationContact\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\" \n- \"`getAccessibleGmbAccounts`\" \n- \"`requestGmbAccess`\" \n- \"`requestInventoryVerification`\" \n- \"`setInventoryVerificationContact`\" \n- \"`update`\"", "type": "string" }, "posDataProviderId": { @@ -5358,7 +5699,7 @@ }, "kind": { "default": "content#liasettingsCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsCustomBatchResponseEntry`\"", "type": "string" }, "liaSettings": { @@ -5379,7 +5720,7 @@ "id": "LiasettingsGetAccessibleGmbAccountsResponse", "properties": { "accountId": { - "description": "The ID of the account.", + "description": "The ID of the Merchant Center account.", "format": "uint64", "type": "string" }, @@ -5485,11 +5826,11 @@ "id": "LinkService", "properties": { "service": { - "description": "Service provided to or by the linked account.\n\nAcceptable values are: \n- \"shoppingActionsOrderManagement\" \n- \"shoppingActionsProductManagement\" \n- \"shoppingAdsProductManagement\"", + "description": "Service provided to or by the linked account.\n\nAcceptable values are: \n- \"`shoppingActionsOrderManagement`\" \n- \"`shoppingActionsProductManagement`\" \n- \"`shoppingAdsProductManagement`\"", "type": "string" }, "status": { - "description": "Status of the link\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "Status of the link\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" } }, @@ -5526,15 +5867,15 @@ }, "kind": { "default": "content#localInventory", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#localInventory\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#localInventory`\"", "type": "string" }, "pickupMethod": { - "description": "Supported pickup method for this offer. Unless the value is \"not supported\", this field must be submitted together with pickupSla.", + "description": "Supported pickup method for this offer. Unless the value is \"not supported\", this field must be submitted together with `pickupSla`.", "type": "string" }, "pickupSla": { - "description": "Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with pickupMethod.", + "description": "Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`.", "type": "string" }, "price": { @@ -5548,7 +5889,7 @@ }, "salePrice": { "$ref": "Price", - "description": "Sale price of the product. Mandatory if sale_price_effective_date is defined." + "description": "Sale price of the product. Mandatory if `sale_price_effective_date` is defined." }, "salePriceEffectiveDate": { "description": "A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates may be specified as 'null' if undecided.", @@ -5593,7 +5934,7 @@ "type": "string" }, "method": { - "description": "Method of the batch request entry.\n\nAcceptable values are: \n- \"insert\"", + "description": "Method of the batch request entry.\n\nAcceptable values are: \n- \"`insert`\"", "type": "string" }, "productId": { @@ -5636,7 +5977,7 @@ }, "kind": { "default": "content#localinventoryCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#localinventoryCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#localinventoryCustomBatchResponseEntry`\"", "type": "string" } }, @@ -5702,6 +6043,10 @@ }, "type": "array" }, + "returnPricingInfo": { + "$ref": "ReturnPricingInfo", + "description": "Information about shipping costs." + }, "returnShipments": { "description": "Shipments of the return.", "items": { @@ -5723,6 +6068,10 @@ "description": "Product level item ID. If the returned items are of the same product, they will have the same ID.", "type": "string" }, + "merchantRejectionReason": { + "$ref": "MerchantRejectionReason", + "description": "The reason that the merchant chose to reject an item return." + }, "merchantReturnReason": { "$ref": "RefundReason", "description": "The reason that merchant chooses to accept a return item." @@ -5731,6 +6080,14 @@ "$ref": "OrderLineItemProduct", "description": "Product data from the time of the order placement." }, + "refundableAmount": { + "$ref": "MonetaryAmount", + "description": "Maximum amount that can be refunded for this return item." + }, + "returnItemId": { + "description": "Unit level ID for the return item. Different units of the same product will have different IDs.", + "type": "string" + }, "returnShipmentIds": { "description": "IDs of the return shipments that this return item belongs to.", "items": { @@ -5738,21 +6095,94 @@ }, "type": "array" }, + "shipmentGroupId": { + "description": "ID of the original shipment group. Provided for shipments with invoice support.", + "type": "string" + }, + "shipmentUnitId": { + "description": "ID of the shipment unit assigned by the merchant. Provided for shipments with invoice support.", + "type": "string" + }, "state": { - "description": "State of the item.\n\nAcceptable values are: \n- \"canceled\" \n- \"new\" \n- \"received\" \n- \"refunded\" \n- \"rejected\"", + "description": "State of the item.\n\nAcceptable values are: \n- \"`canceled`\" \n- \"`new`\" \n- \"`received`\" \n- \"`refunded`\" \n- \"`rejected`\"", "type": "string" } }, "type": "object" }, + "MerchantRejectionReason": { + "id": "MerchantRejectionReason", + "properties": { + "description": { + "description": "Description of the reason.", + "type": "string" + }, + "reasonCode": { + "description": "Code of the rejection reason.", + "type": "string" + } + }, + "type": "object" + }, + "MinimumOrderValueTable": { + "id": "MinimumOrderValueTable", + "properties": { + "storeCodeSetWithMovs": { + "items": { + "$ref": "MinimumOrderValueTableStoreCodeSetWithMov" + }, + "type": "array" + } + }, + "type": "object" + }, + "MinimumOrderValueTableStoreCodeSetWithMov": { + "description": "A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.", + "id": "MinimumOrderValueTableStoreCodeSetWithMov", + "properties": { + "storeCodes": { + "description": "A list of unique store codes or empty for the catch all.", + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "$ref": "Price", + "description": "The minimum order value for the given stores." + } + }, + "type": "object" + }, + "MonetaryAmount": { + "id": "MonetaryAmount", + "properties": { + "priceAmount": { + "$ref": "Price", + "description": "The pre-tax or post-tax price depends on the location of the order. - For countries (e.g. US) where price attribute excludes tax, this field corresponds to the pre-tax value. - For coutries (e.g. France) where price attribute includes tax, this field corresponds to the post-tax value ." + }, + "taxAmount": { + "$ref": "Price", + "description": "Tax value, present only for countries where price attribute excludes tax (e.g. US). No tax is referenced as 0 value with the corresponding `currency`." + } + }, + "type": "object" + }, "Order": { - "description": "Order. Production access (all methods) requires the order manager role. Sandbox access does not.", + "description": "Order. Production access (all methods) requires the order manager role. Sandbox access does not. (== resource_for v2.orders ==) (== resource_for v2.1.orders ==)", "id": "Order", "properties": { "acknowledged": { "description": "Whether the order was acknowledged.", "type": "boolean" }, + "annotations": { + "description": "List of key-value pairs that are attached to a given order.", + "items": { + "$ref": "OrderOrderAnnotation" + }, + "type": "array" + }, "billingAddress": { "$ref": "OrderAddress", "description": "The billing address." @@ -5763,7 +6193,7 @@ }, "deliveryDetails": { "$ref": "OrderDeliveryDetails", - "description": "Delivery details for shipments of type delivery." + "description": "Delivery details for shipments of type `delivery`." }, "id": { "description": "The REST ID of the order. Globally unique.", @@ -5771,7 +6201,7 @@ }, "kind": { "default": "content#order", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#order\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#order`\"", "type": "string" }, "lineItems": { @@ -5795,22 +6225,22 @@ }, "netTaxAmount": { "$ref": "Price", - "description": "The net amount for the order (tax part). Note that in certain cases due to taxable base adjustment netTaxAmount might not match to a sum of tax field across all lineItems and refunds." + "description": "The net amount for the order (tax part). Note that in certain cases due to taxable base adjustment `netTaxAmount` might not match to a sum of tax field across all lineItems and refunds." }, "paymentStatus": { - "description": "The status of the payment.\n\nAcceptable values are: \n- \"paymentCaptured\" \n- \"paymentRejected\" \n- \"paymentSecured\" \n- \"pendingAuthorization\"", + "description": "The status of the payment.\n\nAcceptable values are: \n- \"`paymentCaptured`\" \n- \"`paymentRejected`\" \n- \"`paymentSecured`\" \n- \"`pendingAuthorization`\"", "type": "string" }, "pickupDetails": { "$ref": "OrderPickupDetails", - "description": "Pickup details for shipments of type pickup." + "description": "Pickup details for shipments of type `pickup`." }, "placedDate": { "description": "The date when the order was placed, in ISO 8601 format.", "type": "string" }, "promotions": { - "description": "Promotions associated with the order.\n\nTo determine which promotions apply to which products, check the Promotions[].appliedItems[].lineItemId field against the LineItems[].id field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId.\n\nExamples: \n- To calculate price paid by the customer for a single line item including the discount: For each promotion, subtract the LineItems[].adjustments[].priceAdjustment.value amount from the LineItems[].Price.value. \n- To calculate price paid by the customer for a single line item including the discount in case of multiple quantity: For each promotion, divide the LineItems[].adjustments[].priceAdjustment.value by the quantity of products then subtract the resulting value from the LineItems[].Product.Price.value for each quantity item. \n\nOnly 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price.\n\nMore details about the program are here.", + "description": "Promotions associated with the order.\n\nTo determine which promotions apply to which products, check the `Promotions[].appliedItems[].lineItemId` field against the `LineItems[].id` field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId.\n\nExamples: \n- To calculate price paid by the customer for a single line item including the discount: For each promotion, subtract the `LineItems[].adjustments[].priceAdjustment.value` amount from the `LineItems[].Price.value`. \n- To calculate price paid by the customer for a single line item including the discount in case of multiple quantity: For each promotion, divide the `LineItems[].adjustments[].priceAdjustment.value` by the quantity of products then subtract the resulting value from the `LineItems[].Product.Price.value` for each quantity item. \n\nOnly 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price.\n\nMore details about the program are here.", "items": { "$ref": "OrderPromotion" }, @@ -5839,11 +6269,11 @@ "description": "The tax for the total shipping cost." }, "status": { - "description": "The status of the order.\n\nAcceptable values are: \n- \"canceled\" \n- \"delivered\" \n- \"inProgress\" \n- \"partiallyDelivered\" \n- \"partiallyReturned\" \n- \"partiallyShipped\" \n- \"pendingShipment\" \n- \"returned\" \n- \"shipped\"", + "description": "The status of the order.\n\nAcceptable values are: \n- \"`canceled`\" \n- \"`delivered`\" \n- \"`inProgress`\" \n- \"`partiallyDelivered`\" \n- \"`partiallyReturned`\" \n- \"`partiallyShipped`\" \n- \"`pendingShipment`\" \n- \"`returned`\" \n- \"`shipped`\"", "type": "string" }, "taxCollector": { - "description": "The party responsible for collecting and remitting taxes.\n\nAcceptable values are: \n- \"marketplaceFacilitator\" \n- \"merchant\"", + "description": "The party responsible for collecting and remitting taxes.\n\nAcceptable values are: \n- \"`marketplaceFacilitator`\" \n- \"`merchant`\"", "type": "string" } }, @@ -5897,7 +6327,7 @@ "id": "OrderCancellation", "properties": { "actor": { - "description": "The actor that created the cancellation.\n\nAcceptable values are: \n- \"customer\" \n- \"googleBot\" \n- \"googleCustomerService\" \n- \"googlePayments\" \n- \"googleSabre\" \n- \"merchant\"", + "description": "The actor that created the cancellation.\n\nAcceptable values are: \n- \"`customer`\" \n- \"`googleBot`\" \n- \"`googleCustomerService`\" \n- \"`googlePayments`\" \n- \"`googleSabre`\" \n- \"`merchant`\"", "type": "string" }, "creationDate": { @@ -5910,7 +6340,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Shopping Actions until you make an update to that product. This will not affect your Shopping ads.\n\nAcceptable values are: \n- \"autoPostInternal\" \n- \"autoPostInvalidBillingAddress\" \n- \"autoPostNoInventory\" \n- \"autoPostPriceError\" \n- \"autoPostUndeliverableShippingAddress\" \n- \"couponAbuse\" \n- \"customerCanceled\" \n- \"customerInitiatedCancel\" \n- \"customerSupportRequested\" \n- \"failToPushOrderGoogleError\" \n- \"failToPushOrderMerchantError\" \n- \"failToPushOrderMerchantFulfillmentError\" \n- \"failToPushOrderToMerchant\" \n- \"failToPushOrderToMerchantOutOfStock\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"merchantDidNotShipOnTime\" \n- \"noInventory\" \n- \"orderTimeout\" \n- \"other\" \n- \"paymentAbuse\" \n- \"paymentDeclined\" \n- \"priceError\" \n- \"returnRefundAbuse\" \n- \"shippingPriceError\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\"", + "description": "The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Shopping Actions until you make an update to that product. This will not affect your Shopping ads.\n\nAcceptable values are: \n- \"`autoPostInternal`\" \n- \"`autoPostInvalidBillingAddress`\" \n- \"`autoPostNoInventory`\" \n- \"`autoPostPriceError`\" \n- \"`autoPostUndeliverableShippingAddress`\" \n- \"`couponAbuse`\" \n- \"`customerCanceled`\" \n- \"`customerInitiatedCancel`\" \n- \"`customerSupportRequested`\" \n- \"`failToPushOrderGoogleError`\" \n- \"`failToPushOrderMerchantError`\" \n- \"`failToPushOrderMerchantFulfillmentError`\" \n- \"`failToPushOrderToMerchant`\" \n- \"`failToPushOrderToMerchantOutOfStock`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`merchantDidNotShipOnTime`\" \n- \"`noInventory`\" \n- \"`orderTimeout`\" \n- \"`other`\" \n- \"`paymentAbuse`\" \n- \"`paymentDeclined`\" \n- \"`priceError`\" \n- \"`returnRefundAbuse`\" \n- \"`shippingPriceError`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\"", "type": "string" }, "reasonText": { @@ -5928,7 +6358,7 @@ "type": "string" }, "invoiceReceivingEmail": { - "description": "Email address for the merchant to send value-added tax or invoice documentation of the order. This documentation is made available to the customer.", + "description": "Email address for the merchant to send value-added tax or invoice documentation of the order. Only the last document sent is made available to the customer. For more information, see About automated VAT invoicing for Shopping Actions.", "type": "string" }, "loyaltyInfo": { @@ -5960,7 +6390,7 @@ "id": "OrderCustomerMarketingRightsInfo", "properties": { "explicitMarketingPreference": { - "description": "Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected granted in their most recent order, they can be subscribed to marketing emails. Customers who have chosen denied must not be subscribed, or must be unsubscribed if already opted-in.\n\nAcceptable values are: \n- \"denied\" \n- \"granted\"", + "description": "Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected `granted` in their most recent order, they can be subscribed to marketing emails. Customers who have chosen `denied` must not be subscribed, or must be unsubscribed if already opted-in.\n\nAcceptable values are: \n- \"`denied`\" \n- \"`granted`\"", "type": "string" }, "lastUpdatedTimestamp": { @@ -5968,7 +6398,7 @@ "type": "string" }, "marketingEmailAddress": { - "description": "Email address that can be used for marketing purposes. The field may be empty even if explicitMarketingPreference is 'granted'. This happens when retrieving an old order from the customer who deleted their account.", + "description": "Email address that can be used for marketing purposes. The field may be empty even if `explicitMarketingPreference` is 'granted'. This happens when retrieving an old order from the customer who deleted their account.", "type": "string" } }, @@ -6098,7 +6528,7 @@ "description": "Adjustment for total tax of the line item." }, "type": { - "description": "Type of this adjustment.\n\nAcceptable values are: \n- \"promotion\"", + "description": "Type of this adjustment.\n\nAcceptable values are: \n- \"`promotion`\"", "type": "string" } }, @@ -6112,7 +6542,7 @@ "type": "string" }, "condition": { - "description": "Condition or state of the item.\n\nAcceptable values are: \n- \"new\" \n- \"refurbished\" \n- \"used\"", + "description": "Condition or state of the item.\n\nAcceptable values are: \n- \"`new`\" \n- \"`refurbished`\" \n- \"`used`\"", "type": "string" }, "contentLanguage": { @@ -6259,6 +6689,11 @@ }, "description": "Required. Details of the shipping method." }, + "pickupPromiseInMinutes": { + "description": "The promised time in minutes in which the order will be ready for pickup. This only applies to buy-online-pickup-in-store same-day order.", + "format": "uint32", + "type": "integer" + }, "shipByDate": { "annotations": { "required": [ @@ -6269,7 +6704,7 @@ "type": "string" }, "type": { - "description": "Type of shipment. Indicates whether deliveryDetails or pickupDetails is applicable for this shipment.\n\nAcceptable values are: \n- \"delivery\" \n- \"pickup\"", + "description": "Type of shipment. Indicates whether `deliveryDetails` or `pickupDetails` is applicable for this shipment.\n\nAcceptable values are: \n- \"`delivery`\" \n- \"`pickup`\"", "type": "string" } }, @@ -6279,7 +6714,7 @@ "id": "OrderLineItemShippingDetailsMethod", "properties": { "carrier": { - "description": "The carrier for the shipping. Optional. See shipments[].carrier for a list of acceptable values.", + "description": "The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.", "type": "string" }, "maxDaysInTransit": { @@ -6328,12 +6763,26 @@ }, "type": "object" }, + "OrderOrderAnnotation": { + "id": "OrderOrderAnnotation", + "properties": { + "key": { + "description": "Key for additional google provided (as key-value pairs) annotation.", + "type": "string" + }, + "value": { + "description": "Value for additional google provided (as key-value pairs) annotation.", + "type": "string" + } + }, + "type": "object" + }, "OrderPickupDetails": { "id": "OrderPickupDetails", "properties": { "address": { "$ref": "OrderAddress", - "description": "Address of the pickup location where the shipment should be sent. Note that recipientName in the address is the name of the business at the pickup location." + "description": "Address of the pickup location where the shipment should be sent. Note that `recipientName` in the address is the name of the business at the pickup location." }, "collectors": { "description": "Collectors authorized to pick up shipment from the pickup location.", @@ -6345,6 +6794,10 @@ "locationId": { "description": "ID of the pickup location.", "type": "string" + }, + "pickupType": { + "description": "The pickup type of this order.\n\nAcceptable values are: \n- \"`merchantStore`\" \n- \"`merchantStoreCurbside`\" \n- \"`merchantStoreLocker`\" \n- \"`thirdPartyPickupPoint`\" \n- \"`thirdPartyLocker`\"", + "type": "string" } }, "type": "object" @@ -6367,14 +6820,14 @@ "id": "OrderPromotion", "properties": { "applicableItems": { - "description": "Items which this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity.", + "description": "Items that this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity. This field will also be empty for shipping promotions because shipping is not tied to any specific item.", "items": { "$ref": "OrderPromotionItem" }, "type": "array" }, "appliedItems": { - "description": "Items which this promotion have been applied to. Do not provide for orders.createtestorder.", + "description": "Items that this promotion have been applied to. Do not provide for `orders.createtestorder`. This field will be empty for shipping promotions because shipping is not tied to any specific item.", "items": { "$ref": "OrderPromotionItem" }, @@ -6390,7 +6843,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. The party funding the promotion. Only merchant is supported for orders.createtestorder.\n\nAcceptable values are: \n- \"google\" \n- \"merchant\"", + "description": "Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`.\n\nAcceptable values are: \n- \"`google`\" \n- \"`merchant`\"", "type": "string" }, "merchantPromotionId": { @@ -6407,7 +6860,7 @@ "description": "Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order." }, "shortTitle": { - "description": "A short title of the promotion to be shown on the checkout page. Do not provide for orders.createtestorder.", + "description": "A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.", "type": "string" }, "startTime": { @@ -6420,12 +6873,12 @@ "content.orders.createtestorder" ] }, - "description": "Required. The category of the promotion. Only moneyOff is supported for orders.createtestorder.\n\nAcceptable values are: \n- \"buyMGetMoneyOff\" \n- \"buyMGetNMoneyOff\" \n- \"buyMGetNPercentOff\" \n- \"buyMGetPercentOff\" \n- \"freeGift\" \n- \"freeGiftWithItemId\" \n- \"freeGiftWithValue\" \n- \"freeShippingOvernight\" \n- \"freeShippingStandard\" \n- \"freeShippingTwoDay\" \n- \"moneyOff\" \n- \"percentOff\" \n- \"rewardPoints\" \n- \"salePrice\"", + "description": "Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`.\n\nAcceptable values are: \n- \"`buyMGetMoneyOff`\" \n- \"`buyMGetNMoneyOff`\" \n- \"`buyMGetNPercentOff`\" \n- \"`buyMGetPercentOff`\" \n- \"`freeGift`\" \n- \"`freeGiftWithItemId`\" \n- \"`freeGiftWithValue`\" \n- \"`freeShippingOvernight`\" \n- \"`freeShippingStandard`\" \n- \"`freeShippingTwoDay`\" \n- \"`moneyOff`\" \n- \"`percentOff`\" \n- \"`rewardPoints`\" \n- \"`salePrice`\"", "type": "string" }, "taxValue": { "$ref": "Price", - "description": "Estimated discount applied to tax (if allowed by law). Do not provide for orders.createtestorder." + "description": "Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`." }, "title": { "annotations": { @@ -6442,7 +6895,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. The scope of the promotion. Only product is supported for orders.createtestorder.\n\nAcceptable values are: \n- \"product\" \n- \"shipping\"", + "description": "Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`.\n\nAcceptable values are: \n- \"`product`\" \n- \"`shipping`\"", "type": "string" } }, @@ -6452,7 +6905,7 @@ "id": "OrderPromotionItem", "properties": { "lineItemId": { - "description": "The line item ID of a product. Do not provide for orders.createtestorder.", + "description": "The line item ID of a product. Do not provide for `orders.createtestorder`.", "type": "string" }, "offerId": { @@ -6461,15 +6914,15 @@ "content.orders.createtestorder" ] }, - "description": "Required. Offer ID of a product. Only for orders.createtestorder.", + "description": "Required. Offer ID of a product. Only for `orders.createtestorder`.", "type": "string" }, "productId": { - "description": "orders.createtestorder.", + "description": "`orders.createtestorder`.", "type": "string" }, "quantity": { - "description": "The quantity of the associated product. Do not provide for orders.createtestorder.", + "description": "The quantity of the associated product. Do not provide for `orders.createtestorder`.", "format": "int32", "type": "integer" } @@ -6480,7 +6933,7 @@ "id": "OrderRefund", "properties": { "actor": { - "description": "The actor that created the refund.\n\nAcceptable values are: \n- \"customer\" \n- \"googleBot\" \n- \"googleCustomerService\" \n- \"googlePayments\" \n- \"googleSabre\" \n- \"merchant\"", + "description": "The actor that created the refund.\n\nAcceptable values are: \n- \"`customer`\" \n- \"`googleBot`\" \n- \"`googleCustomerService`\" \n- \"`googlePayments`\" \n- \"`googleSabre`\" \n- \"`merchant`\"", "type": "string" }, "amount": { @@ -6492,7 +6945,7 @@ "type": "string" }, "reason": { - "description": "The reason for the refund.\n\nAcceptable values are: \n- \"adjustment\" \n- \"autoPostInternal\" \n- \"autoPostInvalidBillingAddress\" \n- \"autoPostNoInventory\" \n- \"autoPostPriceError\" \n- \"autoPostUndeliverableShippingAddress\" \n- \"couponAbuse\" \n- \"courtesyAdjustment\" \n- \"customerCanceled\" \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"customerSupportRequested\" \n- \"deliveredLateByCarrier\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"failToPushOrderGoogleError\" \n- \"failToPushOrderMerchantError\" \n- \"failToPushOrderMerchantFulfillmentError\" \n- \"failToPushOrderToMerchant\" \n- \"failToPushOrderToMerchantOutOfStock\" \n- \"feeAdjustment\" \n- \"invalidCoupon\" \n- \"lateShipmentCredit\" \n- \"malformedShippingAddress\" \n- \"merchantDidNotShipOnTime\" \n- \"noInventory\" \n- \"orderTimeout\" \n- \"other\" \n- \"paymentAbuse\" \n- \"paymentDeclined\" \n- \"priceAdjustment\" \n- \"priceError\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"promoReallocation\" \n- \"qualityNotAsExpected\" \n- \"returnRefundAbuse\" \n- \"shippingCostAdjustment\" \n- \"shippingPriceError\" \n- \"taxAdjustment\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the refund.\n\nAcceptable values are: \n- \"`adjustment`\" \n- \"`autoPostInternal`\" \n- \"`autoPostInvalidBillingAddress`\" \n- \"`autoPostNoInventory`\" \n- \"`autoPostPriceError`\" \n- \"`autoPostUndeliverableShippingAddress`\" \n- \"`couponAbuse`\" \n- \"`courtesyAdjustment`\" \n- \"`customerCanceled`\" \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`customerSupportRequested`\" \n- \"`deliveredLateByCarrier`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`failToPushOrderGoogleError`\" \n- \"`failToPushOrderMerchantError`\" \n- \"`failToPushOrderMerchantFulfillmentError`\" \n- \"`failToPushOrderToMerchant`\" \n- \"`failToPushOrderToMerchantOutOfStock`\" \n- \"`feeAdjustment`\" \n- \"`invalidCoupon`\" \n- \"`lateShipmentCredit`\" \n- \"`malformedShippingAddress`\" \n- \"`merchantDidNotShipOnTime`\" \n- \"`noInventory`\" \n- \"`orderTimeout`\" \n- \"`other`\" \n- \"`paymentAbuse`\" \n- \"`paymentDeclined`\" \n- \"`priceAdjustment`\" \n- \"`priceError`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`promoReallocation`\" \n- \"`qualityNotAsExpected`\" \n- \"`returnRefundAbuse`\" \n- \"`shippingCostAdjustment`\" \n- \"`shippingPriceError`\" \n- \"`taxAdjustment`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -6503,7 +6956,7 @@ "type": "object" }, "OrderReportDisbursement": { - "description": "Order disbursement. All methods require the payment analyst role.", + "description": "Order disbursement. All methods require the payment analyst role. (== resource_for v2.orderreports ==) (== resource_for v2.1.orderreports ==)", "id": "OrderReportDisbursement", "properties": { "disbursementAmount": { @@ -6577,7 +7030,7 @@ "id": "OrderReturn", "properties": { "actor": { - "description": "The actor that created the refund.\n\nAcceptable values are: \n- \"customer\" \n- \"googleBot\" \n- \"googleCustomerService\" \n- \"googlePayments\" \n- \"googleSabre\" \n- \"merchant\"", + "description": "The actor that created the refund.\n\nAcceptable values are: \n- \"`customer`\" \n- \"`googleBot`\" \n- \"`googleCustomerService`\" \n- \"`googlePayments`\" \n- \"`googleSabre`\" \n- \"`merchant`\"", "type": "string" }, "creationDate": { @@ -6590,7 +7043,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -6604,7 +7057,7 @@ "id": "OrderShipment", "properties": { "carrier": { - "description": "The carrier handling the shipment.\n\nFor supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. Note: You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. \nSupported carriers for US are: \n- \"ups\" (United Parcel Service) automatic status updates \n- \"usps\" (United States Postal Service) automatic status updates \n- \"fedex\" (FedEx) automatic status updates \n- \"dhl\" (DHL eCommerce) automatic status updates (US only) \n- \"ontrac\" (OnTrac) automatic status updates \n- \"dhl express\" (DHL Express)\n- \"deliv\" (Deliv) \n- \"dynamex\" (TForce) \n- \"lasership\" (LaserShip) \n- \"mpx\" (Military Parcel Xpress) \n- \"uds\" (United Delivery Service) \n- \"efw\" (Estes Forwarding Worldwide) \n- \"jd logistics\" (JD Logistics) \n- \"yunexpress\" (YunExpress) \n- \"china post\" (China Post) \n- \"china ems\" (China Post Express Mail Service) \n- \"singapore post\" (Singapore Post) \n- \"pos malaysia\" (Pos Malaysia) \n- \"postnl\" (PostNL) \n- \"ptt\" (PTT Turkish Post) \n- \"eub\" (ePacket) \n- \"chukou1\" (Chukou1 Logistics) \nSupported carriers for FR are: \n- \"la poste\" (La Poste) automatic status updates \n- \"colissimo\" (Colissimo by La Poste) automatic status updates \n- \"ups\" (United Parcel Service) automatic status updates \n- \"chronopost\" (Chronopost by La Poste) \n- \"gls\" (General Logistics Systems France) \n- \"dpd\" (DPD Group by GeoPost) \n- \"bpost\" (Belgian Post Group) \n- \"colis prive\" (Colis Priv\u00e9) \n- \"boxtal\" (Boxtal) \n- \"geodis\" (GEODIS) \n- \"tnt\" (TNT) \n- \"db schenker\" (DB Schenker) \n- \"aramex\" (Aramex)", + "description": "The carrier handling the shipment.\n\nFor supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. Note: You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. \nSupported carriers for US are: \n- \"`ups`\" (United Parcel Service) automatic status updates \n- \"`usps`\" (United States Postal Service) automatic status updates \n- \"`fedex`\" (FedEx) automatic status updates \n- \"`dhl`\" (DHL eCommerce) automatic status updates (US only) \n- \"`ontrac`\" (OnTrac) automatic status updates \n- \"`dhl express`\" (DHL Express)\n- \"`deliv`\" (Deliv) \n- \"`dynamex`\" (TForce) \n- \"`lasership`\" (LaserShip) \n- \"`mpx`\" (Military Parcel Xpress) \n- \"`uds`\" (United Delivery Service) \n- \"`efw`\" (Estes Forwarding Worldwide) \n- \"`jd logistics`\" (JD Logistics) \n- \"`yunexpress`\" (YunExpress) \n- \"`china post`\" (China Post) \n- \"`china ems`\" (China Post Express Mail Service) \n- \"`singapore post`\" (Singapore Post) \n- \"`pos malaysia`\" (Pos Malaysia) \n- \"`postnl`\" (PostNL) \n- \"`ptt`\" (PTT Turkish Post) \n- \"`eub`\" (ePacket) \n- \"`chukou1`\" (Chukou1 Logistics) \nSupported carriers for FR are: \n- \"`la poste`\" (La Poste) automatic status updates \n- \"`colissimo`\" (Colissimo by La Poste) automatic status updates \n- \"`ups`\" (United Parcel Service) automatic status updates \n- \"`chronopost`\" (Chronopost by La Poste) \n- \"`gls`\" (General Logistics Systems France) \n- \"`dpd`\" (DPD Group by GeoPost) \n- \"`bpost`\" (Belgian Post Group) \n- \"`colis prive`\" (Colis Priv\u00e9) \n- \"`boxtal`\" (Boxtal) \n- \"`geodis`\" (GEODIS) \n- \"`tnt`\" (TNT) \n- \"`db schenker`\" (DB Schenker) \n- \"`aramex`\" (Aramex)", "type": "string" }, "creationDate": { @@ -6612,7 +7065,7 @@ "type": "string" }, "deliveryDate": { - "description": "Date on which the shipment has been delivered, in ISO 8601 format. Present only if status is delivered", + "description": "Date on which the shipment has been delivered, in ISO 8601 format. Present only if `status` is `delivered`", "type": "string" }, "id": { @@ -6626,12 +7079,16 @@ }, "type": "array" }, + "scheduledDeliveryDetails": { + "$ref": "OrderShipmentScheduledDeliveryDetails", + "description": "Delivery details of the shipment if scheduling is needed." + }, "shipmentGroupId": { "description": "The shipment group ID of the shipment. This is set in shiplineitems request.", "type": "string" }, "status": { - "description": "The status of the shipment.\n\nAcceptable values are: \n- \"delivered\" \n- \"readyForPickup\" \n- \"shipped\" \n- \"undeliverable\"", + "description": "The status of the shipment.\n\nAcceptable values are: \n- \"`delivered`\" \n- \"`readyForPickup`\" \n- \"`shipped`\" \n- \"`undeliverable`\"", "type": "string" }, "trackingId": { @@ -6660,6 +7117,20 @@ }, "type": "object" }, + "OrderShipmentScheduledDeliveryDetails": { + "id": "OrderShipmentScheduledDeliveryDetails", + "properties": { + "carrierPhoneNumber": { + "description": "The phone number of the carrier fulfilling the delivery.", + "type": "string" + }, + "scheduledDate": { + "description": "The date a shipment is scheduled for delivery, in ISO 8601 format.", + "type": "string" + } + }, + "type": "object" + }, "OrderinvoicesCreateChargeInvoiceRequest": { "id": "OrderinvoicesCreateChargeInvoiceRequest", "properties": { @@ -6683,7 +7154,7 @@ "type": "string" }, "shipmentGroupId": { - "description": "[required] ID of the shipment group. It is assigned by the merchant in the shipLineItems method and is used to group multiple line items that have the same kind of shipping charges.", + "description": "[required] ID of the shipment group. It is assigned by the merchant in the `shipLineItems` method and is used to group multiple line items that have the same kind of shipping charges.", "type": "string" } }, @@ -6693,7 +7164,7 @@ "id": "OrderinvoicesCreateChargeInvoiceResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6717,11 +7188,11 @@ }, "refundOnlyOption": { "$ref": "OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption", - "description": "Option to create a refund-only invoice. Exactly one of refundOnlyOption or returnOption must be provided." + "description": "Option to create a refund-only invoice. Exactly one of `refundOnlyOption` or `returnOption` must be provided." }, "returnOption": { "$ref": "OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption", - "description": "Option to create an invoice for a refund and mark all items within the invoice as returned. Exactly one of refundOnlyOption or returnOption must be provided." + "description": "Option to create an invoice for a refund and mark all items within the invoice as returned. Exactly one of `refundOnlyOption` or `returnOption` must be provided." }, "shipmentInvoices": { "description": "Invoice details for different shipment groups.", @@ -6737,7 +7208,7 @@ "id": "OrderinvoicesCreateRefundInvoiceResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6756,7 +7227,7 @@ "type": "string" }, "reason": { - "description": "[required] Reason for the refund.\n\nAcceptable values are: \n- \"adjustment\" \n- \"autoPostInternal\" \n- \"autoPostInvalidBillingAddress\" \n- \"autoPostNoInventory\" \n- \"autoPostPriceError\" \n- \"autoPostUndeliverableShippingAddress\" \n- \"couponAbuse\" \n- \"courtesyAdjustment\" \n- \"customerCanceled\" \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"customerSupportRequested\" \n- \"deliveredLateByCarrier\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"failToPushOrderGoogleError\" \n- \"failToPushOrderMerchantError\" \n- \"failToPushOrderMerchantFulfillmentError\" \n- \"failToPushOrderToMerchant\" \n- \"failToPushOrderToMerchantOutOfStock\" \n- \"feeAdjustment\" \n- \"invalidCoupon\" \n- \"lateShipmentCredit\" \n- \"malformedShippingAddress\" \n- \"merchantDidNotShipOnTime\" \n- \"noInventory\" \n- \"orderTimeout\" \n- \"other\" \n- \"paymentAbuse\" \n- \"paymentDeclined\" \n- \"priceAdjustment\" \n- \"priceError\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"promoReallocation\" \n- \"qualityNotAsExpected\" \n- \"returnRefundAbuse\" \n- \"shippingCostAdjustment\" \n- \"shippingPriceError\" \n- \"taxAdjustment\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "[required] Reason for the refund.\n\nAcceptable values are: \n- \"`adjustment`\" \n- \"`autoPostInternal`\" \n- \"`autoPostInvalidBillingAddress`\" \n- \"`autoPostNoInventory`\" \n- \"`autoPostPriceError`\" \n- \"`autoPostUndeliverableShippingAddress`\" \n- \"`couponAbuse`\" \n- \"`courtesyAdjustment`\" \n- \"`customerCanceled`\" \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`customerSupportRequested`\" \n- \"`deliveredLateByCarrier`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`failToPushOrderGoogleError`\" \n- \"`failToPushOrderMerchantError`\" \n- \"`failToPushOrderMerchantFulfillmentError`\" \n- \"`failToPushOrderToMerchant`\" \n- \"`failToPushOrderToMerchantOutOfStock`\" \n- \"`feeAdjustment`\" \n- \"`invalidCoupon`\" \n- \"`lateShipmentCredit`\" \n- \"`malformedShippingAddress`\" \n- \"`merchantDidNotShipOnTime`\" \n- \"`noInventory`\" \n- \"`orderTimeout`\" \n- \"`other`\" \n- \"`paymentAbuse`\" \n- \"`paymentDeclined`\" \n- \"`priceAdjustment`\" \n- \"`priceError`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`promoReallocation`\" \n- \"`qualityNotAsExpected`\" \n- \"`returnRefundAbuse`\" \n- \"`shippingCostAdjustment`\" \n- \"`shippingPriceError`\" \n- \"`taxAdjustment`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" } }, @@ -6770,7 +7241,7 @@ "type": "string" }, "reason": { - "description": "[required] Reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "[required] Reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" } }, @@ -6820,6 +7291,31 @@ }, "type": "object" }, + "OrderreturnsAcknowledgeRequest": { + "id": "OrderreturnsAcknowledgeRequest", + "properties": { + "operationId": { + "description": "[required] The ID of the operation, unique across all operations for a given order return.", + "type": "string" + } + }, + "type": "object" + }, + "OrderreturnsAcknowledgeResponse": { + "id": "OrderreturnsAcknowledgeResponse", + "properties": { + "executionStatus": { + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", + "type": "string" + }, + "kind": { + "default": "content#orderreturnsAcknowledgeResponse", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderreturnsAcknowledgeResponse\".", + "type": "string" + } + }, + "type": "object" + }, "OrderreturnsListResponse": { "id": "OrderreturnsListResponse", "properties": { @@ -6841,6 +7337,114 @@ }, "type": "object" }, + "OrderreturnsPartialRefund": { + "id": "OrderreturnsPartialRefund", + "properties": { + "priceAmount": { + "$ref": "Price", + "description": "The pre-tax or post-tax amount to be refunded, depending on the location of the order." + }, + "taxAmount": { + "$ref": "Price", + "description": "Tax amount to be refunded. Note: This has different meaning depending on the location of the order." + } + }, + "type": "object" + }, + "OrderreturnsProcessRequest": { + "id": "OrderreturnsProcessRequest", + "properties": { + "fullChargeReturnShippingCost": { + "description": "Option to charge the customer return shipping cost.", + "type": "boolean" + }, + "operationId": { + "description": "[required] The ID of the operation, unique across all operations for a given order return.", + "type": "string" + }, + "refundShippingFee": { + "$ref": "OrderreturnsRefundOperation", + "description": "Refunds for original shipping fee." + }, + "returnItems": { + "description": "The list of items to return.", + "items": { + "$ref": "OrderreturnsReturnItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "OrderreturnsProcessResponse": { + "id": "OrderreturnsProcessResponse", + "properties": { + "executionStatus": { + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", + "type": "string" + }, + "kind": { + "default": "content#orderreturnsProcessResponse", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderreturnsProcessResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "OrderreturnsRefundOperation": { + "id": "OrderreturnsRefundOperation", + "properties": { + "fullRefund": { + "description": "If true, the item will be fully refunded.", + "type": "boolean" + }, + "partialRefund": { + "$ref": "OrderreturnsPartialRefund", + "description": "If this is set, the item will be partially refunded." + }, + "reasonText": { + "description": "The explanation of the reason.", + "type": "string" + }, + "returnRefundReason": { + "description": "Code of the refund reason.", + "type": "string" + } + }, + "type": "object" + }, + "OrderreturnsRejectOperation": { + "id": "OrderreturnsRejectOperation", + "properties": { + "reason": { + "description": "The reason for the return.", + "type": "string" + }, + "reasonText": { + "description": "The explanation of the reason.", + "type": "string" + } + }, + "type": "object" + }, + "OrderreturnsReturnItem": { + "id": "OrderreturnsReturnItem", + "properties": { + "refund": { + "$ref": "OrderreturnsRefundOperation", + "description": "Refunds the item." + }, + "reject": { + "$ref": "OrderreturnsRejectOperation", + "description": "Rejects the item." + }, + "returnItemId": { + "description": "Unit level ID for the return item. Different units of the same product will have different IDs.", + "type": "string" + } + }, + "type": "object" + }, "OrdersAcknowledgeRequest": { "id": "OrdersAcknowledgeRequest", "properties": { @@ -6855,7 +7459,7 @@ "id": "OrdersAcknowledgeResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6898,7 +7502,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"customerInitiatedCancel\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"noInventory\" \n- \"other\" \n- \"priceError\" \n- \"shippingPriceError\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\"", + "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"`customerInitiatedCancel`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`noInventory`\" \n- \"`other`\" \n- \"`priceError`\" \n- \"`shippingPriceError`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\"", "type": "string" }, "reasonText": { @@ -6912,7 +7516,7 @@ "id": "OrdersCancelLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6931,7 +7535,7 @@ "type": "string" }, "reason": { - "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"customerInitiatedCancel\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"noInventory\" \n- \"other\" \n- \"priceError\" \n- \"shippingPriceError\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\"", + "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"`customerInitiatedCancel`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`noInventory`\" \n- \"`other`\" \n- \"`priceError`\" \n- \"`shippingPriceError`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\"", "type": "string" }, "reasonText": { @@ -6945,7 +7549,7 @@ "id": "OrdersCancelResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6960,7 +7564,7 @@ "id": "OrdersCancelTestOrderByCustomerRequest", "properties": { "reason": { - "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"changedMind\" \n- \"orderedWrongItem\" \n- \"other\"", + "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"`changedMind`\" \n- \"`orderedWrongItem`\" \n- \"`other`\"", "type": "string" } }, @@ -6981,11 +7585,11 @@ "id": "OrdersCreateTestOrderRequest", "properties": { "country": { - "description": "The CLDR territory code of the country of the test order to create. Affects the currency and addresses of orders created via template_name, or the addresses of orders created via test_order.\n\nAcceptable values are: \n- \"US\" \n- \"FR\" Defaults to US.", + "description": "The CLDR territory code of the country of the test order to create. Affects the currency and addresses of orders created via `template_name`, or the addresses of orders created via `test_order`.\n\nAcceptable values are: \n- \"`US`\" \n- \"`FR`\" Defaults to `US`.", "type": "string" }, "templateName": { - "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.\n\nAcceptable values are: \n- \"template1\" \n- \"template1a\" \n- \"template1b\" \n- \"template2\" \n- \"template3\"", + "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.\n\nAcceptable values are: \n- \"`template1`\" \n- \"`template1a`\" \n- \"`template1b`\" \n- \"`template2`\" \n- \"`template3`\"", "type": "string" }, "testOrder": { @@ -7053,11 +7657,52 @@ }, "type": "object" }, + "OrdersCustomBatchRequestEntryRefundItemItem": { + "id": "OrdersCustomBatchRequestEntryRefundItemItem", + "properties": { + "amount": { + "$ref": "MonetaryAmount", + "description": "The total amount that is refunded. (e.g. refunding $5 each for 2 products should be done by setting quantity to 2 and amount to 10$) In case of multiple refunds, this should be the amount you currently want to refund to the customer." + }, + "fullRefund": { + "description": "If true, the full item will be refunded. If this is true, amount should not be provided and will be ignored.", + "type": "boolean" + }, + "lineItemId": { + "description": "The ID of the line item. Either lineItemId or productId is required.", + "type": "string" + }, + "productId": { + "description": "The ID of the product. This is the REST ID used in the products service. Either lineItemId or productId is required.", + "type": "string" + }, + "quantity": { + "description": "The number of products that are refunded.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "OrdersCustomBatchRequestEntryRefundItemShipping": { + "id": "OrdersCustomBatchRequestEntryRefundItemShipping", + "properties": { + "amount": { + "$ref": "Price", + "description": "The amount that is refunded. If this is not the first refund for the shipment, this should be the newly refunded amount." + }, + "fullRefund": { + "description": "If set to true, all shipping costs for the order will be refunded. If this is true, amount should not be provided and will be ignored.", + "type": "boolean" + } + }, + "type": "object" + }, "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo": { "id": "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo", "properties": { "carrier": { - "description": "The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values.", + "description": "The carrier handling the shipment. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.", "type": "string" }, "shipmentId": { @@ -7131,7 +7776,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7149,7 +7794,7 @@ "id": "OrdersInStoreRefundLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7181,6 +7826,91 @@ }, "type": "object" }, + "OrdersRefundItemRequest": { + "id": "OrdersRefundItemRequest", + "properties": { + "items": { + "description": "The items that are refunded. Either Item or Shipping must be provided in the request.", + "items": { + "$ref": "OrdersCustomBatchRequestEntryRefundItemItem" + }, + "type": "array" + }, + "operationId": { + "description": "The ID of the operation. Unique across all operations for a given order.", + "type": "string" + }, + "reason": { + "description": "The reason for the refund.\n\nAcceptable values are: \n- \"`shippingCostAdjustment`\" \n- \"`priceAdjustment`\" \n- \"`taxAdjustment`\" \n- \"`feeAdjustment`\" \n- \"`courtesyAdjustment`\" \n- \"`adjustment`\" \n- \"`customerCancelled`\" \n- \"`noInventory`\" \n- \"`productNotAsDescribed`\" \n- \"`undeliverableShippingAddress`\" \n- \"`wrongProductShipped`\" \n- \"`lateShipmentCredit`\" \n- \"`deliveredLateByCarrier`\" \n- \"`productArrivedDamaged`\"", + "type": "string" + }, + "reasonText": { + "description": "The explanation of the reason.", + "type": "string" + }, + "shipping": { + "$ref": "OrdersCustomBatchRequestEntryRefundItemShipping", + "description": "The refund on shipping. Optional, but either Item or Shipping must be provided in the request." + } + }, + "type": "object" + }, + "OrdersRefundItemResponse": { + "id": "OrdersRefundItemResponse", + "properties": { + "executionStatus": { + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", + "type": "string" + }, + "kind": { + "default": "content#ordersRefundItemResponse", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersRefundItemResponse\".", + "type": "string" + } + }, + "type": "object" + }, + "OrdersRefundOrderRequest": { + "id": "OrdersRefundOrderRequest", + "properties": { + "amount": { + "$ref": "MonetaryAmount", + "description": "The amount that is refunded. If this is not the first refund for the order, this should be the newly refunded amount." + }, + "fullRefund": { + "description": "If true, the full order will be refunded, including shipping. If this is true, amount should not be provided and will be ignored.", + "type": "boolean" + }, + "operationId": { + "description": "The ID of the operation. Unique across all operations for a given order.", + "type": "string" + }, + "reason": { + "description": "The reason for the refund.\n\nAcceptable values are: \n- \"`courtesyAdjustment`\" \n- \"`other`\"", + "type": "string" + }, + "reasonText": { + "description": "The explanation of the reason.", + "type": "string" + } + }, + "type": "object" + }, + "OrdersRefundOrderResponse": { + "id": "OrdersRefundOrderResponse", + "properties": { + "executionStatus": { + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", + "type": "string" + }, + "kind": { + "default": "content#ordersRefundOrderResponse", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersRefundOrderResponse\".", + "type": "string" + } + }, + "type": "object" + }, "OrdersRejectReturnLineItemRequest": { "id": "OrdersRejectReturnLineItemRequest", "properties": { @@ -7202,7 +7932,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"damagedOrUsed\" \n- \"missingComponent\" \n- \"notEligible\" \n- \"other\" \n- \"outOfReturnWindow\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`damagedOrUsed`\" \n- \"`missingComponent`\" \n- \"`notEligible`\" \n- \"`other`\" \n- \"`outOfReturnWindow`\"", "type": "string" }, "reasonText": { @@ -7216,7 +7946,7 @@ "id": "OrdersRejectReturnLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7252,7 +7982,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7270,7 +8000,7 @@ "id": "OrdersReturnRefundLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7309,7 +8039,7 @@ "id": "OrdersSetLineItemMetadataResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7352,7 +8082,7 @@ "id": "OrdersShipLineItemsResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7393,7 +8123,7 @@ "id": "OrdersUpdateLineItemShippingDetailsResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7422,7 +8152,7 @@ "id": "OrdersUpdateMerchantOrderIdResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7437,28 +8167,40 @@ "id": "OrdersUpdateShipmentRequest", "properties": { "carrier": { - "description": "The carrier handling the shipment. Not updated if missing. See shipments[].carrier in the Orders resource representation for a list of acceptable values.", + "description": "The carrier handling the shipment. Not updated if missing. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.", "type": "string" }, "deliveryDate": { - "description": "Date on which the shipment has been delivered, in ISO 8601 format. Optional and can be provided only if status is delivered.", + "description": "Date on which the shipment has been delivered, in ISO 8601 format. Optional and can be provided only if `status` is `delivered`.", + "type": "string" + }, + "lastPickupDate": { + "description": "Date after which the pickup will expire, in ISO 8601 format. Required only when order is buy-online-pickup-in-store(BOPIS) and `status` is `ready for pickup`.", "type": "string" }, "operationId": { "description": "The ID of the operation. Unique across all operations for a given order.", "type": "string" }, + "readyPickupDate": { + "description": "Date on which the shipment has been ready for pickup, in ISO 8601 format. Optional and can be provided only if `status` is `ready for pickup`.", + "type": "string" + }, "shipmentId": { "description": "The ID of the shipment.", "type": "string" }, "status": { - "description": "New status for the shipment. Not updated if missing.\n\nAcceptable values are: \n- \"delivered\" \n- \"undeliverable\"", + "description": "New status for the shipment. Not updated if missing.\n\nAcceptable values are: \n- \"`delivered`\" \n- \"`undeliverable`\" \n- \"`readyForPickup`\"", "type": "string" }, "trackingId": { "description": "The tracking ID for the shipment. Not updated if missing.", "type": "string" + }, + "undeliveredDate": { + "description": "Date on which the shipment has been undeliverable, in ISO 8601 format. Optional and can be provided only if `status` is `undeliverable`.", + "type": "string" } }, "type": "object" @@ -7467,7 +8209,7 @@ "id": "OrdersUpdateShipmentResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7482,11 +8224,11 @@ "id": "PickupCarrierService", "properties": { "carrierName": { - "description": "The name of the pickup carrier (e.g., \"UPS\"). Required.", + "description": "The name of the pickup carrier (e.g., `\"UPS\"`). Required.", "type": "string" }, "serviceName": { - "description": "The name of the pickup service (e.g., \"Access point\"). Required.", + "description": "The name of the pickup service (e.g., `\"Access point\"`). Required.", "type": "string" } }, @@ -7496,7 +8238,7 @@ "id": "PickupServicesPickupService", "properties": { "carrierName": { - "description": "The name of the carrier (e.g., \"UPS\"). Always present.", + "description": "The name of the carrier (e.g., `\"UPS\"`). Always present.", "type": "string" }, "country": { @@ -7504,7 +8246,7 @@ "type": "string" }, "serviceName": { - "description": "The name of the pickup service (e.g., \"Access point\"). Always present.", + "description": "The name of the pickup service (e.g., `\"Access point\"`). Always present.", "type": "string" } }, @@ -7533,7 +8275,7 @@ }, "inventory": { "$ref": "PosInventory", - "description": "The inventory to submit. Set this only if the method is inventory." + "description": "The inventory to submit. Set this only if the method is `inventory`." }, "merchantId": { "description": "The ID of the POS data provider.", @@ -7541,19 +8283,19 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"delete\" \n- \"get\" \n- \"insert\" \n- \"inventory\" \n- \"sale\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`delete`\" \n- \"`get`\" \n- \"`insert`\" \n- \"`inventory`\" \n- \"`sale`\"", "type": "string" }, "sale": { "$ref": "PosSale", - "description": "The sale information to submit. Set this only if the method is sale." + "description": "The sale information to submit. Set this only if the method is `sale`." }, "store": { "$ref": "PosStore", - "description": "The store information to submit. Set this only if the method is insert." + "description": "The store information to submit. Set this only if the method is `insert`." }, "storeCode": { - "description": "The store code. Set this only if the method is delete or get.", + "description": "The store code. Set this only if the method is `delete` or `get`.", "type": "string" }, "targetMerchantId": { @@ -7600,7 +8342,7 @@ }, "kind": { "default": "content#posCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posCustomBatchResponseEntry`\"", "type": "string" }, "sale": { @@ -7678,7 +8420,7 @@ }, "kind": { "default": "content#posInventory", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posInventory\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posInventory`\"", "type": "string" }, "price": { @@ -7706,7 +8448,7 @@ "content.pos.inventory" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -7780,7 +8522,7 @@ "content.pos.inventory" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -7859,7 +8601,7 @@ "content.pos.inventory" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -7928,7 +8670,7 @@ }, "kind": { "default": "content#posSale", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posSale\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posSale`\"", "type": "string" }, "price": { @@ -7960,7 +8702,7 @@ "content.pos.sale" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8038,7 +8780,7 @@ "content.pos.sale" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8121,7 +8863,7 @@ "content.pos.sale" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8151,7 +8893,7 @@ "properties": { "kind": { "default": "content#posStore", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posStore\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posStore`\"", "type": "string" }, "storeAddress": { @@ -8200,11 +8942,11 @@ "id": "PostalCodeRange", "properties": { "postalCodeRangeBegin": { - "description": "A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: \"94108\", \"9410*\", \"9*\". Required.", + "description": "A postal code or a pattern of the form `prefix*` denoting the inclusive lower bound of the range defining the area. Examples values: `\"94108\"`, `\"9410*\"`, `\"9*\"`. Required.", "type": "string" }, "postalCodeRangeEnd": { - "description": "A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin.", + "description": "A postal code or a pattern of the form `prefix*` denoting the inclusive upper bound of the range defining the area. It must have the same length as `postalCodeRangeBegin`: if `postalCodeRangeBegin` is a postal code then `postalCodeRangeEnd` must be a postal code too; if `postalCodeRangeBegin` is a pattern then `postalCodeRangeEnd` must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching `postalCodeRangeBegin`.", "type": "string" } }, @@ -8225,7 +8967,7 @@ "type": "object" }, "Product": { - "description": "Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.", + "description": "Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information.\n\nSome attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. \n\nProduct data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.", "id": "Product", "properties": { "additionalImageLinks": { @@ -8270,13 +9012,17 @@ "description": "Brand of the item.", "type": "string" }, + "canonicalLink": { + "description": "Link to the canonical version of the landing page.", + "type": "string" + }, "channel": { "annotations": { "required": [ "content.products.insert" ] }, - "description": "Required. The item's channel (online or local).\n\nAcceptable values are: \n- \"local\" \n- \"online\"", + "description": "Required. The item's channel (online or local).\n\nAcceptable values are: \n- \"`local`\" \n- \"`online`\"", "type": "string" }, "color": { @@ -8301,7 +9047,7 @@ "description": "Cost of goods sold. Used for gross profit reporting." }, "customAttributes": { - "description": "A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { \"name\": \"size type\", \"value\": \"regular\" }). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Shopping Actions.", + "description": "A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Shopping Actions.", "items": { "$ref": "CustomAttribute" }, @@ -8367,7 +9113,7 @@ "type": "array" }, "expirationDate": { - "description": "Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.", + "description": "Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` and might be earlier if `expirationDate` is too far in the future.", "type": "string" }, "gender": { @@ -8383,7 +9129,7 @@ "type": "string" }, "id": { - "description": "The REST ID of the product. Content API methods that operate on products take this as their productId parameter.\nThe REST ID for a product is of the form channel:contentLanguage:targetCountry:offerId.", + "description": "The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter.\nThe REST ID for a product is of the form channel:contentLanguage:targetCountry: offerId.", "type": "string" }, "identifierExists": { @@ -8395,7 +9141,7 @@ "type": "string" }, "includedDestinations": { - "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.", + "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.", "items": { "type": "string" }, @@ -8403,7 +9149,7 @@ }, "installment": { "$ref": "Installment", - "description": "Number and amount of installments to pay for an item. Brazil only." + "description": "Number and amount of installments to pay for an item." }, "isBundle": { "description": "Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.", @@ -8415,7 +9161,7 @@ }, "kind": { "default": "content#product", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#product\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#product`\"", "type": "string" }, "link": { @@ -8478,6 +9224,20 @@ "$ref": "Price", "description": "Price of the item." }, + "productDetails": { + "description": "Technical specification or additional product details", + "items": { + "$ref": "ProductProductDetail" + }, + "type": "array" + }, + "productHighlights": { + "description": "List of important bullet points describing the product", + "items": { + "type": "string" + }, + "type": "array" + }, "productTypes": { "description": "Categories of the item (formatted as in products data specification).", "items": { @@ -8541,16 +9301,20 @@ "type": "string" }, "sizes": { - "description": "Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value (see size definition).", + "description": "Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value (see size definition).", "items": { "type": "string" }, "type": "array" }, "source": { - "description": "The source of the offer, i.e., how the offer was created.\n\nAcceptable values are: \n- \"api\" \n- \"crawl\" \n- \"feed\"", + "description": "The source of the offer, i.e., how the offer was created.\n\nAcceptable values are: \n- \"`api`\" \n- \"`crawl`\" \n- \"`feed`\"", "type": "string" }, + "subscriptionCost": { + "$ref": "ProductSubscriptionCost", + "description": "Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract." + }, "targetCountry": { "annotations": { "required": [ @@ -8608,6 +9372,24 @@ }, "type": "object" }, + "ProductProductDetail": { + "id": "ProductProductDetail", + "properties": { + "attributeName": { + "description": "The name of the product detail.", + "type": "string" + }, + "attributeValue": { + "description": "The value of the product detail.", + "type": "string" + }, + "sectionName": { + "description": "The section header used to group a set of product details.", + "type": "string" + } + }, + "type": "object" + }, "ProductShipping": { "id": "ProductShipping", "properties": { @@ -8701,7 +9483,7 @@ }, "kind": { "default": "content#productStatus", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productStatus\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productStatus`\"", "type": "string" }, "lastUpdateDate": { @@ -8731,6 +9513,7 @@ "type": "string" }, "status": { + "description": "Destination approval status in `targetCountry` of the offer.", "type": "string" } }, @@ -8774,6 +9557,25 @@ }, "type": "object" }, + "ProductSubscriptionCost": { + "id": "ProductSubscriptionCost", + "properties": { + "amount": { + "$ref": "Price", + "description": "The amount the buyer has to pay per subscription period." + }, + "period": { + "description": "The type of subscription period.", + "type": "string" + }, + "periodLength": { + "description": "The number of subscription periods the buyer has to pay.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "ProductTax": { "id": "ProductTax", "properties": { @@ -8869,15 +9671,15 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"delete\" \n- \"get\" \n- \"insert\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`delete`\" \n- \"`get`\" \n- \"`insert`\"", "type": "string" }, "product": { "$ref": "Product", - "description": "The product to insert. Only required if the method is insert." + "description": "The product to insert. Only required if the method is `insert`." }, "productId": { - "description": "The ID of the product to get or delete. Only defined if the method is get or delete.", + "description": "The ID of the product to get or delete. Only defined if the method is `get` or `delete`.", "type": "string" } }, @@ -8916,12 +9718,12 @@ }, "kind": { "default": "content#productsCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productsCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productsCustomBatchResponseEntry`\"", "type": "string" }, "product": { "$ref": "Product", - "description": "The inserted product. Only defined if the method is insert and if the request was successful." + "description": "The inserted product. Only defined if the method is `insert` and if the request was successful." } }, "type": "object" @@ -8985,7 +9787,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\"", "type": "string" }, "productId": { @@ -9028,7 +9830,7 @@ }, "kind": { "default": "content#productstatusesCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productstatusesCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productstatusesCustomBatchResponseEntry`\"", "type": "string" }, "productStatus": { @@ -9060,7 +9862,7 @@ "type": "object" }, "PubsubNotificationSettings": { - "description": "Settings for Pub/Sub notifications, all methods require that the caller is a direct user of the merchant center account.", + "description": "Settings for Pub/Sub notifications, all methods require that the caller is a direct user of the merchant center account. (== resource_for v2.1.pubsubnotificationsettings ==)", "id": "PubsubNotificationSettings", "properties": { "cloudTopicName": { @@ -9069,11 +9871,11 @@ }, "kind": { "default": "content#pubsubNotificationSettings", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#pubsubNotificationSettings\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#pubsubNotificationSettings`\"", "type": "string" }, "registeredEvents": { - "description": "List of event types. Supported event types: orderPendingShipment.", + "description": "List of event types.\n\nAcceptable values are: \n- \"`orderPendingShipment`\"", "items": { "type": "string" }, @@ -9093,7 +9895,7 @@ "type": "array" }, "carrierRates": { - "description": "A list of carrier rates that can be referred to by mainTable or singleValue.", + "description": "A list of carrier rates that can be referred to by `mainTable` or `singleValue`.", "items": { "$ref": "CarrierRate" }, @@ -9101,7 +9903,7 @@ }, "mainTable": { "$ref": "Table", - "description": "A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set." + "description": "A table defining the rate group, when `singleValue` is not expressive enough. Can only be set if `singleValue` is not set." }, "name": { "description": "Name of the rate group. Optional. If set has to be unique within shipping service.", @@ -9109,10 +9911,10 @@ }, "singleValue": { "$ref": "Value", - "description": "The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set." + "description": "The value of the rate group (e.g. flat rate $10). Can only be set if `mainTable` and `subtables` are not set." }, "subtables": { - "description": "A list of subtables referred to by mainTable. Can only be set if mainTable is set.", + "description": "A list of subtables referred to by `mainTable`. Can only be set if `mainTable` is set.", "items": { "$ref": "Table" }, @@ -9129,7 +9931,7 @@ "type": "string" }, "reasonCode": { - "description": "Code of the refund reason.\n\nAcceptable values are: \n- \"adjustment\" \n- \"autoPostInternal\" \n- \"autoPostInvalidBillingAddress\" \n- \"autoPostNoInventory\" \n- \"autoPostPriceError\" \n- \"autoPostUndeliverableShippingAddress\" \n- \"couponAbuse\" \n- \"courtesyAdjustment\" \n- \"customerCanceled\" \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"customerSupportRequested\" \n- \"deliveredLateByCarrier\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"failToPushOrderGoogleError\" \n- \"failToPushOrderMerchantError\" \n- \"failToPushOrderMerchantFulfillmentError\" \n- \"failToPushOrderToMerchant\" \n- \"failToPushOrderToMerchantOutOfStock\" \n- \"feeAdjustment\" \n- \"invalidCoupon\" \n- \"lateShipmentCredit\" \n- \"malformedShippingAddress\" \n- \"merchantDidNotShipOnTime\" \n- \"noInventory\" \n- \"orderTimeout\" \n- \"other\" \n- \"paymentAbuse\" \n- \"paymentDeclined\" \n- \"priceAdjustment\" \n- \"priceError\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"promoReallocation\" \n- \"qualityNotAsExpected\" \n- \"returnRefundAbuse\" \n- \"shippingCostAdjustment\" \n- \"shippingPriceError\" \n- \"taxAdjustment\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "Code of the refund reason.\n\nAcceptable values are: \n- \"`adjustment`\" \n- \"`autoPostInternal`\" \n- \"`autoPostInvalidBillingAddress`\" \n- \"`autoPostNoInventory`\" \n- \"`autoPostPriceError`\" \n- \"`autoPostUndeliverableShippingAddress`\" \n- \"`couponAbuse`\" \n- \"`courtesyAdjustment`\" \n- \"`customerCanceled`\" \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`customerSupportRequested`\" \n- \"`deliveredLateByCarrier`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`failToPushOrderGoogleError`\" \n- \"`failToPushOrderMerchantError`\" \n- \"`failToPushOrderMerchantFulfillmentError`\" \n- \"`failToPushOrderToMerchant`\" \n- \"`failToPushOrderToMerchantOutOfStock`\" \n- \"`feeAdjustment`\" \n- \"`invalidCoupon`\" \n- \"`lateShipmentCredit`\" \n- \"`malformedShippingAddress`\" \n- \"`merchantDidNotShipOnTime`\" \n- \"`noInventory`\" \n- \"`orderTimeout`\" \n- \"`other`\" \n- \"`paymentAbuse`\" \n- \"`paymentDeclined`\" \n- \"`priceAdjustment`\" \n- \"`priceError`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`promoReallocation`\" \n- \"`qualityNotAsExpected`\" \n- \"`returnRefundAbuse`\" \n- \"`shippingCostAdjustment`\" \n- \"`shippingPriceError`\" \n- \"`taxAdjustment`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" } }, @@ -9165,7 +9967,7 @@ }, "salePrice": { "$ref": "Price", - "description": "The sale price of the product. Mandatory if sale_price_effective_date is defined." + "description": "The sale price of the product. Mandatory if `sale_price_effective_date` is defined." }, "salePriceEffectiveDate": { "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.", @@ -9202,7 +10004,7 @@ "type": "string" }, "method": { - "description": "Method of the batch request entry.\n\nAcceptable values are: \n- \"insert\"", + "description": "Method of the batch request entry.\n\nAcceptable values are: \n- \"`insert`\"", "type": "string" }, "productId": { @@ -9283,7 +10085,7 @@ }, "kind": { "default": "content#returnAddress", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#returnAddress\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#returnAddress`\"", "type": "string" }, "label": { @@ -9359,7 +10161,7 @@ }, "kind": { "default": "content#returnPolicy", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#returnPolicy\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#returnPolicy`\"", "type": "string" }, "label": { @@ -9428,7 +10230,7 @@ "type": "string" }, "type": { - "description": "Policy type. Use \"lastReturnDate\" for seasonal overrides only. Note that for most items a minimum of 30 days is required for returns. Exceptions may be made for electronics or non-returnable items such as food, perishables, and living things. A policy of less than 30 days can only be applied to those items.\n\nAcceptable values are: \n- \"lastReturnDate\" \n- \"lifetimeReturns\" \n- \"noReturns\" \n- \"numberOfDaysAfterDelivery\"", + "description": "Policy type. Use \"lastReturnDate\" for seasonal overrides only. Note that for most items a minimum of 30 days is required for returns. Exceptions may be made for electronics or non-returnable items such as food, perishables, and living things. A policy of less than 30 days can only be applied to those items.\n\nAcceptable values are: \n- \"`lastReturnDate`\" \n- \"`lifetimeReturns`\" \n- \"`noReturns`\" \n- \"`numberOfDaysAfterDelivery`\"", "type": "string" } }, @@ -9476,6 +10278,32 @@ }, "type": "object" }, + "ReturnPricingInfo": { + "id": "ReturnPricingInfo", + "properties": { + "chargeReturnShippingFee": { + "description": "Default option for whether merchant should charge the customer for return shipping costs, based on customer selected return reason and merchant's return policy for the items being returned.", + "type": "boolean" + }, + "maxReturnShippingFee": { + "$ref": "MonetaryAmount", + "description": "Maximum return shipping costs that may be charged to the customer depending on merchant's assessment of the return reason and the merchant's return policy for the items being returned." + }, + "refundableItemsTotalAmount": { + "$ref": "MonetaryAmount", + "description": "Total amount that can be refunded for the items in this return. It represents the total amount received by the merchant for the items, after applying merchant coupons." + }, + "refundableShippingAmount": { + "$ref": "MonetaryAmount", + "description": "Maximum amount that can be refunded for the original shipping fee." + }, + "totalRefundedAmount": { + "$ref": "MonetaryAmount", + "description": "Total amount already refunded by the merchant. It includes all types of refunds (items, shipping, etc.) Not provided if no refund has been applied yet." + } + }, + "type": "object" + }, "ReturnShipment": { "id": "ReturnShipment", "properties": { @@ -9488,7 +10316,7 @@ "type": "string" }, "returnMethodType": { - "description": "Type of the return method.\n\nAcceptable values are: \n- \"byMail\" \n- \"contactCustomerSupport\" \n- \"returnless\"", + "description": "Type of the return method.\n\nAcceptable values are: \n- \"`byMail`\" \n- \"`contactCustomerSupport`\" \n- \"`returnless`\"", "type": "string" }, "shipmentId": { @@ -9507,7 +10335,7 @@ "type": "string" }, "state": { - "description": "State of the shipment.\n\nAcceptable values are: \n- \"completed\" \n- \"new\" \n- \"shipped\" \n- \"undeliverable\"", + "description": "State of the shipment.\n\nAcceptable values are: \n- \"`completed`\" \n- \"`new`\" \n- \"`shipped`\" \n- \"`undeliverable`\" \n- \"`pending`\"", "type": "string" } }, @@ -9540,15 +10368,15 @@ "type": "string" }, "method": { - "description": "Method of the batch request entry.\n\nAcceptable values are: \n- \"delete\" \n- \"get\" \n- \"insert\"", + "description": "Method of the batch request entry.\n\nAcceptable values are: \n- \"`delete`\" \n- \"`get`\" \n- \"`insert`\"", "type": "string" }, "returnAddress": { "$ref": "ReturnAddress", - "description": "The return address to submit. Set this only if the method is insert." + "description": "The return address to submit. Set this only if the method is `insert`." }, "returnAddressId": { - "description": "The return address ID. Set this only if the method is delete or get.", + "description": "The return address ID. Set this only if the method is `delete` or `get`.", "type": "string" } }, @@ -9586,7 +10414,7 @@ }, "kind": { "default": "content#returnaddressCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#returnaddressCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#returnaddressCustomBatchResponseEntry`\"", "type": "string" }, "returnAddress": { @@ -9644,15 +10472,15 @@ "type": "string" }, "method": { - "description": "Method of the batch request entry.\n\nAcceptable values are: \n- \"delete\" \n- \"get\" \n- \"insert\"", + "description": "Method of the batch request entry.\n\nAcceptable values are: \n- \"`delete`\" \n- \"`get`\" \n- \"`insert`\"", "type": "string" }, "returnPolicy": { "$ref": "ReturnPolicy", - "description": "The return policy to submit. Set this only if the method is insert." + "description": "The return policy to submit. Set this only if the method is `insert`." }, "returnPolicyId": { - "description": "The return policy ID. Set this only if the method is delete or get.", + "description": "The return policy ID. Set this only if the method is `delete` or `get`.", "type": "string" } }, @@ -9690,7 +10518,7 @@ }, "kind": { "default": "content#returnpolicyCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#returnpolicyCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#returnpolicyCustomBatchResponseEntry`\"", "type": "string" }, "returnPolicy": { @@ -9721,7 +10549,7 @@ "id": "Row", "properties": { "cells": { - "description": "The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.", + "description": "The list of cells that constitute the row. Must have the same length as `columnHeaders` for two-dimensional tables, a length of 1 for one-dimensional tables. Required.", "items": { "$ref": "Value" }, @@ -9750,12 +10578,16 @@ "description": "Time spent in various aspects from order to the delivery of the product. Required." }, "eligibility": { - "description": "Eligibility for this service.\n\nAcceptable values are: \n- \"All scenarios\" \n- \"All scenarios except Shopping Actions\" \n- \"Shopping Actions\"", + "description": "Eligibility for this service.\n\nAcceptable values are: \n- \"`All scenarios`\" \n- \"`All scenarios except Shopping Actions`\" \n- \"`Shopping Actions`\"", "type": "string" }, "minimumOrderValue": { "$ref": "Price", - "description": "Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency." + "description": "Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table." + }, + "minimumOrderValueTable": { + "$ref": "MinimumOrderValueTable", + "description": "Table of per store minimum order values for the pickup fulfillment type. Cannot be set together with minimum_order_value." }, "name": { "description": "Free-form name of the service. Must be unique within target account. Required.", @@ -9763,22 +10595,213 @@ }, "pickupService": { "$ref": "PickupCarrierService", - "description": "The carrier-service pair delivering items to collection points. The list of supported pickup services can be retrieved via the getSupportedPickupServices method. Required if and only if the service delivery type is pickup." + "description": "The carrier-service pair delivering items to collection points. The list of supported pickup services can be retrieved via the `getSupportedPickupServices` method. Required if and only if the service delivery type is `pickup`." }, "rateGroups": { - "description": "Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means \"everything else\". The other applicableShippingLabels must not overlap.", + "description": "Shipping rate group definitions. Only the last one is allowed to have an empty `applicableShippingLabels`, which means \"everything else\". The other `applicableShippingLabels` must not overlap.", "items": { "$ref": "RateGroup" }, "type": "array" }, "shipmentType": { - "description": "Type of locations this service ships orders to.\n\nAcceptable values are: \n- \"delivery\" \n- \"pickup\"", + "description": "Type of locations this service ships orders to.\n\nAcceptable values are: \n- \"`delivery`\" \n- \"`pickup`\"", "type": "string" } }, "type": "object" }, + "SettlementReport": { + "description": "Settlement reports detail order-level and item-level credits and debits between you and Google.", + "id": "SettlementReport", + "properties": { + "endDate": { + "description": "The end date on which all transactions are included in the report, in ISO 8601 format.", + "type": "string" + }, + "kind": { + "default": "content#settlementReport", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#settlementReport`\"", + "type": "string" + }, + "previousBalance": { + "$ref": "Price", + "description": "The residual amount from the previous invoice. This is set only if the previous invoices are not paid because of negative balance." + }, + "settlementId": { + "description": "The ID of the settlement report.", + "type": "string" + }, + "startDate": { + "description": "The start date on which all transactions are included in the report, in ISO 8601 format.", + "type": "string" + }, + "transferAmount": { + "$ref": "Price", + "description": "The money due to the merchant." + }, + "transferDate": { + "description": "Date on which transfer for this payment was initiated by Google, in ISO 8601 format.", + "type": "string" + }, + "transferIds": { + "description": "The list of bank identifiers used for the transfer. e.g. Trace ID for Federal Automated Clearing House (ACH). This may also be known as the Wire ID.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "SettlementTransaction": { + "description": "Settlement transactions give a detailed breakdown of the settlement report. (== resource_for v2.1.settlementtransactions ==)", + "id": "SettlementTransaction", + "properties": { + "amount": { + "$ref": "SettlementTransactionAmount", + "description": "The amount for the transaction." + }, + "identifiers": { + "$ref": "SettlementTransactionIdentifiers", + "description": "Identifiers of the transaction." + }, + "kind": { + "default": "content#settlementTransaction", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#settlementTransaction`\"", + "type": "string" + }, + "transaction": { + "$ref": "SettlementTransactionTransaction", + "description": "Details of the transaction." + } + }, + "type": "object" + }, + "SettlementTransactionAmount": { + "id": "SettlementTransactionAmount", + "properties": { + "commission": { + "$ref": "SettlementTransactionAmountCommission" + }, + "description": { + "description": "The description of the event.\n\nAcceptable values are: \n- \"`taxWithhold`\" \n- \"`principal`\" \n- \"`principalAdjustment`\" \n- \"`shippingFee`\" \n- \"`merchantRemittedSalesTax`\" \n- \"`googleRemittedSalesTax`\" \n- \"`merchantCoupon`\" \n- \"`merchantCouponTax`\" \n- \"`merchantRemittedDisposalTax`\" \n- \"`googleRemittedDisposalTax`\" \n- \"`merchantRemittedRedemptionFee`\" \n- \"`googleRemittedRedemptionFee`\" \n- \"`eeeEcoFee`\" \n- \"`furnitureEcoFee`\" \n- \"`copyPrivateFee`\" \n- \"`eeeEcoFeeCommission`\" \n- \"`furnitureEcoFeeCommission`\" \n- \"`copyPrivateFeeCommission`\" \n- \"`principalRefund`\" \n- \"`principalRefundTax`\" \n- \"`itemCommission`\" \n- \"`adjustmentCommission`\" \n- \"`shippingFeeCommission`\" \n- \"`commissionRefund`\" \n- \"`damaged`\" \n- \"`damagedOrDefectiveItem`\" \n- \"`expiredItem`\" \n- \"`faultyItem`\" \n- \"`incorrectItemReceived`\" \n- \"`itemMissing`\" \n- \"`qualityNotExpected`\" \n- \"`receivedTooLate`\" \n- \"`storePackageMissing`\" \n- \"`transitPackageMissing`\" \n- \"`unsuccessfulDeliveryUndeliverable`\" \n- \"`wrongChargeInStore`\" \n- \"`wrongItem`\" \n- \"`returns`\" \n- \"`undeliverable`\" \n- \"`refundFromMerchant`\" \n- \"`returnLabelShippingFee`\"", + "type": "string" + }, + "transactionAmount": { + "$ref": "Price", + "description": "The amount that contributes to the line item price." + }, + "type": { + "description": "The type of the amount.\n\nAcceptable values are: \n- \"`itemPrice`\" \n- \"`orderPrice`\" \n- \"`refund`\" \n- \"`earlyRefund`\" \n- \"`courtesyRefund`\" \n- \"`returnRefund`\" \n- \"`returnLabelShippingFeeAmount`\"", + "type": "string" + } + }, + "type": "object" + }, + "SettlementTransactionAmountCommission": { + "id": "SettlementTransactionAmountCommission", + "properties": { + "category": { + "description": "The category of the commission.\n\nAcceptable values are: \n- \"`animalsAndPetSupplies`\" \n- \"`dogCatFoodAndCatLitter`\" \n- \"`apparelAndAccessories`\" \n- \"`shoesHandbagsAndSunglasses`\" \n- \"`costumesAndAccessories`\" \n- \"`jewelry`\" \n- \"`watches`\" \n- \"`hobbiesArtsAndCrafts`\" \n- \"`homeAndGarden`\" \n- \"`entertainmentCollectibles`\" \n- \"`collectibleCoins`\" \n- \"`sportsCollectibles`\" \n- \"`sportingGoods`\" \n- \"`toysAndGames`\" \n- \"`musicalInstruments`\" \n- \"`giftCards`\" \n- \"`babyAndToddler`\" \n- \"`babyFoodWipesAndDiapers`\" \n- \"`businessAndIndustrial`\" \n- \"`camerasOpticsAndPhotography`\" \n- \"`consumerElectronics`\" \n- \"`electronicsAccessories`\" \n- \"`personalComputers`\" \n- \"`videoGameConsoles`\" \n- \"`foodAndGrocery`\" \n- \"`beverages`\" \n- \"`tobaccoProducts`\" \n- \"`furniture`\" \n- \"`hardware`\" \n- \"`buildingMaterials`\" \n- \"`tools`\" \n- \"`healthAndPersonalCare`\" \n- \"`beauty`\" \n- \"`householdSupplies`\" \n- \"`kitchenAndDining`\" \n- \"`majorAppliances`\" \n- \"`luggageAndBags`\" \n- \"`media`\" \n- \"`officeSupplies`\" \n- \"`softwareAndVideoGames`\" \n- \"`vehiclePartsAndAccessories`\" \n- \"`vehicleTiresAndWheels`\" \n- \"`vehicles`\" \n- \"`everythingElse`\"", + "type": "string" + }, + "rate": { + "description": "Rate of the commission in percentage.", + "type": "string" + } + }, + "type": "object" + }, + "SettlementTransactionIdentifiers": { + "id": "SettlementTransactionIdentifiers", + "properties": { + "adjustmentId": { + "description": "The identifier of the adjustments, if it is available.", + "type": "string" + }, + "merchantOrderId": { + "description": "The merchant provided order ID.", + "type": "string" + }, + "orderItemId": { + "description": "The identifier of the item.", + "type": "string" + }, + "settlementEntryId": { + "description": "The unique ID of the settlement transaction entry.", + "type": "string" + }, + "shipmentIds": { + "description": "The shipment ids for the item.", + "items": { + "type": "string" + }, + "type": "array" + }, + "transactionId": { + "description": "The Google transaction ID.", + "type": "string" + } + }, + "type": "object" + }, + "SettlementTransactionTransaction": { + "id": "SettlementTransactionTransaction", + "properties": { + "postDate": { + "description": "The time on which the event occurred in ISO 8601 format.", + "type": "string" + }, + "type": { + "description": "The type of the transaction that occurred.\n\nAcceptable values are: \n- \"`order`\" \n- \"`reversal`\" \n- \"`orderRefund`\" \n- \"`reversalRefund`\" \n- \"`issueRelatedRefundAndReplacement`\" \n- \"`returnLabelShippingFeeTransaction`\" \n- \"`reversalIssueRelatedRefundAndReplacement`\" \n- \"`reversalReturnLabelShippingFeeTransaction`\"", + "type": "string" + } + }, + "type": "object" + }, + "SettlementreportsListResponse": { + "id": "SettlementreportsListResponse", + "properties": { + "kind": { + "default": "content#settlementreportsListResponse", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#settlementreportsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "The token for the retrieval of the next page of returns.", + "type": "string" + }, + "resources": { + "items": { + "$ref": "SettlementReport" + }, + "type": "array" + } + }, + "type": "object" + }, + "SettlementtransactionsListResponse": { + "id": "SettlementtransactionsListResponse", + "properties": { + "kind": { + "default": "content#settlementtransactionsListResponse", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#settlementtransactionsListResponse\".", + "type": "string" + }, + "nextPageToken": { + "description": "The token for the retrieval of the next page of returns.", + "type": "string" + }, + "resources": { + "items": { + "$ref": "SettlementTransaction" + }, + "type": "array" + } + }, + "type": "object" + }, "ShipmentInvoice": { "id": "ShipmentInvoice", "properties": { @@ -9794,7 +10817,7 @@ "type": "array" }, "shipmentGroupId": { - "description": "[required] ID of the shipment group. It is assigned by the merchant in the shipLineItems method and is used to group multiple line items that have the same kind of shipping charges.", + "description": "[required] ID of the shipment group. It is assigned by the merchant in the `shipLineItems` method and is used to group multiple line items that have the same kind of shipping charges.", "type": "string" } }, @@ -9829,7 +10852,7 @@ "id": "ShipmentTrackingInfo", "properties": { "carrier": { - "description": "The shipping carrier that handles the package.\n\nAcceptable values are: \n- \"boxtal\" \n- \"bpost\" \n- \"chronopost\" \n- \"colisPrive\" \n- \"colissimo\" \n- \"cxt\" \n- \"deliv\" \n- \"dhl\" \n- \"dpd\" \n- \"dynamex\" \n- \"eCourier\" \n- \"easypost\" \n- \"efw\" \n- \"fedex\" \n- \"fedexSmartpost\" \n- \"geodis\" \n- \"gls\" \n- \"googleCourier\" \n- \"gsx\" \n- \"jdLogistics\" \n- \"laPoste\" \n- \"lasership\" \n- \"manual\" \n- \"mpx\" \n- \"onTrac\" \n- \"other\" \n- \"tnt\" \n- \"uds\" \n- \"ups\" \n- \"usps\"", + "description": "The shipping carrier that handles the package.\n\nAcceptable values are: \n- \"`boxtal`\" \n- \"`bpost`\" \n- \"`chronopost`\" \n- \"`colisPrive`\" \n- \"`colissimo`\" \n- \"`cxt`\" \n- \"`deliv`\" \n- \"`dhl`\" \n- \"`dpd`\" \n- \"`dynamex`\" \n- \"`eCourier`\" \n- \"`easypost`\" \n- \"`efw`\" \n- \"`fedex`\" \n- \"`fedexSmartpost`\" \n- \"`geodis`\" \n- \"`gls`\" \n- \"`googleCourier`\" \n- \"`gsx`\" \n- \"`jdLogistics`\" \n- \"`laPoste`\" \n- \"`lasership`\" \n- \"`manual`\" \n- \"`mpx`\" \n- \"`onTrac`\" \n- \"`other`\" \n- \"`tnt`\" \n- \"`uds`\" \n- \"`ups`\" \n- \"`usps`\"", "type": "string" }, "trackingNumber": { @@ -9849,7 +10872,7 @@ "type": "string" }, "postalCodeGroups": { - "description": "A list of postal code groups that can be referred to in services. Optional.", + "description": "A list of postal code groups that can be referred to in `services`. Optional.", "items": { "$ref": "PostalCodeGroup" }, @@ -9898,12 +10921,12 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\" \n- \"`update`\"", "type": "string" }, "shippingSettings": { "$ref": "ShippingSettings", - "description": "The account shipping settings to update. Only defined if the method is update." + "description": "The account shipping settings to update. Only defined if the method is `update`." } }, "type": "object" @@ -9941,7 +10964,7 @@ }, "kind": { "default": "content#shippingsettingsCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#shippingsettingsCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsCustomBatchResponseEntry`\"", "type": "string" }, "shippingSettings": { @@ -10042,7 +11065,7 @@ "description": "Headers of the table's rows. Required." }, "rows": { - "description": "The list of rows that constitute the table. Must have the same length as rowHeaders. Required.", + "description": "The list of rows that constitute the table. Must have the same length as `rowHeaders`. Required.", "items": { "$ref": "Row" }, @@ -10054,13 +11077,17 @@ "TestOrder": { "id": "TestOrder", "properties": { + "deliveryDetails": { + "$ref": "TestOrderDeliveryDetails", + "description": "Overrides the predefined delivery details if provided." + }, "enableOrderinvoices": { "description": "Whether the orderinvoices service should support this order.", "type": "boolean" }, "kind": { "default": "content#testOrder", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#testOrder\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#testOrder`\"", "type": "string" }, "lineItems": { @@ -10076,16 +11103,20 @@ "type": "array" }, "notificationMode": { - "description": "Determines if test order must be pulled by merchant or pushed to merchant via push integration.\n\nAcceptable values are: \n- \"checkoutIntegration\" \n- \"merchantPull\"", + "description": "Restricted. Do not use.", "type": "string" }, + "pickupDetails": { + "$ref": "TestOrderPickupDetails", + "description": "Overrides the predefined pickup details if provided." + }, "predefinedBillingAddress": { "annotations": { "required": [ "content.orders.createtestorder" ] }, - "description": "Required. The billing address.\n\nAcceptable values are: \n- \"dwight\" \n- \"jim\" \n- \"pam\"", + "description": "Required. The billing address.\n\nAcceptable values are: \n- \"`dwight`\" \n- \"`jim`\" \n- \"`pam`\"", "type": "string" }, "predefinedDeliveryAddress": { @@ -10094,7 +11125,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. Identifier of one of the predefined delivery addresses for the delivery.\n\nAcceptable values are: \n- \"dwight\" \n- \"jim\" \n- \"pam\"", + "description": "Required. Identifier of one of the predefined delivery addresses for the delivery.\n\nAcceptable values are: \n- \"`dwight`\" \n- \"`jim`\" \n- \"`pam`\"", "type": "string" }, "predefinedEmail": { @@ -10103,11 +11134,11 @@ "content.orders.createtestorder" ] }, - "description": "Required. Email address of the customer.\n\nAcceptable values are: \n- \"pog.dwight.schrute@gmail.com\" \n- \"pog.jim.halpert@gmail.com\" \n- \"penpog.pam.beesly@gmail.comding\"", + "description": "Required. Email address of the customer.\n\nAcceptable values are: \n- \"`pog.dwight.schrute@gmail.com`\" \n- \"`pog.jim.halpert@gmail.com`\" \n- \"`penpog.pam.beesly@gmail.comding`\"", "type": "string" }, "predefinedPickupDetails": { - "description": "Identifier of one of the predefined pickup details. Required for orders containing line items with shipping type pickup.\n\nAcceptable values are: \n- \"dwight\" \n- \"jim\" \n- \"pam\"", + "description": "Identifier of one of the predefined pickup details. Required for orders containing line items with shipping type `pickup`.\n\nAcceptable values are: \n- \"`dwight`\" \n- \"`jim`\" \n- \"`pam`\"", "type": "string" }, "promotions": { @@ -10132,7 +11163,65 @@ "content.orders.createtestorder" ] }, - "description": "Required. The requested shipping option.\n\nAcceptable values are: \n- \"economy\" \n- \"expedited\" \n- \"oneDay\" \n- \"sameDay\" \n- \"standard\" \n- \"twoDay\"", + "description": "Required. The requested shipping option.\n\nAcceptable values are: \n- \"`economy`\" \n- \"`expedited`\" \n- \"`oneDay`\" \n- \"`sameDay`\" \n- \"`standard`\" \n- \"`twoDay`\"", + "type": "string" + } + }, + "type": "object" + }, + "TestOrderAddress": { + "id": "TestOrderAddress", + "properties": { + "country": { + "description": "CLDR country code (e.g. \"US\").", + "type": "string" + }, + "fullAddress": { + "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" + }, + "type": "array" + }, + "isPostOfficeBox": { + "description": "Whether the address is a post office box.", + "type": "boolean" + }, + "locality": { + "description": "City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).", + "type": "string" + }, + "postalCode": { + "description": "Postal Code or ZIP (e.g. \"94043\").", + "type": "string" + }, + "recipientName": { + "description": "Name of the recipient.", + "type": "string" + }, + "region": { + "description": "Top-level administrative subdivision of the country. For example, a state like California (\"CA\") or a province like Quebec (\"QC\").", + "type": "string" + }, + "streetAddress": { + "description": "Street-level part of the address.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestOrderDeliveryDetails": { + "id": "TestOrderDeliveryDetails", + "properties": { + "address": { + "$ref": "TestOrderAddress", + "description": "The delivery address" + }, + "phoneNumber": { + "description": "The phone number of the person receiving the delivery.", "type": "string" } }, @@ -10194,7 +11283,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. Condition or state of the item.\n\nAcceptable values are: \n- \"new\"", + "description": "Required. Condition or state of the item.\n\nAcceptable values are: \n- \"`new`\"", "type": "string" }, "contentLanguage": { @@ -10203,7 +11292,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. The two-letter ISO 639-1 language code for the item.\n\nAcceptable values are: \n- \"en\" \n- \"fr\"", + "description": "Required. The two-letter ISO 639-1 language code for the item.\n\nAcceptable values are: \n- \"`en`\" \n- \"`fr`\"", "type": "string" }, "fees": { @@ -10280,11 +11369,50 @@ }, "type": "object" }, + "TestOrderPickupDetails": { + "id": "TestOrderPickupDetails", + "properties": { + "locationCode": { + "description": "Required. Code of the location defined by provider or merchant.", + "type": "string" + }, + "pickupLocationAddress": { + "$ref": "TestOrderAddress", + "description": "Required. Pickup location address." + }, + "pickupLocationType": { + "description": "Pickup location type.\n\nAcceptable values are: \n- \"`locker`\" \n- \"`store`\" \n- \"`curbside`\"", + "type": "string" + }, + "pickupPersons": { + "description": "Required. all pickup persons set by users.", + "items": { + "$ref": "TestOrderPickupDetailsPickupPerson" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestOrderPickupDetailsPickupPerson": { + "id": "TestOrderPickupDetailsPickupPerson", + "properties": { + "name": { + "description": "Required. Full name of the pickup person.", + "type": "string" + }, + "phoneNumber": { + "description": "Required. The phone number of the person picking up the items.", + "type": "string" + } + }, + "type": "object" + }, "TransitTable": { "id": "TransitTable", "properties": { "postalCodeGroupNames": { - "description": "A list of postal group names. The last value can be \"all other locations\". Example: [\"zone 1\", \"zone 2\", \"all other locations\"]. The referred postal code groups must match the delivery country of the service.", + "description": "A list of postal group names. The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service.", "items": { "type": "string" }, @@ -10297,7 +11425,7 @@ "type": "array" }, "transitTimeLabels": { - "description": "A list of transit time labels. The last value can be \"all other labels\". Example: [\"food\", \"electronics\", \"all other labels\"].", + "description": "A list of transit time labels. The last value can be `\"all other labels\"`. Example: `[\"food\", \"electronics\", \"all other labels\"]`.", "items": { "type": "string" }, @@ -10322,7 +11450,7 @@ "id": "TransitTableTransitTimeRowTransitTimeValue", "properties": { "maxTransitTimeInDays": { - "description": "Must be greater than or equal to minTransitTimeInDays.", + "description": "Must be greater than or equal to `minTransitTimeInDays`.", "format": "uint32", "type": "integer" }, @@ -10366,7 +11494,7 @@ "description": "[required] Amount of the additional charge." }, "type": { - "description": "[required] Type of the additional charge.\n\nAcceptable values are: \n- \"shipping\"", + "description": "[required] Type of the additional charge.\n\nAcceptable values are: \n- \"`shipping`\"", "type": "string" } }, @@ -10380,18 +11508,18 @@ "description": "[required] Tax amount for the tax type." }, "taxName": { - "description": "Optional name of the tax type. This should only be provided if taxType is otherFeeTax.", + "description": "Optional name of the tax type. This should only be provided if `taxType` is `otherFeeTax`.", "type": "string" }, "taxType": { - "description": "[required] Type of the tax.\n\nAcceptable values are: \n- \"otherFee\" \n- \"otherFeeTax\" \n- \"sales\"", + "description": "[required] Type of the tax.\n\nAcceptable values are: \n- \"`otherFee`\" \n- \"`otherFeeTax`\" \n- \"`sales`\"", "type": "string" } }, "type": "object" }, "Value": { - "description": "The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.", + "description": "The single value of a rate group or the value of a rate group table's cell. Exactly one of `noShipping`, `flatRate`, `pricePercentage`, `carrierRateName`, `subtableName` must be set.", "id": "Value", "properties": { "carrierRateName": { @@ -10407,7 +11535,7 @@ "type": "boolean" }, "pricePercentage": { - "description": "A percentage of the price represented as a number in decimal notation (e.g., \"5.4\"). Can only be set if all other fields are not set.", + "description": "A percentage of the price represented as a number in decimal notation (e.g., `\"5.4\"`). Can only be set if all other fields are not set.", "type": "string" }, "subtableName": { @@ -10421,7 +11549,7 @@ "id": "Weight", "properties": { "unit": { - "description": "Required. The weight unit.\n\nAcceptable values are: \n- \"kg\" \n- \"lb\"", + "description": "Required. The weight unit.\n\nAcceptable values are: \n- \"`kg`\" \n- \"`lb`\"", "type": "string" }, "value": { diff --git a/etc/api/content/v2/content-api.json b/etc/api/content/v2/content-api.json index 0eb1a7b570..146f219333 100644 --- a/etc/api/content/v2/content-api.json +++ b/etc/api/content/v2/content-api.json @@ -15,7 +15,7 @@ "description": "Manages product items, inventory, and Merchant Center accounts for Google Shopping.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/shopping-content", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/FCbogHEaDYtIb38u_EKa1gG2PAw\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/seWVFIM6TQ0ZbicGCsWtCvIDWuo\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -103,14 +103,14 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, "type": "string" }, "overwrite": { - "description": "Only available to selected merchants. When set to True, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account.", + "description": "Only available to selected merchants. When set to `True`, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account.", "location": "query", "type": "boolean" } @@ -202,7 +202,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -266,7 +266,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -320,7 +320,7 @@ ] }, "update": { - "description": "Updates a Merchant Center account.", + "description": "Updates a Merchant Center account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.accounts.update", "parameterOrder": [ @@ -341,7 +341,7 @@ "type": "boolean" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -401,7 +401,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -500,7 +500,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -551,7 +551,7 @@ ] }, "update": { - "description": "Updates the tax settings of the account.", + "description": "Updates the tax settings of the account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.accounttax.update", "parameterOrder": [ @@ -572,7 +572,7 @@ "type": "boolean" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -787,7 +787,7 @@ ] }, "update": { - "description": "Updates a datafeed configuration of your Merchant Center account.", + "description": "Updates a datafeed configuration of your Merchant Center account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.datafeeds.update", "parameterOrder": [ @@ -977,7 +977,7 @@ "type": "string" }, "storeCode": { - "description": "The code of the store for which to update price and availability. Use online to update price and availability of an online product.", + "description": "The code of the store for which to update price and availability. Use `online` to update price and availability of an online product.", "location": "path", "required": true, "type": "string" @@ -1037,7 +1037,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1069,7 +1069,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1155,7 +1155,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1194,7 +1194,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1254,7 +1254,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1293,7 +1293,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1320,7 +1320,7 @@ ] }, "update": { - "description": "Updates the LIA settings of the account.", + "description": "Updates the LIA settings of the account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.liasettings.update", "parameterOrder": [ @@ -1341,7 +1341,7 @@ "type": "boolean" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -1398,7 +1398,7 @@ ] }, "createrefundinvoice": { - "description": "Creates a refund invoice for one or more shipment groups, and triggers a refund for orderinvoice enabled orders. This can only be used for line items that have previously been charged using createChargeInvoice. All amounts (except for the summary) are incremental with respect to the previous invoice.", + "description": "Creates a refund invoice for one or more shipment groups, and triggers a refund for orderinvoice enabled orders. This can only be used for line items that have previously been charged using `createChargeInvoice`. All amounts (except for the summary) are incremental with respect to the previous invoice.", "httpMethod": "POST", "id": "content.orderinvoices.createrefundinvoice", "parameterOrder": [ @@ -1668,7 +1668,7 @@ ] }, "advancetestorder": { - "description": "Sandbox only. Moves a test order from state \"inProgress\" to state \"pendingShipment\".", + "description": "Sandbox only. Moves a test order from state \"`inProgress`\" to state \"`pendingShipment`\".", "httpMethod": "POST", "id": "content.orders.advancetestorder", "parameterOrder": [ @@ -1948,7 +1948,7 @@ ], "parameters": { "country": { - "description": "The country of the template to retrieve. Defaults to US.", + "description": "The country of the template to retrieve. Defaults to `US`.", "location": "query", "type": "string" }, @@ -2031,7 +2031,7 @@ ], "parameters": { "acknowledged": { - "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.", + "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", "type": "boolean" }, @@ -2069,7 +2069,7 @@ "type": "string" }, "statuses": { - "description": "Obtains orders that match any of the specified statuses. Please note that active is a shortcut for pendingShipment and partiallyShipped, and completed is a shortcut for shipped, partiallyDelivered, delivered, partiallyReturned, returned, and canceled.", + "description": "Obtains orders that match any of the specified statuses. 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", @@ -2212,7 +2212,7 @@ ] }, "returnrefundlineitem": { - "description": "Returns and refunds a line item. Note that this method can only be called on fully shipped orders.", + "description": "Returns and refunds a line item. Note that this method can only be called on fully shipped orders. Please also note that the Orderreturns API is the preferred way to handle returns after you receive a return from a customer. You can use Orderreturns.list or Orderreturns.get to search for the return, and then use Orderreturns.processreturn to issue the refund. If the return cannot be found, then we recommend using this API to issue a refund.", "httpMethod": "POST", "id": "content.orders.returnrefundlineitem", "parameterOrder": [ @@ -2997,7 +2997,7 @@ "type": "string" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -3120,7 +3120,7 @@ ] }, "update": { - "description": "Updates the shipping settings of the account.", + "description": "Updates the shipping settings of the account. Any fields that are not provided are deleted from the resource.", "httpMethod": "PUT", "id": "content.shippingsettings.update", "parameterOrder": [ @@ -3141,7 +3141,7 @@ "type": "boolean" }, "merchantId": { - "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "description": "The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and `accountId` must be the ID of a sub-account of this account.", "format": "uint64", "location": "path", "required": true, @@ -3162,7 +3162,7 @@ } } }, - "revision": "20200310", + "revision": "20200617", "rootUrl": "https://www.googleapis.com/", "schemas": { "Account": { @@ -3174,7 +3174,7 @@ "type": "boolean" }, "adwordsLinks": { - "description": "List of linked AdWords accounts that are active or pending approval. To create a new link request, add a new link with status active to the list. It will remain in a pending state until approved or rejected either in the AdWords interface or through the AdWords API. To delete an active link, or to cancel a link request, remove it from the list.", + "description": "List of linked AdWords accounts that are active or pending approval. To create a new link request, add a new link with status `active` to the list. It will remain in a `pending` state until approved or rejected either in the AdWords interface or through the AdWords API. To delete an active link, or to cancel a link request, remove it from the list.", "items": { "$ref": "AccountAdwordsLink" }, @@ -3200,7 +3200,7 @@ }, "kind": { "default": "content#account", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#account\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#account`\"", "type": "string" }, "name": { @@ -3233,7 +3233,7 @@ "type": "string" }, "youtubeChannelLinks": { - "description": "List of linked YouTube channels that are active or pending approval. To create a new link request, add a new link with status active to the list. It will remain in a pending state until approved or rejected in the YT Creator Studio interface. To delete an active link, or to cancel a link request, remove it from the list.", + "description": "List of linked YouTube channels that are active or pending approval. To create a new link request, add a new link with status `active` to the list. It will remain in a `pending` state until approved or rejected in the YT Creator Studio interface. To delete an active link, or to cancel a link request, remove it from the list.", "items": { "$ref": "AccountYouTubeChannelLink" }, @@ -3277,7 +3277,7 @@ "type": "string" }, "status": { - "description": "Status of the link between this Merchant Center account and the AdWords account. Upon retrieval, it represents the actual status of the link and can be either active if it was approved in Google AdWords or pending if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status active when it's still pending or with status pending when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status inactive is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.\n\nAcceptable values are: \n- \"active\" \n- \"pending\"", + "description": "Status of the link between this Merchant Center account and the AdWords account. Upon retrieval, it represents the actual status of the link and can be either `active` if it was approved in Google AdWords or `pending` if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status `active` when it's still pending or with status `pending` when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status `inactive` is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.\n\nAcceptable values are: \n- \"`active`\" \n- \"`pending`\"", "type": "string" } }, @@ -3327,7 +3327,7 @@ "type": "string" }, "status": { - "description": "Status of the link between this Merchant Center account and the GMB account.\n\nAcceptable values are: \n- \"active\" \n- \"pending\"", + "description": "Status of the link between this Merchant Center account and the GMB account.\n\nAcceptable values are: \n- \"`active`\" \n- \"`pending`\"", "type": "string" } }, @@ -3373,7 +3373,7 @@ }, "kind": { "default": "content#accountStatus", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountStatus\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountStatus`\"", "type": "string" }, "products": { @@ -3414,7 +3414,7 @@ "type": "string" }, "severity": { - "description": "Severity of the issue.\n\nAcceptable values are: \n- \"critical\" \n- \"error\" \n- \"suggestion\"", + "description": "Severity of the issue.\n\nAcceptable values are: \n- \"`critical`\" \n- \"`error`\" \n- \"`suggestion`\"", "type": "string" }, "title": { @@ -3459,7 +3459,7 @@ "type": "integer" }, "severity": { - "description": "Acceptable values are: \n- \"critical\" \n- \"error\" \n- \"suggestion\"", + "description": "Acceptable values are: \n- \"`critical`\" \n- \"`error`\" \n- \"`suggestion`\"", "type": "string" }, "submittedValue": { @@ -3532,7 +3532,7 @@ "id": "AccountStatusProducts", "properties": { "channel": { - "description": "The channel the data applies to.\n\nAcceptable values are: \n- \"local\" \n- \"online\"", + "description": "The channel the data applies to.\n\nAcceptable values are: \n- \"`local`\" \n- \"`online`\"", "type": "string" }, "country": { @@ -3679,7 +3679,7 @@ "type": "string" }, "status": { - "description": "Status of the link between this Merchant Center account and the YouTube channel. Upon retrieval, it represents the actual status of the link and can be either active if it was approved in YT Creator Studio or pending if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status active when it's still pending or with status pending when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status inactive is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.", + "description": "Status of the link between this Merchant Center account and the YouTube channel. Upon retrieval, it represents the actual status of the link and can be either `active` if it was approved in YT Creator Studio or `pending` if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status `active` when it's still pending or with status `pending` when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status `inactive` is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.", "type": "string" } }, @@ -3733,10 +3733,10 @@ "properties": { "account": { "$ref": "Account", - "description": "The account to create or update. Only defined if the method is insert or update." + "description": "The account to create or update. Only defined if the method is `insert` or `update`." }, "accountId": { - "description": "The ID of the targeted account. Only defined if the method is not insert.", + "description": "The ID of the targeted account. Only defined if the method is not `insert`.", "format": "uint64", "type": "string" }, @@ -3746,12 +3746,12 @@ "type": "integer" }, "force": { - "description": "Whether the account should be deleted if the account has offers. Only applicable if the method is delete.", + "description": "Whether the account should be deleted if the account has offers. Only applicable if the method is `delete`.", "type": "boolean" }, "linkRequest": { "$ref": "AccountsCustomBatchRequestEntryLinkRequest", - "description": "Details about the link request." + "description": "Details about the `link` request." }, "merchantId": { "description": "The ID of the managing account.", @@ -3759,11 +3759,11 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"claimWebsite\" \n- \"delete\" \n- \"get\" \n- \"insert\" \n- \"link\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`claimWebsite`\" \n- \"`delete`\" \n- \"`get`\" \n- \"`insert`\" \n- \"`link`\" \n- \"`update`\"", "type": "string" }, "overwrite": { - "description": "Only applicable if the method is claimwebsite. Indicates whether or not to take the claim from another account in case there is a conflict.", + "description": "Only applicable if the method is `claimwebsite`. Indicates whether or not to take the claim from another account in case there is a conflict.", "type": "boolean" } }, @@ -3773,11 +3773,11 @@ "id": "AccountsCustomBatchRequestEntryLinkRequest", "properties": { "action": { - "description": "Action to perform for this link. The \"request\" action is only available to select merchants.\n\nAcceptable values are: \n- \"approve\" \n- \"remove\" \n- \"request\"", + "description": "Action to perform for this link. The `\"request\"` action is only available to select merchants.\n\nAcceptable values are: \n- \"`approve`\" \n- \"`remove`\" \n- \"`request`\"", "type": "string" }, "linkType": { - "description": "Type of the link between the two accounts.\n\nAcceptable values are: \n- \"channelPartner\" \n- \"eCommercePlatform\"", + "description": "Type of the link between the two accounts.\n\nAcceptable values are: \n- \"`channelPartner`\" \n- \"`eCommercePlatform`\"", "type": "string" }, "linkedAccountId": { @@ -3811,7 +3811,7 @@ "properties": { "account": { "$ref": "Account", - "description": "The retrieved, created, or updated account. Not defined if the method was delete, claimwebsite or link." + "description": "The retrieved, created, or updated account. Not defined if the method was `delete`, `claimwebsite` or `link`." }, "batchId": { "description": "The ID of the request entry this entry responds to.", @@ -3824,11 +3824,11 @@ }, "kind": { "default": "content#accountsCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsCustomBatchResponseEntry`\"", "type": "string" }, "linkStatus": { - "description": "Deprecated. This field is never set.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "Deprecated. This field is never set.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" } }, @@ -3838,11 +3838,11 @@ "id": "AccountsLinkRequest", "properties": { "action": { - "description": "Action to perform for this link. The \"request\" action is only available to select merchants.\n\nAcceptable values are: \n- \"approve\" \n- \"remove\" \n- \"request\"", + "description": "Action to perform for this link. The `\"request\"` action is only available to select merchants.\n\nAcceptable values are: \n- \"`approve`\" \n- \"`remove`\" \n- \"`request`\"", "type": "string" }, "linkType": { - "description": "Type of the link between the two accounts.\n\nAcceptable values are: \n- \"channelPartner\" \n- \"eCommercePlatform\"", + "description": "Type of the link between the two accounts.\n\nAcceptable values are: \n- \"`channelPartner`\" \n- \"`eCommercePlatform`\"", "type": "string" }, "linkedAccountId": { @@ -3924,7 +3924,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\"", "type": "string" } }, @@ -4013,7 +4013,7 @@ }, "accountTax": { "$ref": "AccountTax", - "description": "The account tax settings to update. Only defined if the method is update." + "description": "The account tax settings to update. Only defined if the method is `update`." }, "batchId": { "description": "An entry ID, unique within the batch request.", @@ -4026,7 +4026,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\" \n- \"`update`\"", "type": "string" } }, @@ -4069,7 +4069,7 @@ }, "kind": { "default": "content#accounttaxCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accounttaxCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accounttaxCustomBatchResponseEntry`\"", "type": "string" } }, @@ -4127,16 +4127,16 @@ "id": "CarrierRate", "properties": { "carrierName": { - "description": "Carrier service, such as \"UPS\" or \"Fedex\". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.", + "description": "Carrier service, such as `\"UPS\"` or `\"Fedex\"`. The list of supported carriers can be retrieved via the `getSupportedCarriers` method. Required.", "type": "string" }, "carrierService": { - "description": "Carrier service, such as \"ground\" or \"2 days\". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.", + "description": "Carrier service, such as `\"ground\"` or `\"2 days\"`. The list of supported services for a carrier can be retrieved via the `getSupportedCarriers` method. Required.", "type": "string" }, "flatAdjustment": { "$ref": "Price", - "description": "Additive shipping rate modifier. Can be negative. For example { \"value\": \"1\", \"currency\" : \"USD\" } adds $1 to the rate, { \"value\": \"-3\", \"currency\" : \"USD\" } removes $3 from the rate. Optional." + "description": "Additive shipping rate modifier. Can be negative. For example `{ \"value\": \"1\", \"currency\" : \"USD\" }` adds $1 to the rate, `{ \"value\": \"-3\", \"currency\" : \"USD\" }` removes $3 from the rate. Optional." }, "name": { "description": "Name of the carrier rate. Must be unique per rate group. Required.", @@ -4147,7 +4147,7 @@ "type": "string" }, "percentageAdjustment": { - "description": "Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example \"5.4\" increases the rate by 5.4%, \"-3\" decreases the rate by 3%. Optional.", + "description": "Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example `\"5.4\"` increases the rate by 5.4%, `\"-3\"` decreases the rate by 3%. Optional.", "type": "string" } }, @@ -4161,11 +4161,11 @@ "type": "string" }, "name": { - "description": "The name of the carrier (e.g., \"UPS\"). Always present.", + "description": "The name of the carrier (e.g., `\"UPS\"`). Always present.", "type": "string" }, "services": { - "description": "A list of supported services (e.g., \"ground\") for that carrier. Contains at least one service.", + "description": "A list of supported services (e.g., `\"ground\"`) for that carrier. Contains at least one service.", "items": { "type": "string" }, @@ -4182,7 +4182,7 @@ "type": "string" }, "type": { - "description": "The type of the attribute.\n\nAcceptable values are: \n- \"boolean\" \n- \"datetimerange\" \n- \"float\" \n- \"group\" \n- \"int\" \n- \"price\" \n- \"text\" \n- \"time\" \n- \"url\"", + "description": "The type of the attribute.\n\nAcceptable values are: \n- \"`boolean`\" \n- \"`datetimerange`\" \n- \"`float`\" \n- \"`group`\" \n- \"`int`\" \n- \"`price`\" \n- \"`text`\" \n- \"`time`\" \n- \"`url`\"", "type": "string" }, "unit": { @@ -4221,7 +4221,7 @@ "type": "string" }, "reasonCode": { - "description": "Code of the return reason.\n\nAcceptable values are: \n- \"betterPriceFound\" \n- \"changedMind\" \n- \"damagedOrDefectiveItem\" \n- \"didNotMatchDescription\" \n- \"doesNotFit\" \n- \"expiredItem\" \n- \"incorrectItemReceived\" \n- \"noLongerNeeded\" \n- \"notSpecified\" \n- \"orderedWrongItem\" \n- \"other\" \n- \"qualityNotExpected\" \n- \"receivedTooLate\" \n- \"undeliverable\"", + "description": "Code of the return reason.\n\nAcceptable values are: \n- \"`betterPriceFound`\" \n- \"`changedMind`\" \n- \"`damagedOrDefectiveItem`\" \n- \"`didNotMatchDescription`\" \n- \"`doesNotFit`\" \n- \"`expiredItem`\" \n- \"`incorrectItemReceived`\" \n- \"`noLongerNeeded`\" \n- \"`notSpecified`\" \n- \"`orderedWrongItem`\" \n- \"`other`\" \n- \"`qualityNotExpected`\" \n- \"`receivedTooLate`\" \n- \"`undeliverable`\"", "type": "string" } }, @@ -4256,7 +4256,7 @@ "type": "string" }, "contentLanguage": { - "description": "[DEPRECATED] Please use targets[].language instead. The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for targetCountry.", + "description": "[DEPRECATED] Please use targets[].language instead. The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for `targetCountry`.", "type": "string" }, "contentType": { @@ -4266,7 +4266,7 @@ "content.datafeeds.update" ] }, - "description": "Required. The type of data feed. For product inventory feeds, only feeds for local stores, not online stores, are supported.\n\nAcceptable values are: \n- \"local products\" \n- \"product inventory\" \n- \"products\"", + "description": "Required. The type of data feed. For product inventory feeds, only feeds for local stores, not online stores, are supported.\n\nAcceptable values are: \n- \"`local products`\" \n- \"`product inventory`\" \n- \"`products`\"", "type": "string" }, "fetchSchedule": { @@ -4298,7 +4298,7 @@ "type": "string" }, "intendedDestinations": { - "description": "[DEPRECATED] Please use targets[].includedDestinations instead. The list of intended destinations (corresponds to checked check boxes in Merchant Center).", + "description": "[DEPRECATED] Please use targets[].includedDestinations instead. The list of intended destinations (corresponds to checked check boxes in Merchant Center).", "items": { "type": "string" }, @@ -4306,7 +4306,7 @@ }, "kind": { "default": "content#datafeed", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeed\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeed`\"", "type": "string" }, "name": { @@ -4372,7 +4372,7 @@ "type": "string" }, "weekday": { - "description": "The day of the week the feed file should be fetched.\n\nAcceptable values are: \n- \"monday\" \n- \"tuesday\" \n- \"wednesday\" \n- \"thursday\" \n- \"friday\" \n- \"saturday\" \n- \"sunday\"", + "description": "The day of the week the feed file should be fetched.\n\nAcceptable values are: \n- \"`monday`\" \n- \"`tuesday`\" \n- \"`wednesday`\" \n- \"`thursday`\" \n- \"`friday`\" \n- \"`saturday`\" \n- \"`sunday`\"", "type": "string" } }, @@ -4382,15 +4382,15 @@ "id": "DatafeedFormat", "properties": { "columnDelimiter": { - "description": "Delimiter for the separation of values in a delimiter-separated values feed. If not specified, the delimiter will be auto-detected. Ignored for non-DSV data feeds.\n\nAcceptable values are: \n- \"pipe\" \n- \"tab\" \n- \"tilde\"", + "description": "Delimiter for the separation of values in a delimiter-separated values feed. If not specified, the delimiter will be auto-detected. Ignored for non-DSV data feeds.\n\nAcceptable values are: \n- \"`pipe`\" \n- \"`tab`\" \n- \"`tilde`\"", "type": "string" }, "fileEncoding": { - "description": "Character encoding scheme of the data feed. If not specified, the encoding will be auto-detected.\n\nAcceptable values are: \n- \"latin-1\" \n- \"utf-16be\" \n- \"utf-16le\" \n- \"utf-8\" \n- \"windows-1252\"", + "description": "Character encoding scheme of the data feed. If not specified, the encoding will be auto-detected.\n\nAcceptable values are: \n- \"`latin-1`\" \n- \"`utf-16be`\" \n- \"`utf-16le`\" \n- \"`utf-8`\" \n- \"`windows-1252`\"", "type": "string" }, "quotingMode": { - "description": "Specifies how double quotes are interpreted. If not specified, the mode will be auto-detected. Ignored for non-DSV data feeds.\n\nAcceptable values are: \n- \"normal character\" \n- \"value quoting\"", + "description": "Specifies how double quotes are interpreted. If not specified, the mode will be auto-detected. Ignored for non-DSV data feeds.\n\nAcceptable values are: \n- \"`normal character`\" \n- \"`value quoting`\"", "type": "string" } }, @@ -4428,7 +4428,7 @@ }, "kind": { "default": "content#datafeedStatus", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedStatus\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedStatus`\"", "type": "string" }, "language": { @@ -4440,7 +4440,7 @@ "type": "string" }, "processingStatus": { - "description": "The processing status of the feed.\n\nAcceptable values are: \n- \"\"failure\": The feed could not be processed or all items had errors.\" \n- \"in progress\": The feed is being processed. \n- \"none\": The feed has not yet been processed. For example, a feed that has never been uploaded will have this processing status. \n- \"success\": The feed was processed successfully, though some items might have had errors.", + "description": "The processing status of the feed.\n\nAcceptable values are: \n- \"`\"`failure`\": The feed could not be processed or all items had errors.`\" \n- \"`in progress`\": The feed is being processed. \n- \"`none`\": The feed has not yet been processed. For example, a feed that has never been uploaded will have this processing status. \n- \"`success`\": The feed was processed successfully, though some items might have had errors.", "type": "string" }, "warnings": { @@ -4515,14 +4515,14 @@ "type": "array" }, "includedDestinations": { - "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.\n\nList of supported destinations (if available to the account): \n- DisplayAds \n- Shopping \n- ShoppingActions \n- SurfacesAcrossGoogle", + "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.\n\nList of supported destinations (if available to the account): \n- DisplayAds \n- Shopping \n- ShoppingActions \n- SurfacesAcrossGoogle", "items": { "type": "string" }, "type": "array" }, "language": { - "description": "The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for targets[].country.", + "description": "The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for `targets[].country`.", "type": "string" } }, @@ -4565,7 +4565,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"delete\" \n- \"fetchNow\" \n- \"get\" \n- \"insert\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`delete`\" \n- \"`fetchNow`\" \n- \"`get`\" \n- \"`insert`\" \n- \"`update`\"", "type": "string" } }, @@ -4682,7 +4682,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\"", "type": "string" } }, @@ -4766,12 +4766,12 @@ "type": "array" }, "maxHandlingTimeInDays": { - "description": "Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.", + "description": "Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to `minHandlingTimeInDays`.", "format": "uint32", "type": "integer" }, "maxTransitTimeInDays": { - "description": "Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.", + "description": "Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to `minTransitTimeInDays`.", "format": "uint32", "type": "integer" }, @@ -4781,7 +4781,7 @@ "type": "integer" }, "minTransitTimeInDays": { - "description": "Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}TransitTimeInDays or transitTimeTable must be set, but not both.", + "description": "Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either `{min,max}TransitTimeInDays` or `transitTimeTable` must be set, but not both.", "format": "uint32", "type": "integer" }, @@ -4791,7 +4791,7 @@ }, "transitTimeTable": { "$ref": "TransitTable", - "description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}TransitTimeInDays or transitTimeTable can be set, but not both." + "description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either `{min,max}TransitTimeInDays` or `transitTimeTable` can be set, but not both." } }, "type": "object" @@ -4820,7 +4820,7 @@ "id": "Errors", "properties": { "code": { - "description": "The HTTP status of the first error in errors.", + "description": "The HTTP status of the first error in `errors`.", "format": "uint32", "type": "integer" }, @@ -4832,7 +4832,7 @@ "type": "array" }, "message": { - "description": "The message of the first error in errors.", + "description": "The message of the first error in `errors`.", "type": "string" } }, @@ -4842,7 +4842,7 @@ "id": "GmbAccounts", "properties": { "accountId": { - "description": "The ID of the account.", + "description": "The ID of the Merchant Center account.", "format": "uint64", "type": "string" }, @@ -4880,7 +4880,7 @@ "type": "object" }, "Headers": { - "description": "A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set.", + "description": "A non-empty list of row or column headers for a table. Exactly one of `prices`, `weights`, `numItems`, `postalCodeGroupNames`, or `location` must be set.", "id": "Headers", "properties": { "locations": { @@ -4891,28 +4891,28 @@ "type": "array" }, "numberOfItems": { - "description": "A list of inclusive number of items upper bounds. The last value can be \"infinity\". For example [\"10\", \"50\", \"infinity\"] represents the headers \"<= 10 items\", \" 50 items\". Must be non-empty. Can only be set if all other fields are not set.", + "description": "A list of inclusive number of items upper bounds. The last value can be `\"infinity\"`. For example `[\"10\", \"50\", \"infinity\"]` represents the headers \"<= 10 items\", \" 50 items\". Must be non-empty. Can only be set if all other fields are not set.", "items": { "type": "string" }, "type": "array" }, "postalCodeGroupNames": { - "description": "A list of postal group names. The last value can be \"all other locations\". Example: [\"zone 1\", \"zone 2\", \"all other locations\"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.", + "description": "A list of postal group names. The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.", "items": { "type": "string" }, "type": "array" }, "prices": { - "description": "A list of inclusive order price upper bounds. The last price's value can be \"infinity\". For example [{\"value\": \"10\", \"currency\": \"USD\"}, {\"value\": \"500\", \"currency\": \"USD\"}, {\"value\": \"infinity\", \"currency\": \"USD\"}] represents the headers \"<= $10\", \" $500\". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.", + "description": "A list of inclusive order price upper bounds. The last price's value can be `\"infinity\"`. For example `[{\"value\": \"10\", \"currency\": \"USD\"}, {\"value\": \"500\", \"currency\": \"USD\"}, {\"value\": \"infinity\", \"currency\": \"USD\"}]` represents the headers \"<= $10\", \" $500\". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.", "items": { "$ref": "Price" }, "type": "array" }, "weights": { - "description": "A list of inclusive order weight upper bounds. The last weight's value can be \"infinity\". For example [{\"value\": \"10\", \"unit\": \"kg\"}, {\"value\": \"50\", \"unit\": \"kg\"}, {\"value\": \"infinity\", \"unit\": \"kg\"}] represents the headers \"<= 10kg\", \" 50kg\". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.", + "description": "A list of inclusive order weight upper bounds. The last weight's value can be `\"infinity\"`. For example `[{\"value\": \"10\", \"unit\": \"kg\"}, {\"value\": \"50\", \"unit\": \"kg\"}, {\"value\": \"infinity\", \"unit\": \"kg\"}]` represents the headers \"<= 10kg\", \" 50kg\". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.", "items": { "$ref": "Weight" }, @@ -4973,7 +4973,7 @@ "type": "string" }, "type": { - "description": "The holiday type. Always present.\n\nAcceptable values are: \n- \"Christmas\" \n- \"Easter\" \n- \"Father's Day\" \n- \"Halloween\" \n- \"Independence Day (USA)\" \n- \"Mother's Day\" \n- \"Thanksgiving\" \n- \"Valentine's Day\"", + "description": "The holiday type. Always present.\n\nAcceptable values are: \n- \"`Christmas`\" \n- \"`Easter`\" \n- \"`Father's Day`\" \n- \"`Halloween`\" \n- \"`Independence Day (USA)`\" \n- \"`Mother's Day`\" \n- \"`Thanksgiving`\" \n- \"`Valentine's Day`\"", "type": "string" } }, @@ -4995,10 +4995,11 @@ "type": "object" }, "Inventory": { + "description": "(== resource_for v2.inventory ==)", "id": "Inventory", "properties": { "availability": { - "description": "The availability of the product.\n\nAcceptable values are: \n- \"in stock\" \n- \"out of stock\" \n- \"preorder\"", + "description": "The availability of the product.\n\nAcceptable values are: \n- \"`in stock`\" \n- \"`out of stock`\" \n- \"`preorder`\"", "type": "string" }, "customLabel0": { @@ -5031,7 +5032,7 @@ }, "kind": { "default": "content#inventory", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#inventory\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#inventory`\"", "type": "string" }, "loyaltyPoints": { @@ -5040,7 +5041,7 @@ }, "pickup": { "$ref": "InventoryPickup", - "description": "Store pickup information. Only supported for local inventory. Not setting pickup means \"don't update\" while setting it to the empty value ({} in JSON) means \"delete\". Otherwise, pickupMethod and pickupSla must be set together, unless pickupMethod is \"not supported\"." + "description": "Store pickup information. Only supported for local inventory. Not setting `pickup` means \"don't update\" while setting it to the empty value (`{}` in JSON) means \"delete\". Otherwise, `pickupMethod` and `pickupSla` must be set together, unless `pickupMethod` is \"not supported\"." }, "price": { "$ref": "Price", @@ -5053,7 +5054,7 @@ }, "salePrice": { "$ref": "Price", - "description": "The sale price of the product. Mandatory if sale_price_effective_date is defined." + "description": "The sale price of the product. Mandatory if `sale_price_effective_date` is defined." }, "salePriceEffectiveDate": { "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.", @@ -5103,7 +5104,7 @@ "type": "string" }, "storeCode": { - "description": "The code of the store for which to update price and availability. Use online to update price and availability of an online product.", + "description": "The code of the store for which to update price and availability. Use `online` to update price and availability of an online product.", "type": "string" } }, @@ -5142,7 +5143,7 @@ }, "kind": { "default": "content#inventoryCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#inventoryCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#inventoryCustomBatchResponseEntry`\"", "type": "string" } }, @@ -5152,11 +5153,11 @@ "id": "InventoryPickup", "properties": { "pickupMethod": { - "description": "Whether store pickup is available for this offer and whether the pickup option should be shown as buy, reserve, or not supported. Only supported for local inventory. Unless the value is \"not supported\", must be submitted together with pickupSla.\n\nAcceptable values are: \n- \"buy\" \n- \"not supported\" \n- \"reserve\" \n- \"ship to store\"", + "description": "Whether store pickup is available for this offer and whether the pickup option should be shown as buy, reserve, or not supported. Only supported for local inventory. Unless the value is \"not supported\", must be submitted together with `pickupSla`.\n\nAcceptable values are: \n- \"`buy`\" \n- \"`not supported`\" \n- \"`reserve`\" \n- \"`ship to store`\"", "type": "string" }, "pickupSla": { - "description": "The expected date that an order will be ready for pickup, relative to when the order is placed. Only supported for local inventory. Must be submitted together with pickupMethod.\n\nAcceptable values are: \n- \"five day\" \n- \"four day\" \n- \"multi day\" \n- \"multi week\" \n- \"next day\" \n- \"same day\" \n- \"seven day\" \n- \"six day\" \n- \"three day\" \n- \"two day\"", + "description": "The expected date that an order will be ready for pickup, relative to when the order is placed. Only supported for local inventory. Must be submitted together with `pickupMethod`.\n\nAcceptable values are: \n- \"`five day`\" \n- \"`four day`\" \n- \"`multi day`\" \n- \"`multi week`\" \n- \"`next day`\" \n- \"`same day`\" \n- \"`seven day`\" \n- \"`six day`\" \n- \"`three day`\" \n- \"`two day`\"", "type": "string" } }, @@ -5166,7 +5167,7 @@ "id": "InventorySetRequest", "properties": { "availability": { - "description": "The availability of the product.\n\nAcceptable values are: \n- \"in stock\" \n- \"out of stock\" \n- \"preorder\"", + "description": "The availability of the product.\n\nAcceptable values are: \n- \"`in stock`\" \n- \"`out of stock`\" \n- \"`preorder`\"", "type": "string" }, "customLabel0": { @@ -5203,7 +5204,7 @@ }, "pickup": { "$ref": "InventoryPickup", - "description": "Store pickup information. Only supported for local inventory. Not setting pickup means \"don't update\" while setting it to the empty value ({} in JSON) means \"delete\". Otherwise, pickupMethod and pickupSla must be set together, unless pickupMethod is \"not supported\"." + "description": "Store pickup information. Only supported for local inventory. Not setting `pickup` means \"don't update\" while setting it to the empty value (`{}` in JSON) means \"delete\". Otherwise, `pickupMethod` and `pickupSla` must be set together, unless `pickupMethod` is \"not supported\"." }, "price": { "$ref": "Price", @@ -5216,7 +5217,7 @@ }, "salePrice": { "$ref": "Price", - "description": "The sale price of the product. Mandatory if sale_price_effective_date is defined." + "description": "The sale price of the product. Mandatory if `sale_price_effective_date` is defined." }, "salePriceEffectiveDate": { "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.", @@ -5285,7 +5286,7 @@ "description": "[required] Total additional charge for this type." }, "type": { - "description": "[required] Type of the additional charge.\n\nAcceptable values are: \n- \"shipping\"", + "description": "[required] Type of the additional charge.\n\nAcceptable values are: \n- \"`shipping`\"", "type": "string" } }, @@ -5295,7 +5296,7 @@ "id": "LiaAboutPageSettings", "properties": { "status": { - "description": "The status of the verification process for the About page.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "The status of the verification process for the About page.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" }, "url": { @@ -5356,11 +5357,11 @@ "type": "string" }, "inventoryVerificationContactStatus": { - "description": "The status of the verification contact.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "The status of the verification contact.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" }, "status": { - "description": "The status of the inventory verification process.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "The status of the inventory verification process.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" } }, @@ -5374,7 +5375,7 @@ "type": "string" }, "status": { - "description": "The status of the ?On display to order? feature.\n\nAcceptable values are: \n- \"active\" \n- \"inactive\" \n- \"pending\"", + "description": "The status of the ?On display to order? feature.\n\nAcceptable values are: \n- \"`active`\" \n- \"`inactive`\" \n- \"`pending`\"", "type": "string" } }, @@ -5413,7 +5414,7 @@ }, "kind": { "default": "content#liaSettings", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liaSettings\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liaSettings`\"", "type": "string" } }, @@ -5436,7 +5437,7 @@ "id": "LiasettingsCustomBatchRequestEntry", "properties": { "accountId": { - "description": "The ID of the account for which to get/update account shipping settings.", + "description": "The ID of the account for which to get/update account LIA settings.", "format": "uint64", "type": "string" }, @@ -5463,7 +5464,7 @@ }, "liaSettings": { "$ref": "LiaSettings", - "description": "The account Lia settings to update. Only defined if the method is update." + "description": "The account Lia settings to update. Only defined if the method is `update`." }, "merchantId": { "description": "The ID of the managing account.", @@ -5471,7 +5472,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\" \n- \"getAccessibleGmbAccounts\" \n- \"requestGmbAccess\" \n- \"requestInventoryVerification\" \n- \"setInventoryVerificationContact\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\" \n- \"`getAccessibleGmbAccounts`\" \n- \"`requestGmbAccess`\" \n- \"`requestInventoryVerification`\" \n- \"`setInventoryVerificationContact`\" \n- \"`update`\"", "type": "string" }, "posDataProviderId": { @@ -5522,7 +5523,7 @@ }, "kind": { "default": "content#liasettingsCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsCustomBatchResponseEntry`\"", "type": "string" }, "liaSettings": { @@ -5543,7 +5544,7 @@ "id": "LiasettingsGetAccessibleGmbAccountsResponse", "properties": { "accountId": { - "description": "The ID of the account.", + "description": "The ID of the Merchant Center account.", "format": "uint64", "type": "string" }, @@ -5742,14 +5743,44 @@ "type": "array" }, "state": { - "description": "State of the item.\n\nAcceptable values are: \n- \"canceled\" \n- \"new\" \n- \"received\" \n- \"refunded\" \n- \"rejected\"", + "description": "State of the item.\n\nAcceptable values are: \n- \"`canceled`\" \n- \"`new`\" \n- \"`received`\" \n- \"`refunded`\" \n- \"`rejected`\"", "type": "string" } }, "type": "object" }, + "MinimumOrderValueTable": { + "id": "MinimumOrderValueTable", + "properties": { + "storeCodeSetWithMovs": { + "items": { + "$ref": "MinimumOrderValueTableStoreCodeSetWithMov" + }, + "type": "array" + } + }, + "type": "object" + }, + "MinimumOrderValueTableStoreCodeSetWithMov": { + "description": "A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.", + "id": "MinimumOrderValueTableStoreCodeSetWithMov", + "properties": { + "storeCodes": { + "description": "A list of unique store codes or empty for the catch all.", + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "$ref": "Price", + "description": "The minimum order value for the given stores." + } + }, + "type": "object" + }, "Order": { - "description": "Order. Production access (all methods) requires the order manager role. Sandbox access does not.", + "description": "Order. Production access (all methods) requires the order manager role. Sandbox access does not. (== resource_for v2.orders ==) (== resource_for v2.1.orders ==)", "id": "Order", "properties": { "acknowledged": { @@ -5757,7 +5788,7 @@ "type": "boolean" }, "channelType": { - "description": "Deprecated.\n\nAcceptable values are: \n- \"googleExpress\" \n- \"purchasesOnGoogle\"", + "description": "Deprecated.\n\nAcceptable values are: \n- \"`googleExpress`\" \n- \"`purchasesOnGoogle`\"", "type": "string" }, "customer": { @@ -5766,7 +5797,7 @@ }, "deliveryDetails": { "$ref": "OrderDeliveryDetails", - "description": "Delivery details for shipments of type delivery." + "description": "Delivery details for shipments of type `delivery`." }, "id": { "description": "The REST ID of the order. Globally unique.", @@ -5774,7 +5805,7 @@ }, "kind": { "default": "content#order", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#order\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#order`\"", "type": "string" }, "lineItems": { @@ -5801,19 +5832,19 @@ "description": "The details of the payment method." }, "paymentStatus": { - "description": "The status of the payment.\n\nAcceptable values are: \n- \"paymentCaptured\" \n- \"paymentRejected\" \n- \"paymentSecured\" \n- \"pendingAuthorization\"", + "description": "The status of the payment.\n\nAcceptable values are: \n- \"`paymentCaptured`\" \n- \"`paymentRejected`\" \n- \"`paymentSecured`\" \n- \"`pendingAuthorization`\"", "type": "string" }, "pickupDetails": { "$ref": "OrderPickupDetails", - "description": "Pickup details for shipments of type pickup." + "description": "Pickup details for shipments of type `pickup`." }, "placedDate": { "description": "The date when the order was placed, in ISO 8601 format.", "type": "string" }, "promotions": { - "description": "The details of the merchant provided promotions applied to the order.\n\nTo determine which promotions apply to which products, check the Promotions[].Benefits[].OfferIds field against the LineItems[].Product.OfferId field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId.\n\nExamples: \n- To calculate the line item level discount for a single specific item: For each promotion, subtract the Promotions[].Benefits[].Discount.value amount from the LineItems[].Price.value. \n- To calculate the line item level discount for multiple quantity of a specific item: For each promotion, divide the Promotions[].Benefits[].Discount.value by the quantity of products and substract it from LineItems[].Product.Price.value for each quantity item. \n\nOnly 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price.\n\nMore details about the program are here.", + "description": "The details of the merchant provided promotions applied to the order.\n\nTo determine which promotions apply to which products, check the `Promotions[].Benefits[].OfferIds` field against the `LineItems[].Product.OfferId` field for each promotion. If a promotion is applied to more than 1 `offerId`, divide the discount value by the number of affected offers to determine how much discount to apply to each `offerId`.\n\nExamples: \n- To calculate the line item level discount for a single specific item: For each promotion, subtract the `Promotions[].Benefits[].Discount.value` amount from the `LineItems[].Price.value`. \n- To calculate the line item level discount for multiple quantity of a specific item: For each promotion, divide the `Promotions[].Benefits[].Discount.value` by the quantity of products and substract it from `LineItems[].Product.Price.value` for each quantity item. \n\nOnly 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price.\n\nMore details about the program are here.", "items": { "$ref": "OrderLegacyPromotion" }, @@ -5842,15 +5873,15 @@ "description": "The tax for the total shipping cost." }, "shippingOption": { - "description": "Deprecated. Shipping details are provided with line items instead.\n\nAcceptable values are: \n- \"economy\" \n- \"expedited\" \n- \"oneDay\" \n- \"sameDay\" \n- \"standard\" \n- \"twoDay\"", + "description": "Deprecated. Shipping details are provided with line items instead.\n\nAcceptable values are: \n- \"`economy`\" \n- \"`expedited`\" \n- \"`oneDay`\" \n- \"`sameDay`\" \n- \"`standard`\" \n- \"`twoDay`\"", "type": "string" }, "status": { - "description": "The status of the order.\n\nAcceptable values are: \n- \"canceled\" \n- \"delivered\" \n- \"inProgress\" \n- \"partiallyDelivered\" \n- \"partiallyReturned\" \n- \"partiallyShipped\" \n- \"pendingShipment\" \n- \"returned\" \n- \"shipped\"", + "description": "The status of the order.\n\nAcceptable values are: \n- \"`canceled`\" \n- \"`delivered`\" \n- \"`inProgress`\" \n- \"`partiallyDelivered`\" \n- \"`partiallyReturned`\" \n- \"`partiallyShipped`\" \n- \"`pendingShipment`\" \n- \"`returned`\" \n- \"`shipped`\"", "type": "string" }, "taxCollector": { - "description": "The party responsible for collecting and remitting taxes.\n\nAcceptable values are: \n- \"marketplaceFacilitator\" \n- \"merchant\"", + "description": "The party responsible for collecting and remitting taxes.\n\nAcceptable values are: \n- \"`marketplaceFacilitator`\" \n- \"`merchant`\"", "type": "string" } }, @@ -5904,7 +5935,7 @@ "id": "OrderCancellation", "properties": { "actor": { - "description": "The actor that created the cancellation.\n\nAcceptable values are: \n- \"customer\" \n- \"googleBot\" \n- \"googleCustomerService\" \n- \"googlePayments\" \n- \"googleSabre\" \n- \"merchant\"", + "description": "The actor that created the cancellation.\n\nAcceptable values are: \n- \"`customer`\" \n- \"`googleBot`\" \n- \"`googleCustomerService`\" \n- \"`googlePayments`\" \n- \"`googleSabre`\" \n- \"`merchant`\"", "type": "string" }, "creationDate": { @@ -5917,7 +5948,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Shopping Actions until you make an update to that product. This will not affect your Shopping ads.\n\nAcceptable values are: \n- \"autoPostInternal\" \n- \"autoPostInvalidBillingAddress\" \n- \"autoPostNoInventory\" \n- \"autoPostPriceError\" \n- \"autoPostUndeliverableShippingAddress\" \n- \"couponAbuse\" \n- \"customerCanceled\" \n- \"customerInitiatedCancel\" \n- \"customerSupportRequested\" \n- \"failToPushOrderGoogleError\" \n- \"failToPushOrderMerchantError\" \n- \"failToPushOrderMerchantFulfillmentError\" \n- \"failToPushOrderToMerchant\" \n- \"failToPushOrderToMerchantOutOfStock\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"merchantDidNotShipOnTime\" \n- \"noInventory\" \n- \"orderTimeout\" \n- \"other\" \n- \"paymentAbuse\" \n- \"paymentDeclined\" \n- \"priceError\" \n- \"returnRefundAbuse\" \n- \"shippingPriceError\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\"", + "description": "The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Shopping Actions until you make an update to that product. This will not affect your Shopping ads.\n\nAcceptable values are: \n- \"`autoPostInternal`\" \n- \"`autoPostInvalidBillingAddress`\" \n- \"`autoPostNoInventory`\" \n- \"`autoPostPriceError`\" \n- \"`autoPostUndeliverableShippingAddress`\" \n- \"`couponAbuse`\" \n- \"`customerCanceled`\" \n- \"`customerInitiatedCancel`\" \n- \"`customerSupportRequested`\" \n- \"`failToPushOrderGoogleError`\" \n- \"`failToPushOrderMerchantError`\" \n- \"`failToPushOrderMerchantFulfillmentError`\" \n- \"`failToPushOrderToMerchant`\" \n- \"`failToPushOrderToMerchantOutOfStock`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`merchantDidNotShipOnTime`\" \n- \"`noInventory`\" \n- \"`orderTimeout`\" \n- \"`other`\" \n- \"`paymentAbuse`\" \n- \"`paymentDeclined`\" \n- \"`priceError`\" \n- \"`returnRefundAbuse`\" \n- \"`shippingPriceError`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\"", "type": "string" }, "reasonText": { @@ -5943,7 +5974,7 @@ "type": "string" }, "invoiceReceivingEmail": { - "description": "Email address for the merchant to send value-added tax or invoice documentation of the order. This documentation is made available to the customer.", + "description": "Email address for the merchant to send value-added tax or invoice documentation of the order. Only the last document sent is made available to the customer. For more information, see About automated VAT invoicing for Shopping Actions.", "type": "string" }, "marketingRightsInfo": { @@ -5957,7 +5988,7 @@ "id": "OrderCustomerMarketingRightsInfo", "properties": { "explicitMarketingPreference": { - "description": "Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected granted in their most recent order, they can be subscribed to marketing emails. Customers who have chosen denied must not be subscribed, or must be unsubscribed if already opted-in.\n\nAcceptable values are: \n- \"denied\" \n- \"granted\"", + "description": "Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected `granted` in their most recent order, they can be subscribed to marketing emails. Customers who have chosen `denied` must not be subscribed, or must be unsubscribed if already opted-in.\n\nAcceptable values are: \n- \"`denied`\" \n- \"`granted`\"", "type": "string" }, "lastUpdatedTimestamp": { @@ -5965,7 +5996,7 @@ "type": "string" }, "marketingEmailAddress": { - "description": "Email address that can be used for marketing purposes. The field may be empty even if explicitMarketingPreference is 'granted'. This happens when retrieving an old order from the customer who deleted their account.", + "description": "Email address that can be used for marketing purposes. The field may be empty even if `explicitMarketingPreference` is 'granted'. This happens when retrieving an old order from the customer who deleted their account.", "type": "string" } }, @@ -6011,11 +6042,11 @@ "type": "string" }, "productApplicability": { - "description": "Whether the promotion is applicable to all products or only specific products.\n\nAcceptable values are: \n- \"allProducts\" \n- \"specificProducts\"", + "description": "Whether the promotion is applicable to all products or only specific products.\n\nAcceptable values are: \n- \"`allProducts`\" \n- \"`specificProducts`\"", "type": "string" }, "redemptionChannel": { - "description": "Indicates that the promotion is valid online.\n\nAcceptable values are: \n- \"online\"", + "description": "Indicates that the promotion is valid online.\n\nAcceptable values are: \n- \"`online`\"", "type": "string" } }, @@ -6036,7 +6067,7 @@ "type": "array" }, "subType": { - "description": "Further describes the benefit of the promotion. Note that we will expand on this enumeration as we support new promotion sub-types.\n\nAcceptable values are: \n- \"buyMGetMoneyOff\" \n- \"buyMGetNMoneyOff\" \n- \"buyMGetNPercentOff\" \n- \"buyMGetPercentOff\" \n- \"freeGift\" \n- \"freeGiftWithItemId\" \n- \"freeGiftWithValue\" \n- \"freeOvernightShipping\" \n- \"freeShipping\" \n- \"freeTwoDayShipping\" \n- \"moneyOff\" \n- \"percentageOff\" \n- \"rewardPoints\" \n- \"salePrice\"", + "description": "Further describes the benefit of the promotion. Note that we will expand on this enumeration as we support new promotion sub-types.\n\nAcceptable values are: \n- \"`buyMGetMoneyOff`\" \n- \"`buyMGetNMoneyOff`\" \n- \"`buyMGetNPercentOff`\" \n- \"`buyMGetPercentOff`\" \n- \"`freeGift`\" \n- \"`freeGiftWithItemId`\" \n- \"`freeGiftWithValue`\" \n- \"`freeOvernightShipping`\" \n- \"`freeShipping`\" \n- \"`freeTwoDayShipping`\" \n- \"`moneyOff`\" \n- \"`percentageOff`\" \n- \"`rewardPoints`\" \n- \"`salePrice`\"", "type": "string" }, "taxImpact": { @@ -6044,7 +6075,7 @@ "description": "The impact on tax when the promotion is applied." }, "type": { - "description": "Describes whether the promotion applies to products (e.g. 20% off) or to shipping (e.g. Free Shipping).\n\nAcceptable values are: \n- \"product\" \n- \"shipping\"", + "description": "Describes whether the promotion applies to products (e.g. 20% off) or to shipping (e.g. Free Shipping).\n\nAcceptable values are: \n- \"`product`\" \n- \"`shipping`\"", "type": "string" } }, @@ -6144,11 +6175,11 @@ "type": "string" }, "channel": { - "description": "The item's channel (online or local).\n\nAcceptable values are: \n- \"local\" \n- \"online\"", + "description": "The item's channel (online or local).\n\nAcceptable values are: \n- \"`local`\" \n- \"`online`\"", "type": "string" }, "condition": { - "description": "Condition or state of the item.\n\nAcceptable values are: \n- \"new\" \n- \"refurbished\" \n- \"used\"", + "description": "Condition or state of the item.\n\nAcceptable values are: \n- \"`new`\" \n- \"`refurbished`\" \n- \"`used`\"", "type": "string" }, "contentLanguage": { @@ -6305,7 +6336,7 @@ "type": "string" }, "type": { - "description": "Type of shipment. Indicates whether deliveryDetails or pickupDetails is applicable for this shipment.\n\nAcceptable values are: \n- \"delivery\" \n- \"pickup\"", + "description": "Type of shipment. Indicates whether `deliveryDetails` or `pickupDetails` is applicable for this shipment.\n\nAcceptable values are: \n- \"`delivery`\" \n- \"`pickup`\"", "type": "string" } }, @@ -6315,7 +6346,7 @@ "id": "OrderLineItemShippingDetailsMethod", "properties": { "carrier": { - "description": "The carrier for the shipping. Optional. See shipments[].carrier for a list of acceptable values.", + "description": "The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.", "type": "string" }, "maxDaysInTransit": { @@ -6390,7 +6421,7 @@ "type": "string" }, "type": { - "description": "The type of instrument.\n\nAcceptable values are: \n- \"AMEX\" \n- \"DISCOVER\" \n- \"JCB\" \n- \"MASTERCARD\" \n- \"UNIONPAY\" \n- \"VISA\" \n- \"\"", + "description": "The type of instrument.\n\nAcceptable values are: \n- \"`AMEX`\" \n- \"`DISCOVER`\" \n- \"`JCB`\" \n- \"`MASTERCARD`\" \n- \"`UNIONPAY`\" \n- \"`VISA`\" \n- \"``\"", "type": "string" } }, @@ -6401,7 +6432,7 @@ "properties": { "address": { "$ref": "OrderAddress", - "description": "Address of the pickup location where the shipment should be sent. Note that recipientName in the address is the name of the business at the pickup location." + "description": "Address of the pickup location where the shipment should be sent. Note that `recipientName` in the address is the name of the business at the pickup location." }, "collectors": { "description": "Collectors authorized to pick up shipment from the pickup location.", @@ -6435,7 +6466,7 @@ "id": "OrderRefund", "properties": { "actor": { - "description": "The actor that created the refund.\n\nAcceptable values are: \n- \"customer\" \n- \"googleBot\" \n- \"googleCustomerService\" \n- \"googlePayments\" \n- \"googleSabre\" \n- \"merchant\"", + "description": "The actor that created the refund.\n\nAcceptable values are: \n- \"`customer`\" \n- \"`googleBot`\" \n- \"`googleCustomerService`\" \n- \"`googlePayments`\" \n- \"`googleSabre`\" \n- \"`merchant`\"", "type": "string" }, "amount": { @@ -6447,7 +6478,7 @@ "type": "string" }, "reason": { - "description": "The reason for the refund.\n\nAcceptable values are: \n- \"adjustment\" \n- \"autoPostInternal\" \n- \"autoPostInvalidBillingAddress\" \n- \"autoPostNoInventory\" \n- \"autoPostPriceError\" \n- \"autoPostUndeliverableShippingAddress\" \n- \"couponAbuse\" \n- \"courtesyAdjustment\" \n- \"customerCanceled\" \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"customerSupportRequested\" \n- \"deliveredLateByCarrier\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"failToPushOrderGoogleError\" \n- \"failToPushOrderMerchantError\" \n- \"failToPushOrderMerchantFulfillmentError\" \n- \"failToPushOrderToMerchant\" \n- \"failToPushOrderToMerchantOutOfStock\" \n- \"feeAdjustment\" \n- \"invalidCoupon\" \n- \"lateShipmentCredit\" \n- \"malformedShippingAddress\" \n- \"merchantDidNotShipOnTime\" \n- \"noInventory\" \n- \"orderTimeout\" \n- \"other\" \n- \"paymentAbuse\" \n- \"paymentDeclined\" \n- \"priceAdjustment\" \n- \"priceError\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"promoReallocation\" \n- \"qualityNotAsExpected\" \n- \"returnRefundAbuse\" \n- \"shippingCostAdjustment\" \n- \"shippingPriceError\" \n- \"taxAdjustment\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the refund.\n\nAcceptable values are: \n- \"`adjustment`\" \n- \"`autoPostInternal`\" \n- \"`autoPostInvalidBillingAddress`\" \n- \"`autoPostNoInventory`\" \n- \"`autoPostPriceError`\" \n- \"`autoPostUndeliverableShippingAddress`\" \n- \"`couponAbuse`\" \n- \"`courtesyAdjustment`\" \n- \"`customerCanceled`\" \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`customerSupportRequested`\" \n- \"`deliveredLateByCarrier`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`failToPushOrderGoogleError`\" \n- \"`failToPushOrderMerchantError`\" \n- \"`failToPushOrderMerchantFulfillmentError`\" \n- \"`failToPushOrderToMerchant`\" \n- \"`failToPushOrderToMerchantOutOfStock`\" \n- \"`feeAdjustment`\" \n- \"`invalidCoupon`\" \n- \"`lateShipmentCredit`\" \n- \"`malformedShippingAddress`\" \n- \"`merchantDidNotShipOnTime`\" \n- \"`noInventory`\" \n- \"`orderTimeout`\" \n- \"`other`\" \n- \"`paymentAbuse`\" \n- \"`paymentDeclined`\" \n- \"`priceAdjustment`\" \n- \"`priceError`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`promoReallocation`\" \n- \"`qualityNotAsExpected`\" \n- \"`returnRefundAbuse`\" \n- \"`shippingCostAdjustment`\" \n- \"`shippingPriceError`\" \n- \"`taxAdjustment`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -6458,7 +6489,7 @@ "type": "object" }, "OrderReportDisbursement": { - "description": "Order disbursement. All methods require the payment analyst role.", + "description": "Order disbursement. All methods require the payment analyst role. (== resource_for v2.orderreports ==) (== resource_for v2.1.orderreports ==)", "id": "OrderReportDisbursement", "properties": { "disbursementAmount": { @@ -6536,7 +6567,7 @@ "id": "OrderReturn", "properties": { "actor": { - "description": "The actor that created the refund.\n\nAcceptable values are: \n- \"customer\" \n- \"googleBot\" \n- \"googleCustomerService\" \n- \"googlePayments\" \n- \"googleSabre\" \n- \"merchant\"", + "description": "The actor that created the refund.\n\nAcceptable values are: \n- \"`customer`\" \n- \"`googleBot`\" \n- \"`googleCustomerService`\" \n- \"`googlePayments`\" \n- \"`googleSabre`\" \n- \"`merchant`\"", "type": "string" }, "creationDate": { @@ -6549,7 +6580,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -6563,7 +6594,7 @@ "id": "OrderShipment", "properties": { "carrier": { - "description": "The carrier handling the shipment.\n\nFor supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. Note: You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. \nSupported carriers for US are: \n- \"ups\" (United Parcel Service) automatic status updates \n- \"usps\" (United States Postal Service) automatic status updates \n- \"fedex\" (FedEx) automatic status updates \n- \"dhl\" (DHL eCommerce) automatic status updates (US only) \n- \"ontrac\" (OnTrac) automatic status updates \n- \"dhl express\" (DHL Express)\n- \"deliv\" (Deliv) \n- \"dynamex\" (TForce) \n- \"lasership\" (LaserShip) \n- \"mpx\" (Military Parcel Xpress) \n- \"uds\" (United Delivery Service) \n- \"efw\" (Estes Forwarding Worldwide) \n- \"jd logistics\" (JD Logistics) \n- \"yunexpress\" (YunExpress) \n- \"china post\" (China Post) \n- \"china ems\" (China Post Express Mail Service) \n- \"singapore post\" (Singapore Post) \n- \"pos malaysia\" (Pos Malaysia) \n- \"postnl\" (PostNL) \n- \"ptt\" (PTT Turkish Post) \n- \"eub\" (ePacket) \n- \"chukou1\" (Chukou1 Logistics) \nSupported carriers for FR are: \n- \"la poste\" (La Poste) automatic status updates \n- \"colissimo\" (Colissimo by La Poste) automatic status updates \n- \"ups\" (United Parcel Service) automatic status updates \n- \"chronopost\" (Chronopost by La Poste) \n- \"gls\" (General Logistics Systems France) \n- \"dpd\" (DPD Group by GeoPost) \n- \"bpost\" (Belgian Post Group) \n- \"colis prive\" (Colis Priv\u00e9) \n- \"boxtal\" (Boxtal) \n- \"geodis\" (GEODIS) \n- \"tnt\" (TNT) \n- \"db schenker\" (DB Schenker) \n- \"aramex\" (Aramex)", + "description": "The carrier handling the shipment.\n\nFor supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. Note: You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. \nSupported carriers for US are: \n- \"`ups`\" (United Parcel Service) automatic status updates \n- \"`usps`\" (United States Postal Service) automatic status updates \n- \"`fedex`\" (FedEx) automatic status updates \n- \"`dhl`\" (DHL eCommerce) automatic status updates (US only) \n- \"`ontrac`\" (OnTrac) automatic status updates \n- \"`dhl express`\" (DHL Express)\n- \"`deliv`\" (Deliv) \n- \"`dynamex`\" (TForce) \n- \"`lasership`\" (LaserShip) \n- \"`mpx`\" (Military Parcel Xpress) \n- \"`uds`\" (United Delivery Service) \n- \"`efw`\" (Estes Forwarding Worldwide) \n- \"`jd logistics`\" (JD Logistics) \n- \"`yunexpress`\" (YunExpress) \n- \"`china post`\" (China Post) \n- \"`china ems`\" (China Post Express Mail Service) \n- \"`singapore post`\" (Singapore Post) \n- \"`pos malaysia`\" (Pos Malaysia) \n- \"`postnl`\" (PostNL) \n- \"`ptt`\" (PTT Turkish Post) \n- \"`eub`\" (ePacket) \n- \"`chukou1`\" (Chukou1 Logistics) \nSupported carriers for FR are: \n- \"`la poste`\" (La Poste) automatic status updates \n- \"`colissimo`\" (Colissimo by La Poste) automatic status updates \n- \"`ups`\" (United Parcel Service) automatic status updates \n- \"`chronopost`\" (Chronopost by La Poste) \n- \"`gls`\" (General Logistics Systems France) \n- \"`dpd`\" (DPD Group by GeoPost) \n- \"`bpost`\" (Belgian Post Group) \n- \"`colis prive`\" (Colis Priv\u00e9) \n- \"`boxtal`\" (Boxtal) \n- \"`geodis`\" (GEODIS) \n- \"`tnt`\" (TNT) \n- \"`db schenker`\" (DB Schenker) \n- \"`aramex`\" (Aramex)", "type": "string" }, "creationDate": { @@ -6571,7 +6602,7 @@ "type": "string" }, "deliveryDate": { - "description": "Date on which the shipment has been delivered, in ISO 8601 format. Present only if status is delivered", + "description": "Date on which the shipment has been delivered, in ISO 8601 format. Present only if `status` is `delivered`", "type": "string" }, "id": { @@ -6585,8 +6616,12 @@ }, "type": "array" }, + "scheduledDeliveryDetails": { + "$ref": "OrderShipmentScheduledDeliveryDetails", + "description": "Delivery details of the shipment if scheduling is needed." + }, "status": { - "description": "The status of the shipment.\n\nAcceptable values are: \n- \"delivered\" \n- \"readyForPickup\" \n- \"shipped\" \n- \"undeliverable\"", + "description": "The status of the shipment.\n\nAcceptable values are: \n- \"`delivered`\" \n- \"`readyForPickup`\" \n- \"`shipped`\" \n- \"`undeliverable`\"", "type": "string" }, "trackingId": { @@ -6615,6 +6650,20 @@ }, "type": "object" }, + "OrderShipmentScheduledDeliveryDetails": { + "id": "OrderShipmentScheduledDeliveryDetails", + "properties": { + "carrierPhoneNumber": { + "description": "The phone number of the carrier fulfilling the delivery.", + "type": "string" + }, + "scheduledDate": { + "description": "The date a shipment is scheduled for delivery, in ISO 8601 format.", + "type": "string" + } + }, + "type": "object" + }, "OrderinvoicesCreateChargeInvoiceRequest": { "id": "OrderinvoicesCreateChargeInvoiceRequest", "properties": { @@ -6638,7 +6687,7 @@ "type": "string" }, "shipmentGroupId": { - "description": "[required] ID of the shipment group. It is assigned by the merchant in the shipLineItems method and is used to group multiple line items that have the same kind of shipping charges.", + "description": "[required] ID of the shipment group. It is assigned by the merchant in the `shipLineItems` method and is used to group multiple line items that have the same kind of shipping charges.", "type": "string" } }, @@ -6648,7 +6697,7 @@ "id": "OrderinvoicesCreateChargeInvoiceResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6672,11 +6721,11 @@ }, "refundOnlyOption": { "$ref": "OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceRefundOption", - "description": "Option to create a refund-only invoice. Exactly one of refundOnlyOption or returnOption must be provided." + "description": "Option to create a refund-only invoice. Exactly one of `refundOnlyOption` or `returnOption` must be provided." }, "returnOption": { "$ref": "OrderinvoicesCustomBatchRequestEntryCreateRefundInvoiceReturnOption", - "description": "Option to create an invoice for a refund and mark all items within the invoice as returned. Exactly one of refundOnlyOption or returnOption must be provided." + "description": "Option to create an invoice for a refund and mark all items within the invoice as returned. Exactly one of `refundOnlyOption` or `returnOption` must be provided." }, "shipmentInvoices": { "description": "Invoice details for different shipment groups.", @@ -6692,7 +6741,7 @@ "id": "OrderinvoicesCreateRefundInvoiceResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6711,7 +6760,7 @@ "type": "string" }, "reason": { - "description": "[required] Reason for the refund.\n\nAcceptable values are: \n- \"adjustment\" \n- \"autoPostInternal\" \n- \"autoPostInvalidBillingAddress\" \n- \"autoPostNoInventory\" \n- \"autoPostPriceError\" \n- \"autoPostUndeliverableShippingAddress\" \n- \"couponAbuse\" \n- \"courtesyAdjustment\" \n- \"customerCanceled\" \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"customerSupportRequested\" \n- \"deliveredLateByCarrier\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"failToPushOrderGoogleError\" \n- \"failToPushOrderMerchantError\" \n- \"failToPushOrderMerchantFulfillmentError\" \n- \"failToPushOrderToMerchant\" \n- \"failToPushOrderToMerchantOutOfStock\" \n- \"feeAdjustment\" \n- \"invalidCoupon\" \n- \"lateShipmentCredit\" \n- \"malformedShippingAddress\" \n- \"merchantDidNotShipOnTime\" \n- \"noInventory\" \n- \"orderTimeout\" \n- \"other\" \n- \"paymentAbuse\" \n- \"paymentDeclined\" \n- \"priceAdjustment\" \n- \"priceError\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"promoReallocation\" \n- \"qualityNotAsExpected\" \n- \"returnRefundAbuse\" \n- \"shippingCostAdjustment\" \n- \"shippingPriceError\" \n- \"taxAdjustment\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "[required] Reason for the refund.\n\nAcceptable values are: \n- \"`adjustment`\" \n- \"`autoPostInternal`\" \n- \"`autoPostInvalidBillingAddress`\" \n- \"`autoPostNoInventory`\" \n- \"`autoPostPriceError`\" \n- \"`autoPostUndeliverableShippingAddress`\" \n- \"`couponAbuse`\" \n- \"`courtesyAdjustment`\" \n- \"`customerCanceled`\" \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`customerSupportRequested`\" \n- \"`deliveredLateByCarrier`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`failToPushOrderGoogleError`\" \n- \"`failToPushOrderMerchantError`\" \n- \"`failToPushOrderMerchantFulfillmentError`\" \n- \"`failToPushOrderToMerchant`\" \n- \"`failToPushOrderToMerchantOutOfStock`\" \n- \"`feeAdjustment`\" \n- \"`invalidCoupon`\" \n- \"`lateShipmentCredit`\" \n- \"`malformedShippingAddress`\" \n- \"`merchantDidNotShipOnTime`\" \n- \"`noInventory`\" \n- \"`orderTimeout`\" \n- \"`other`\" \n- \"`paymentAbuse`\" \n- \"`paymentDeclined`\" \n- \"`priceAdjustment`\" \n- \"`priceError`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`promoReallocation`\" \n- \"`qualityNotAsExpected`\" \n- \"`returnRefundAbuse`\" \n- \"`shippingCostAdjustment`\" \n- \"`shippingPriceError`\" \n- \"`taxAdjustment`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" } }, @@ -6725,7 +6774,7 @@ "type": "string" }, "reason": { - "description": "[required] Reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "[required] Reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" } }, @@ -6810,7 +6859,7 @@ "id": "OrdersAcknowledgeResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6865,7 +6914,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"customerInitiatedCancel\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"noInventory\" \n- \"other\" \n- \"priceError\" \n- \"shippingPriceError\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\"", + "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"`customerInitiatedCancel`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`noInventory`\" \n- \"`other`\" \n- \"`priceError`\" \n- \"`shippingPriceError`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\"", "type": "string" }, "reasonText": { @@ -6879,7 +6928,7 @@ "id": "OrdersCancelLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6898,7 +6947,7 @@ "type": "string" }, "reason": { - "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"customerInitiatedCancel\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"noInventory\" \n- \"other\" \n- \"priceError\" \n- \"shippingPriceError\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\"", + "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"`customerInitiatedCancel`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`noInventory`\" \n- \"`other`\" \n- \"`priceError`\" \n- \"`shippingPriceError`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\"", "type": "string" }, "reasonText": { @@ -6912,7 +6961,7 @@ "id": "OrdersCancelResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -6927,7 +6976,7 @@ "id": "OrdersCancelTestOrderByCustomerRequest", "properties": { "reason": { - "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"changedMind\" \n- \"orderedWrongItem\" \n- \"other\"", + "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"`changedMind`\" \n- \"`orderedWrongItem`\" \n- \"`other`\"", "type": "string" } }, @@ -6948,11 +6997,11 @@ "id": "OrdersCreateTestOrderRequest", "properties": { "country": { - "description": "The CLDR territory code of the country of the test order to create. Affects the currency and addresses of orders created via template_name, or the addresses of orders created via test_order.\n\nAcceptable values are: \n- \"US\" \n- \"FR\" Defaults to US.", + "description": "The CLDR territory code of the country of the test order to create. Affects the currency and addresses of orders created via `template_name`, or the addresses of orders created via `test_order`.\n\nAcceptable values are: \n- \"`US`\" \n- \"`FR`\" Defaults to `US`.", "type": "string" }, "templateName": { - "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.\n\nAcceptable values are: \n- \"template1\" \n- \"template1a\" \n- \"template1b\" \n- \"template2\" \n- \"template3\"", + "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.\n\nAcceptable values are: \n- \"`template1`\" \n- \"`template1a`\" \n- \"`template1b`\" \n- \"`template2`\" \n- \"`template3`\"", "type": "string" }, "testOrder": { @@ -7028,15 +7077,15 @@ }, "cancel": { "$ref": "OrdersCustomBatchRequestEntryCancel", - "description": "Required for cancel method." + "description": "Required for `cancel` method." }, "cancelLineItem": { "$ref": "OrdersCustomBatchRequestEntryCancelLineItem", - "description": "Required for cancelLineItem method." + "description": "Required for `cancelLineItem` method." }, "inStoreRefundLineItem": { "$ref": "OrdersCustomBatchRequestEntryInStoreRefundLineItem", - "description": "Required for inStoreReturnLineItem method." + "description": "Required for `inStoreReturnLineItem` method." }, "merchantId": { "description": "The ID of the managing account.", @@ -7044,52 +7093,52 @@ "type": "string" }, "merchantOrderId": { - "description": "The merchant order ID. Required for updateMerchantOrderId and getByMerchantOrderId methods.", + "description": "The merchant order ID. Required for `updateMerchantOrderId` and `getByMerchantOrderId` methods.", "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"acknowledge\" \n- \"cancel\" \n- \"cancelLineItem\" \n- \"get\" \n- \"getByMerchantOrderId\" \n- \"inStoreRefundLineItem\" \n- \"refund\" \n- \"rejectReturnLineItem\" \n- \"returnLineItem\" \n- \"returnRefundLineItem\" \n- \"setLineItemMetadata\" \n- \"shipLineItems\" \n- \"updateLineItemShippingDetails\" \n- \"updateMerchantOrderId\" \n- \"updateShipment\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`acknowledge`\" \n- \"`cancel`\" \n- \"`cancelLineItem`\" \n- \"`get`\" \n- \"`getByMerchantOrderId`\" \n- \"`inStoreRefundLineItem`\" \n- \"`refund`\" \n- \"`rejectReturnLineItem`\" \n- \"`returnLineItem`\" \n- \"`returnRefundLineItem`\" \n- \"`setLineItemMetadata`\" \n- \"`shipLineItems`\" \n- \"`updateLineItemShippingDetails`\" \n- \"`updateMerchantOrderId`\" \n- \"`updateShipment`\"", "type": "string" }, "operationId": { - "description": "The ID of the operation. Unique across all operations for a given order. Required for all methods beside get and getByMerchantOrderId.", + "description": "The ID of the operation. Unique across all operations for a given order. Required for all methods beside `get` and `getByMerchantOrderId`.", "type": "string" }, "orderId": { - "description": "The ID of the order. Required for all methods beside getByMerchantOrderId.", + "description": "The ID of the order. Required for all methods beside `getByMerchantOrderId`.", "type": "string" }, "refund": { "$ref": "OrdersCustomBatchRequestEntryRefund", - "description": "Required for refund method." + "description": "Required for `refund` method." }, "rejectReturnLineItem": { "$ref": "OrdersCustomBatchRequestEntryRejectReturnLineItem", - "description": "Required for rejectReturnLineItem method." + "description": "Required for `rejectReturnLineItem` method." }, "returnLineItem": { "$ref": "OrdersCustomBatchRequestEntryReturnLineItem", - "description": "Required for returnLineItem method." + "description": "Required for `returnLineItem` method." }, "returnRefundLineItem": { "$ref": "OrdersCustomBatchRequestEntryReturnRefundLineItem", - "description": "Required for returnRefundLineItem method." + "description": "Required for `returnRefundLineItem` method." }, "setLineItemMetadata": { "$ref": "OrdersCustomBatchRequestEntrySetLineItemMetadata", - "description": "Required for setLineItemMetadata method." + "description": "Required for `setLineItemMetadata` method." }, "shipLineItems": { "$ref": "OrdersCustomBatchRequestEntryShipLineItems", - "description": "Required for shipLineItems method." + "description": "Required for `shipLineItems` method." }, "updateLineItemShippingDetails": { "$ref": "OrdersCustomBatchRequestEntryUpdateLineItemShippingDetails", - "description": "Required for updateLineItemShippingDate method." + "description": "Required for `updateLineItemShippingDate` method." }, "updateShipment": { "$ref": "OrdersCustomBatchRequestEntryUpdateShipment", - "description": "Required for updateShipment method." + "description": "Required for `updateShipment` method." } }, "type": "object" @@ -7098,7 +7147,7 @@ "id": "OrdersCustomBatchRequestEntryCancel", "properties": { "reason": { - "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"customerInitiatedCancel\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"noInventory\" \n- \"other\" \n- \"priceError\" \n- \"shippingPriceError\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\"", + "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"`customerInitiatedCancel`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`noInventory`\" \n- \"`other`\" \n- \"`priceError`\" \n- \"`shippingPriceError`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\"", "type": "string" }, "reasonText": { @@ -7137,7 +7186,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"customerInitiatedCancel\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"noInventory\" \n- \"other\" \n- \"priceError\" \n- \"shippingPriceError\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\"", + "description": "The reason for the cancellation.\n\nAcceptable values are: \n- \"`customerInitiatedCancel`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`noInventory`\" \n- \"`other`\" \n- \"`priceError`\" \n- \"`shippingPriceError`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\"", "type": "string" }, "reasonText": { @@ -7187,7 +7236,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7213,7 +7262,7 @@ "description": "Tax amount that corresponds to refund amount in amountPretax. Optional, but if filled, amountPretax must be set. Calculated automatically if not provided." }, "reason": { - "description": "The reason for the refund.\n\nAcceptable values are: \n- \"adjustment\" \n- \"courtesyAdjustment\" \n- \"customerCanceled\" \n- \"customerDiscretionaryReturn\" \n- \"deliveredLateByCarrier\" \n- \"feeAdjustment\" \n- \"lateShipmentCredit\" \n- \"noInventory\" \n- \"other\" \n- \"priceError\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"shippingCostAdjustment\" \n- \"taxAdjustment\" \n- \"undeliverableShippingAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the refund.\n\nAcceptable values are: \n- \"`adjustment`\" \n- \"`courtesyAdjustment`\" \n- \"`customerCanceled`\" \n- \"`customerDiscretionaryReturn`\" \n- \"`deliveredLateByCarrier`\" \n- \"`feeAdjustment`\" \n- \"`lateShipmentCredit`\" \n- \"`noInventory`\" \n- \"`other`\" \n- \"`priceError`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`shippingCostAdjustment`\" \n- \"`taxAdjustment`\" \n- \"`undeliverableShippingAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7240,7 +7289,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"damagedOrUsed\" \n- \"missingComponent\" \n- \"notEligible\" \n- \"other\" \n- \"outOfReturnWindow\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`damagedOrUsed`\" \n- \"`missingComponent`\" \n- \"`notEligible`\" \n- \"`other`\" \n- \"`outOfReturnWindow`\"", "type": "string" }, "reasonText": { @@ -7267,7 +7316,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7302,7 +7351,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7336,7 +7385,7 @@ "id": "OrdersCustomBatchRequestEntryShipLineItems", "properties": { "carrier": { - "description": "Deprecated. Please use shipmentInfo instead. The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values.", + "description": "Deprecated. Please use shipmentInfo instead. The carrier handling the shipment. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.", "type": "string" }, "lineItems": { @@ -7372,7 +7421,7 @@ "id": "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo", "properties": { "carrier": { - "description": "The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values.", + "description": "The carrier handling the shipment. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.", "type": "string" }, "shipmentId": { @@ -7417,11 +7466,11 @@ "id": "OrdersCustomBatchRequestEntryUpdateShipment", "properties": { "carrier": { - "description": "The carrier handling the shipment. Not updated if missing. See shipments[].carrier in the Orders resource representation for a list of acceptable values.", + "description": "The carrier handling the shipment. Not updated if missing. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.", "type": "string" }, "deliveryDate": { - "description": "Date on which the shipment has been delivered, in ISO 8601 format. Optional and can be provided only if status is delivered.", + "description": "Date on which the shipment has been delivered, in ISO 8601 format. Optional and can be provided only if `status` is `delivered`.", "type": "string" }, "shipmentId": { @@ -7429,7 +7478,7 @@ "type": "string" }, "status": { - "description": "New status for the shipment. Not updated if missing.\n\nAcceptable values are: \n- \"delivered\" \n- \"undeliverable\"", + "description": "New status for the shipment. Not updated if missing.\n\nAcceptable values are: \n- \"`delivered`\" \n- \"`undeliverable`\" \n- \"`readyForPickup`\"", "type": "string" }, "trackingId": { @@ -7470,17 +7519,17 @@ "description": "A list of errors defined if and only if the request failed." }, "executionStatus": { - "description": "The status of the execution. Only defined if \n- the request was successful; and \n- the method is not get, getByMerchantOrderId, or one of the test methods. \n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution. Only defined if \n- the request was successful; and \n- the method is not `get`, `getByMerchantOrderId`, or one of the test methods. \n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { "default": "content#ordersCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersCustomBatchResponseEntry`\"", "type": "string" }, "order": { "$ref": "Order", - "description": "The retrieved order. Only defined if the method is get and if the request was successful." + "description": "The retrieved order. Only defined if the method is `get` and if the request was successful." } }, "type": "object" @@ -7544,7 +7593,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7558,7 +7607,7 @@ "id": "OrdersInStoreRefundLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7610,7 +7659,7 @@ "type": "string" }, "reason": { - "description": "The reason for the refund.\n\nAcceptable values are: \n- \"adjustment\" \n- \"courtesyAdjustment\" \n- \"customerCanceled\" \n- \"customerDiscretionaryReturn\" \n- \"deliveredLateByCarrier\" \n- \"feeAdjustment\" \n- \"lateShipmentCredit\" \n- \"noInventory\" \n- \"other\" \n- \"priceError\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"shippingCostAdjustment\" \n- \"taxAdjustment\" \n- \"undeliverableShippingAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the refund.\n\nAcceptable values are: \n- \"`adjustment`\" \n- \"`courtesyAdjustment`\" \n- \"`customerCanceled`\" \n- \"`customerDiscretionaryReturn`\" \n- \"`deliveredLateByCarrier`\" \n- \"`feeAdjustment`\" \n- \"`lateShipmentCredit`\" \n- \"`noInventory`\" \n- \"`other`\" \n- \"`priceError`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`shippingCostAdjustment`\" \n- \"`taxAdjustment`\" \n- \"`undeliverableShippingAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7624,7 +7673,7 @@ "id": "OrdersRefundResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7656,7 +7705,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"damagedOrUsed\" \n- \"missingComponent\" \n- \"notEligible\" \n- \"other\" \n- \"outOfReturnWindow\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`damagedOrUsed`\" \n- \"`missingComponent`\" \n- \"`notEligible`\" \n- \"`other`\" \n- \"`outOfReturnWindow`\"", "type": "string" }, "reasonText": { @@ -7670,7 +7719,7 @@ "id": "OrdersRejectReturnLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7702,7 +7751,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7716,7 +7765,7 @@ "id": "OrdersReturnLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7756,7 +7805,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the return.\n\nAcceptable values are: \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"invalidCoupon\" \n- \"malformedShippingAddress\" \n- \"other\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"qualityNotAsExpected\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "The reason for the return.\n\nAcceptable values are: \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`invalidCoupon`\" \n- \"`malformedShippingAddress`\" \n- \"`other`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`qualityNotAsExpected`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" }, "reasonText": { @@ -7770,7 +7819,7 @@ "id": "OrdersReturnRefundLineItemResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7809,7 +7858,7 @@ "id": "OrdersSetLineItemMetadataResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7824,7 +7873,7 @@ "id": "OrdersShipLineItemsRequest", "properties": { "carrier": { - "description": "Deprecated. Please use shipmentInfo instead. The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values.", + "description": "Deprecated. Please use shipmentInfo instead. The carrier handling the shipment. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.", "type": "string" }, "lineItems": { @@ -7864,7 +7913,7 @@ "id": "OrdersShipLineItemsResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7905,7 +7954,7 @@ "id": "OrdersUpdateLineItemShippingDetailsResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7934,7 +7983,7 @@ "id": "OrdersUpdateMerchantOrderIdResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7949,11 +7998,11 @@ "id": "OrdersUpdateShipmentRequest", "properties": { "carrier": { - "description": "The carrier handling the shipment. Not updated if missing. See shipments[].carrier in the Orders resource representation for a list of acceptable values.", + "description": "The carrier handling the shipment. Not updated if missing. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.", "type": "string" }, "deliveryDate": { - "description": "Date on which the shipment has been delivered, in ISO 8601 format. Optional and can be provided only if status is delivered.", + "description": "Date on which the shipment has been delivered, in ISO 8601 format. Optional and can be provided only if `status` is `delivered`.", "type": "string" }, "operationId": { @@ -7965,7 +8014,7 @@ "type": "string" }, "status": { - "description": "New status for the shipment. Not updated if missing.\n\nAcceptable values are: \n- \"delivered\" \n- \"undeliverable\"", + "description": "New status for the shipment. Not updated if missing.\n\nAcceptable values are: \n- \"`delivered`\" \n- \"`undeliverable`\" \n- \"`readyForPickup`\"", "type": "string" }, "trackingId": { @@ -7979,7 +8028,7 @@ "id": "OrdersUpdateShipmentResponse", "properties": { "executionStatus": { - "description": "The status of the execution.\n\nAcceptable values are: \n- \"duplicate\" \n- \"executed\"", + "description": "The status of the execution.\n\nAcceptable values are: \n- \"`duplicate`\" \n- \"`executed`\"", "type": "string" }, "kind": { @@ -7994,11 +8043,11 @@ "id": "PickupCarrierService", "properties": { "carrierName": { - "description": "The name of the pickup carrier (e.g., \"UPS\"). Required.", + "description": "The name of the pickup carrier (e.g., `\"UPS\"`). Required.", "type": "string" }, "serviceName": { - "description": "The name of the pickup service (e.g., \"Access point\"). Required.", + "description": "The name of the pickup service (e.g., `\"Access point\"`). Required.", "type": "string" } }, @@ -8008,7 +8057,7 @@ "id": "PickupServicesPickupService", "properties": { "carrierName": { - "description": "The name of the carrier (e.g., \"UPS\"). Always present.", + "description": "The name of the carrier (e.g., `\"UPS\"`). Always present.", "type": "string" }, "country": { @@ -8016,7 +8065,7 @@ "type": "string" }, "serviceName": { - "description": "The name of the pickup service (e.g., \"Access point\"). Always present.", + "description": "The name of the pickup service (e.g., `\"Access point\"`). Always present.", "type": "string" } }, @@ -8045,7 +8094,7 @@ }, "inventory": { "$ref": "PosInventory", - "description": "The inventory to submit. Set this only if the method is inventory." + "description": "The inventory to submit. Set this only if the method is `inventory`." }, "merchantId": { "description": "The ID of the POS data provider.", @@ -8053,19 +8102,19 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"delete\" \n- \"get\" \n- \"insert\" \n- \"inventory\" \n- \"sale\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`delete`\" \n- \"`get`\" \n- \"`insert`\" \n- \"`inventory`\" \n- \"`sale`\"", "type": "string" }, "sale": { "$ref": "PosSale", - "description": "The sale information to submit. Set this only if the method is sale." + "description": "The sale information to submit. Set this only if the method is `sale`." }, "store": { "$ref": "PosStore", - "description": "The store information to submit. Set this only if the method is insert." + "description": "The store information to submit. Set this only if the method is `insert`." }, "storeCode": { - "description": "The store code. Set this only if the method is delete or get.", + "description": "The store code. Set this only if the method is `delete` or `get`.", "type": "string" }, "targetMerchantId": { @@ -8112,7 +8161,7 @@ }, "kind": { "default": "content#posCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posCustomBatchResponseEntry`\"", "type": "string" }, "sale": { @@ -8190,7 +8239,7 @@ }, "kind": { "default": "content#posInventory", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posInventory\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posInventory`\"", "type": "string" }, "price": { @@ -8218,7 +8267,7 @@ "content.pos.inventory" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8292,7 +8341,7 @@ "content.pos.inventory" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8371,7 +8420,7 @@ "content.pos.inventory" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8440,7 +8489,7 @@ }, "kind": { "default": "content#posSale", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posSale\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posSale`\"", "type": "string" }, "price": { @@ -8472,7 +8521,7 @@ "content.pos.sale" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8550,7 +8599,7 @@ "content.pos.sale" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8633,7 +8682,7 @@ "content.pos.sale" ] }, - "description": "Required. The identifier of the merchant's store. Either a storeCode inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", "type": "string" }, "targetCountry": { @@ -8663,7 +8712,7 @@ "properties": { "kind": { "default": "content#posStore", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posStore\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posStore`\"", "type": "string" }, "storeAddress": { @@ -8712,11 +8761,11 @@ "id": "PostalCodeRange", "properties": { "postalCodeRangeBegin": { - "description": "A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: \"94108\", \"9410*\", \"9*\". Required.", + "description": "A postal code or a pattern of the form `prefix*` denoting the inclusive lower bound of the range defining the area. Examples values: `\"94108\"`, `\"9410*\"`, `\"9*\"`. Required.", "type": "string" }, "postalCodeRangeEnd": { - "description": "A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin.", + "description": "A postal code or a pattern of the form `prefix*` denoting the inclusive upper bound of the range defining the area. It must have the same length as `postalCodeRangeBegin`: if `postalCodeRangeBegin` is a postal code then `postalCodeRangeEnd` must be a postal code too; if `postalCodeRangeBegin` is a pattern then `postalCodeRangeEnd` must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching `postalCodeRangeBegin`.", "type": "string" } }, @@ -8737,7 +8786,7 @@ "type": "object" }, "Product": { - "description": "Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.", + "description": "Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information.\n\nSome attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. \n\nProduct data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.", "id": "Product", "properties": { "additionalImageLinks": { @@ -8774,7 +8823,7 @@ "type": "string" }, "ageGroup": { - "description": "Target age group of the item.\n\nAcceptable values are: \n- \"adult\" \n- \"infant\" \n- \"kids\" \n- \"newborn\" \n- \"toddler\" \n- \"youngAdult\"", + "description": "Target age group of the item.\n\nAcceptable values are: \n- \"`adult`\" \n- \"`infant`\" \n- \"`kids`\" \n- \"`newborn`\" \n- \"`toddler`\" \n- \"`youngAdult`\"", "type": "string" }, "aspects": { @@ -8785,7 +8834,7 @@ "type": "array" }, "availability": { - "description": "Availability status of the item.\n\nAcceptable values are: \n- \"in stock\" \n- \"out of stock\" \n- \"preorder\"", + "description": "Availability status of the item.\n\nAcceptable values are: \n- \"`in stock`\" \n- \"`out of stock`\" \n- \"`preorder`\"", "type": "string" }, "availabilityDate": { @@ -8796,13 +8845,17 @@ "description": "Brand of the item.", "type": "string" }, + "canonicalLink": { + "description": "Link to the canonical version of the landing page.", + "type": "string" + }, "channel": { "annotations": { "required": [ "content.products.insert" ] }, - "description": "Required. The item's channel (online or local).\n\nAcceptable values are: \n- \"local\" \n- \"online\"", + "description": "Required. The item's channel (online or local).\n\nAcceptable values are: \n- \"`local`\" \n- \"`online`\"", "type": "string" }, "color": { @@ -8810,7 +8863,7 @@ "type": "string" }, "condition": { - "description": "Condition or state of the item.\n\nAcceptable values are: \n- \"local\" \n- \"online\"", + "description": "Condition or state of the item.\n\nAcceptable values are: \n- \"`local`\" \n- \"`online`\"", "type": "string" }, "contentLanguage": { @@ -8827,7 +8880,7 @@ "description": "Cost of goods sold. Used for gross profit reporting." }, "customAttributes": { - "description": "A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { \"name\": \"size type\", \"value\": \"regular\" }). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Shopping Actions.", + "description": "A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Shopping Actions.", "items": { "$ref": "CustomAttribute" }, @@ -8896,15 +8949,15 @@ "type": "number" }, "energyEfficiencyClass": { - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.\n\nAcceptable values are: \n- \"A\" \n- \"A+\" \n- \"A++\" \n- \"A+++\" \n- \"B\" \n- \"C\" \n- \"D\" \n- \"E\" \n- \"F\" \n- \"G\"", + "description": "The energy efficiency class as defined in EU directive 2010/30/EU.\n\nAcceptable values are: \n- \"`A`\" \n- \"`A+`\" \n- \"`A++`\" \n- \"`A+++`\" \n- \"`B`\" \n- \"`C`\" \n- \"`D`\" \n- \"`E`\" \n- \"`F`\" \n- \"`G`\"", "type": "string" }, "expirationDate": { - "description": "Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.", + "description": "Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` and might be earlier if `expirationDate` is too far in the future.", "type": "string" }, "gender": { - "description": "Target gender of the item.\n\nAcceptable values are: \n- \"female\" \n- \"male\" \n- \"unisex\"", + "description": "Target gender of the item.\n\nAcceptable values are: \n- \"`female`\" \n- \"`male`\" \n- \"`unisex`\"", "type": "string" }, "googleProductCategory": { @@ -8916,7 +8969,7 @@ "type": "string" }, "id": { - "description": "The REST ID of the product. Content API methods that operate on products take this as their productId parameter.\nThe REST ID for a product is of the form channel:contentLanguage:targetCountry:offerId.", + "description": "The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter.\nThe REST ID for a product is of the form channel:contentLanguage:targetCountry: offerId.", "type": "string" }, "identifierExists": { @@ -8929,7 +8982,7 @@ }, "installment": { "$ref": "Installment", - "description": "Number and amount of installments to pay for an item. Brazil only." + "description": "Number and amount of installments to pay for an item." }, "isBundle": { "description": "Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.", @@ -8941,7 +8994,7 @@ }, "kind": { "default": "content#product", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#product\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#product`\"", "type": "string" }, "link": { @@ -8957,7 +9010,7 @@ "type": "string" }, "maxEnergyEfficiencyClass": { - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.\n\nAcceptable values are: \n- \"A\" \n- \"A+\" \n- \"A++\" \n- \"A+++\" \n- \"B\" \n- \"C\" \n- \"D\" \n- \"E\" \n- \"F\" \n- \"G\"", + "description": "The energy efficiency class as defined in EU directive 2010/30/EU.\n\nAcceptable values are: \n- \"`A`\" \n- \"`A+`\" \n- \"`A++`\" \n- \"`A+++`\" \n- \"`B`\" \n- \"`C`\" \n- \"`D`\" \n- \"`E`\" \n- \"`F`\" \n- \"`G`\"", "type": "string" }, "maxHandlingTime": { @@ -8966,7 +9019,7 @@ "type": "string" }, "minEnergyEfficiencyClass": { - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.\n\nAcceptable values are: \n- \"A\" \n- \"A+\" \n- \"A++\" \n- \"A+++\" \n- \"B\" \n- \"C\" \n- \"D\" \n- \"E\" \n- \"F\" \n- \"G\"", + "description": "The energy efficiency class as defined in EU directive 2010/30/EU.\n\nAcceptable values are: \n- \"`A`\" \n- \"`A+`\" \n- \"`A++`\" \n- \"`A+++`\" \n- \"`B`\" \n- \"`C`\" \n- \"`D`\" \n- \"`E`\" \n- \"`F`\" \n- \"`G`\"", "type": "string" }, "minHandlingTime": { @@ -8997,7 +9050,7 @@ "type": "string" }, "onlineOnly": { - "description": "Deprecated. Whether an item is available for purchase only online.", + "description": "Deprecated.", "type": "boolean" }, "pattern": { @@ -9060,22 +9113,22 @@ "description": "Width of the item for shipping." }, "sizeSystem": { - "description": "System in which the size is specified. Recommended for apparel items.\n\nAcceptable values are: \n- \"AU\" \n- \"BR\" \n- \"CN\" \n- \"DE\" \n- \"EU\" \n- \"FR\" \n- \"IT\" \n- \"JP\" \n- \"MEX\" \n- \"UK\" \n- \"US\"", + "description": "System in which the size is specified. Recommended for apparel items.\n\nAcceptable values are: \n- \"`AU`\" \n- \"`BR`\" \n- \"`CN`\" \n- \"`DE`\" \n- \"`EU`\" \n- \"`FR`\" \n- \"`IT`\" \n- \"`JP`\" \n- \"`MEX`\" \n- \"`UK`\" \n- \"`US`\"", "type": "string" }, "sizeType": { - "description": "The cut of the item. Recommended for apparel items.\n\nAcceptable values are: \n- \"big and tall\" \n- \"maternity\" \n- \"oversize\" \n- \"petite\" \n- \"plus\" \n- \"regular\"", + "description": "The cut of the item. Recommended for apparel items.\n\nAcceptable values are: \n- \"`big and tall`\" \n- \"`maternity`\" \n- \"`oversize`\" \n- \"`petite`\" \n- \"`plus`\" \n- \"`regular`\"", "type": "string" }, "sizes": { - "description": "Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value (see size definition).", + "description": "Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value (see size definition).", "items": { "type": "string" }, "type": "array" }, "source": { - "description": "The source of the offer, i.e., how the offer was created.\n\nAcceptable values are: \n- \"api\" \n- \"crawl\" \n- \"feed\"", + "description": "The source of the offer, i.e., how the offer was created.\n\nAcceptable values are: \n- \"`api`\" \n- \"`crawl`\" \n- \"`feed`\"", "type": "string" }, "targetCountry": { @@ -9145,15 +9198,15 @@ "id": "ProductAspect", "properties": { "aspectName": { - "description": "The name of the aspect.", + "description": "Deprecated.", "type": "string" }, "destinationName": { - "description": "The name of the destination. Leave out to apply to all destinations.", + "description": "Deprecated.", "type": "string" }, "intention": { - "description": "Whether the aspect is required, excluded or should be validated.", + "description": "Deprecated.", "type": "string" } }, @@ -9167,7 +9220,7 @@ "type": "string" }, "intention": { - "description": "Whether the destination is required, excluded or should be validated.\n\nAcceptable values are: \n- \"default\" \n- \"excluded\" \n- \"optional\" \n- \"required\"", + "description": "Whether the destination is required, excluded or should be validated.\n\nAcceptable values are: \n- \"`default`\" \n- \"`excluded`\" \n- \"`optional`\" \n- \"`required`\"", "type": "string" } }, @@ -9273,7 +9326,7 @@ }, "kind": { "default": "content#productStatus", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productStatus\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productStatus`\"", "type": "string" }, "lastUpdateDate": { @@ -9340,7 +9393,7 @@ "type": "boolean" }, "approvalStatus": { - "description": "The destination's approval status.\n\nAcceptable values are: \n- \"approved\" \n- \"disapproved\"", + "description": "The destination's approval status.\n\nAcceptable values are: \n- \"`approved`\" \n- \"`disapproved`\"", "type": "string" }, "destination": { @@ -9348,7 +9401,7 @@ "type": "string" }, "intention": { - "description": "Provided for backward compatibility only. Always set to \"required\".\n\nAcceptable values are: \n- \"default\" \n- \"excluded\" \n- \"optional\" \n- \"required\"", + "description": "Provided for backward compatibility only. Always set to \"required\".\n\nAcceptable values are: \n- \"`default`\" \n- \"`excluded`\" \n- \"`optional`\" \n- \"`required`\"", "type": "string" } }, @@ -9482,15 +9535,15 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"delete\" \n- \"get\" \n- \"insert\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`delete`\" \n- \"`get`\" \n- \"`insert`\"", "type": "string" }, "product": { "$ref": "Product", - "description": "The product to insert. Only required if the method is insert." + "description": "The product to insert. Only required if the method is `insert`." }, "productId": { - "description": "The ID of the product to get or delete. Only defined if the method is get or delete.", + "description": "The ID of the product to get or delete. Only defined if the method is `get` or `delete`.", "type": "string" } }, @@ -9529,12 +9582,12 @@ }, "kind": { "default": "content#productsCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productsCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productsCustomBatchResponseEntry`\"", "type": "string" }, "product": { "$ref": "Product", - "description": "The inserted product. Only defined if the method is insert and if the request was successful." + "description": "The inserted product. Only defined if the method is `insert` and if the request was successful." } }, "type": "object" @@ -9598,7 +9651,7 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\"", "type": "string" }, "productId": { @@ -9641,7 +9694,7 @@ }, "kind": { "default": "content#productstatusesCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productstatusesCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productstatusesCustomBatchResponseEntry`\"", "type": "string" }, "productStatus": { @@ -9697,7 +9750,7 @@ "type": "array" }, "carrierRates": { - "description": "A list of carrier rates that can be referred to by mainTable or singleValue.", + "description": "A list of carrier rates that can be referred to by `mainTable` or `singleValue`.", "items": { "$ref": "CarrierRate" }, @@ -9705,7 +9758,7 @@ }, "mainTable": { "$ref": "Table", - "description": "A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set." + "description": "A table defining the rate group, when `singleValue` is not expressive enough. Can only be set if `singleValue` is not set." }, "name": { "description": "Name of the rate group. Optional. If set has to be unique within shipping service.", @@ -9713,10 +9766,10 @@ }, "singleValue": { "$ref": "Value", - "description": "The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set." + "description": "The value of the rate group (e.g. flat rate $10). Can only be set if `mainTable` and `subtables` are not set." }, "subtables": { - "description": "A list of subtables referred to by mainTable. Can only be set if mainTable is set.", + "description": "A list of subtables referred to by `mainTable`. Can only be set if `mainTable` is set.", "items": { "$ref": "Table" }, @@ -9733,7 +9786,7 @@ "type": "string" }, "reasonCode": { - "description": "Code of the refund reason.\n\nAcceptable values are: \n- \"adjustment\" \n- \"autoPostInternal\" \n- \"autoPostInvalidBillingAddress\" \n- \"autoPostNoInventory\" \n- \"autoPostPriceError\" \n- \"autoPostUndeliverableShippingAddress\" \n- \"couponAbuse\" \n- \"courtesyAdjustment\" \n- \"customerCanceled\" \n- \"customerDiscretionaryReturn\" \n- \"customerInitiatedMerchantCancel\" \n- \"customerSupportRequested\" \n- \"deliveredLateByCarrier\" \n- \"deliveredTooLate\" \n- \"expiredItem\" \n- \"failToPushOrderGoogleError\" \n- \"failToPushOrderMerchantError\" \n- \"failToPushOrderMerchantFulfillmentError\" \n- \"failToPushOrderToMerchant\" \n- \"failToPushOrderToMerchantOutOfStock\" \n- \"feeAdjustment\" \n- \"invalidCoupon\" \n- \"lateShipmentCredit\" \n- \"malformedShippingAddress\" \n- \"merchantDidNotShipOnTime\" \n- \"noInventory\" \n- \"orderTimeout\" \n- \"other\" \n- \"paymentAbuse\" \n- \"paymentDeclined\" \n- \"priceAdjustment\" \n- \"priceError\" \n- \"productArrivedDamaged\" \n- \"productNotAsDescribed\" \n- \"promoReallocation\" \n- \"qualityNotAsExpected\" \n- \"returnRefundAbuse\" \n- \"shippingCostAdjustment\" \n- \"shippingPriceError\" \n- \"taxAdjustment\" \n- \"taxError\" \n- \"undeliverableShippingAddress\" \n- \"unsupportedPoBoxAddress\" \n- \"wrongProductShipped\"", + "description": "Code of the refund reason.\n\nAcceptable values are: \n- \"`adjustment`\" \n- \"`autoPostInternal`\" \n- \"`autoPostInvalidBillingAddress`\" \n- \"`autoPostNoInventory`\" \n- \"`autoPostPriceError`\" \n- \"`autoPostUndeliverableShippingAddress`\" \n- \"`couponAbuse`\" \n- \"`courtesyAdjustment`\" \n- \"`customerCanceled`\" \n- \"`customerDiscretionaryReturn`\" \n- \"`customerInitiatedMerchantCancel`\" \n- \"`customerSupportRequested`\" \n- \"`deliveredLateByCarrier`\" \n- \"`deliveredTooLate`\" \n- \"`expiredItem`\" \n- \"`failToPushOrderGoogleError`\" \n- \"`failToPushOrderMerchantError`\" \n- \"`failToPushOrderMerchantFulfillmentError`\" \n- \"`failToPushOrderToMerchant`\" \n- \"`failToPushOrderToMerchantOutOfStock`\" \n- \"`feeAdjustment`\" \n- \"`invalidCoupon`\" \n- \"`lateShipmentCredit`\" \n- \"`malformedShippingAddress`\" \n- \"`merchantDidNotShipOnTime`\" \n- \"`noInventory`\" \n- \"`orderTimeout`\" \n- \"`other`\" \n- \"`paymentAbuse`\" \n- \"`paymentDeclined`\" \n- \"`priceAdjustment`\" \n- \"`priceError`\" \n- \"`productArrivedDamaged`\" \n- \"`productNotAsDescribed`\" \n- \"`promoReallocation`\" \n- \"`qualityNotAsExpected`\" \n- \"`returnRefundAbuse`\" \n- \"`shippingCostAdjustment`\" \n- \"`shippingPriceError`\" \n- \"`taxAdjustment`\" \n- \"`taxError`\" \n- \"`undeliverableShippingAddress`\" \n- \"`unsupportedPoBoxAddress`\" \n- \"`wrongProductShipped`\"", "type": "string" } }, @@ -9751,7 +9804,7 @@ "type": "string" }, "returnMethodType": { - "description": "Type of the return method.\n\nAcceptable values are: \n- \"byMail\" \n- \"contactCustomerSupport\" \n- \"returnless\"", + "description": "Type of the return method.\n\nAcceptable values are: \n- \"`byMail`\" \n- \"`contactCustomerSupport`\" \n- \"`returnless`\"", "type": "string" }, "shipmentId": { @@ -9770,7 +9823,7 @@ "type": "string" }, "state": { - "description": "State of the shipment.\n\nAcceptable values are: \n- \"completed\" \n- \"new\" \n- \"shipped\" \n- \"undeliverable\"", + "description": "State of the shipment.\n\nAcceptable values are: \n- \"`completed`\" \n- \"`new`\" \n- \"`shipped`\" \n- \"`undeliverable`\" \n- \"`pending`\"", "type": "string" } }, @@ -9780,7 +9833,7 @@ "id": "Row", "properties": { "cells": { - "description": "The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.", + "description": "The list of cells that constitute the row. Must have the same length as `columnHeaders` for two-dimensional tables, a length of 1 for one-dimensional tables. Required.", "items": { "$ref": "Value" }, @@ -9809,12 +9862,16 @@ "description": "Time spent in various aspects from order to the delivery of the product. Required." }, "eligibility": { - "description": "Eligibility for this service.\n\nAcceptable values are: \n- \"All scenarios\" \n- \"All scenarios except Shopping Actions\" \n- \"Shopping Actions\"", + "description": "Eligibility for this service.\n\nAcceptable values are: \n- \"`All scenarios`\" \n- \"`All scenarios except Shopping Actions`\" \n- \"`Shopping Actions`\"", "type": "string" }, "minimumOrderValue": { "$ref": "Price", - "description": "Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency." + "description": "Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimum_order_value_table." + }, + "minimumOrderValueTable": { + "$ref": "MinimumOrderValueTable", + "description": "Table of per store minimum order values for the pickup fulfillment type. Cannot be set together with minimum_order_value." }, "name": { "description": "Free-form name of the service. Must be unique within target account. Required.", @@ -9822,17 +9879,17 @@ }, "pickupService": { "$ref": "PickupCarrierService", - "description": "The carrier-service pair delivering items to collection points. The list of supported pickup services can be retrieved via the getSupportedPickupServices method. Required if and only if the service delivery type is pickup." + "description": "The carrier-service pair delivering items to collection points. The list of supported pickup services can be retrieved via the `getSupportedPickupServices` method. Required if and only if the service delivery type is `pickup`." }, "rateGroups": { - "description": "Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means \"everything else\". The other applicableShippingLabels must not overlap.", + "description": "Shipping rate group definitions. Only the last one is allowed to have an empty `applicableShippingLabels`, which means \"everything else\". The other `applicableShippingLabels` must not overlap.", "items": { "$ref": "RateGroup" }, "type": "array" }, "shipmentType": { - "description": "Type of locations this service ships orders to.\n\nAcceptable values are: \n- \"delivery\" \n- \"pickup\"", + "description": "Type of locations this service ships orders to.\n\nAcceptable values are: \n- \"`delivery`\" \n- \"`pickup`\"", "type": "string" } }, @@ -9853,7 +9910,7 @@ "type": "array" }, "shipmentGroupId": { - "description": "[required] ID of the shipment group. It is assigned by the merchant in the shipLineItems method and is used to group multiple line items that have the same kind of shipping charges.", + "description": "[required] ID of the shipment group. It is assigned by the merchant in the `shipLineItems` method and is used to group multiple line items that have the same kind of shipping charges.", "type": "string" } }, @@ -9888,7 +9945,7 @@ "id": "ShipmentTrackingInfo", "properties": { "carrier": { - "description": "The shipping carrier that handles the package.\n\nAcceptable values are: \n- \"boxtal\" \n- \"bpost\" \n- \"chronopost\" \n- \"colisPrive\" \n- \"colissimo\" \n- \"cxt\" \n- \"deliv\" \n- \"dhl\" \n- \"dpd\" \n- \"dynamex\" \n- \"eCourier\" \n- \"easypost\" \n- \"efw\" \n- \"fedex\" \n- \"fedexSmartpost\" \n- \"geodis\" \n- \"gls\" \n- \"googleCourier\" \n- \"gsx\" \n- \"jdLogistics\" \n- \"laPoste\" \n- \"lasership\" \n- \"manual\" \n- \"mpx\" \n- \"onTrac\" \n- \"other\" \n- \"tnt\" \n- \"uds\" \n- \"ups\" \n- \"usps\"", + "description": "The shipping carrier that handles the package.\n\nAcceptable values are: \n- \"`boxtal`\" \n- \"`bpost`\" \n- \"`chronopost`\" \n- \"`colisPrive`\" \n- \"`colissimo`\" \n- \"`cxt`\" \n- \"`deliv`\" \n- \"`dhl`\" \n- \"`dpd`\" \n- \"`dynamex`\" \n- \"`eCourier`\" \n- \"`easypost`\" \n- \"`efw`\" \n- \"`fedex`\" \n- \"`fedexSmartpost`\" \n- \"`geodis`\" \n- \"`gls`\" \n- \"`googleCourier`\" \n- \"`gsx`\" \n- \"`jdLogistics`\" \n- \"`laPoste`\" \n- \"`lasership`\" \n- \"`manual`\" \n- \"`mpx`\" \n- \"`onTrac`\" \n- \"`other`\" \n- \"`tnt`\" \n- \"`uds`\" \n- \"`ups`\" \n- \"`usps`\"", "type": "string" }, "trackingNumber": { @@ -9908,7 +9965,7 @@ "type": "string" }, "postalCodeGroups": { - "description": "A list of postal code groups that can be referred to in services. Optional.", + "description": "A list of postal code groups that can be referred to in `services`. Optional.", "items": { "$ref": "PostalCodeGroup" }, @@ -9957,12 +10014,12 @@ "type": "string" }, "method": { - "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"get\" \n- \"update\"", + "description": "The method of the batch entry.\n\nAcceptable values are: \n- \"`get`\" \n- \"`update`\"", "type": "string" }, "shippingSettings": { "$ref": "ShippingSettings", - "description": "The account shipping settings to update. Only defined if the method is update." + "description": "The account shipping settings to update. Only defined if the method is `update`." } }, "type": "object" @@ -10000,7 +10057,7 @@ }, "kind": { "default": "content#shippingsettingsCustomBatchResponseEntry", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#shippingsettingsCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsCustomBatchResponseEntry`\"", "type": "string" }, "shippingSettings": { @@ -10101,7 +10158,7 @@ "description": "Headers of the table's rows. Required." }, "rows": { - "description": "The list of rows that constitute the table. Must have the same length as rowHeaders. Required.", + "description": "The list of rows that constitute the table. Must have the same length as `rowHeaders`. Required.", "items": { "$ref": "Row" }, @@ -10128,7 +10185,7 @@ }, "kind": { "default": "content#testOrder", - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#testOrder\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#testOrder`\"", "type": "string" }, "lineItems": { @@ -10144,7 +10201,7 @@ "type": "array" }, "notificationMode": { - "description": "Determines if test order must be pulled by merchant or pushed to merchant via push integration.\n\nAcceptable values are: \n- \"checkoutIntegration\" \n- \"merchantPull\"", + "description": "Restricted. Do not use.", "type": "string" }, "paymentMethod": { @@ -10157,11 +10214,11 @@ "content.orders.createtestorder" ] }, - "description": "Required. Identifier of one of the predefined delivery addresses for the delivery.\n\nAcceptable values are: \n- \"dwight\" \n- \"jim\" \n- \"pam\"", + "description": "Required. Identifier of one of the predefined delivery addresses for the delivery.\n\nAcceptable values are: \n- \"`dwight`\" \n- \"`jim`\" \n- \"`pam`\"", "type": "string" }, "predefinedPickupDetails": { - "description": "Identifier of one of the predefined pickup details. Required for orders containing line items with shipping type pickup.\n\nAcceptable values are: \n- \"dwight\" \n- \"jim\" \n- \"pam\"", + "description": "Identifier of one of the predefined pickup details. Required for orders containing line items with shipping type `pickup`.\n\nAcceptable values are: \n- \"`dwight`\" \n- \"`jim`\" \n- \"`pam`\"", "type": "string" }, "promotions": { @@ -10190,7 +10247,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. The requested shipping option.\n\nAcceptable values are: \n- \"economy\" \n- \"expedited\" \n- \"oneDay\" \n- \"sameDay\" \n- \"standard\" \n- \"twoDay\"", + "description": "Required. The requested shipping option.\n\nAcceptable values are: \n- \"`economy`\" \n- \"`expedited`\" \n- \"`oneDay`\" \n- \"`sameDay`\" \n- \"`standard`\" \n- \"`twoDay`\"", "type": "string" } }, @@ -10205,7 +10262,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. Email address of the customer.\n\nAcceptable values are: \n- \"pog.dwight.schrute@gmail.com\" \n- \"pog.jim.halpert@gmail.com\" \n- \"penpog.pam.beesly@gmail.comding\"", + "description": "Required. Email address of the customer.\n\nAcceptable values are: \n- \"`pog.dwight.schrute@gmail.com`\" \n- \"`pog.jim.halpert@gmail.com`\" \n- \"`penpog.pam.beesly@gmail.comding`\"", "type": "string" }, "explicitMarketingPreference": { @@ -10227,7 +10284,7 @@ "id": "TestOrderCustomerMarketingRightsInfo", "properties": { "explicitMarketingPreference": { - "description": "Last know user use selection regards marketing preferences. In certain cases selection might not be known, so this field would be empty.\n\nAcceptable values are: \n- \"denied\" \n- \"granted\"", + "description": "Last know user use selection regards marketing preferences. In certain cases selection might not be known, so this field would be empty.\n\nAcceptable values are: \n- \"`denied`\" \n- \"`granted`\"", "type": "string" }, "lastUpdatedTimestamp": { @@ -10292,7 +10349,7 @@ "type": "string" }, "channel": { - "description": "Deprecated.\n\nAcceptable values are: \n- \"online\"", + "description": "Deprecated.\n\nAcceptable values are: \n- \"`online`\"", "type": "string" }, "condition": { @@ -10301,7 +10358,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. Condition or state of the item.\n\nAcceptable values are: \n- \"new\"", + "description": "Required. Condition or state of the item.\n\nAcceptable values are: \n- \"`new`\"", "type": "string" }, "contentLanguage": { @@ -10310,7 +10367,7 @@ "content.orders.createtestorder" ] }, - "description": "Required. The two-letter ISO 639-1 language code for the item.\n\nAcceptable values are: \n- \"en\" \n- \"fr\"", + "description": "Required. The two-letter ISO 639-1 language code for the item.\n\nAcceptable values are: \n- \"`en`\" \n- \"`fr`\"", "type": "string" }, "fees": { @@ -10405,11 +10462,11 @@ "type": "string" }, "predefinedBillingAddress": { - "description": "The billing address.\n\nAcceptable values are: \n- \"dwight\" \n- \"jim\" \n- \"pam\"", + "description": "The billing address.\n\nAcceptable values are: \n- \"`dwight`\" \n- \"`jim`\" \n- \"`pam`\"", "type": "string" }, "type": { - "description": "The type of instrument. Note that real orders might have different values than the four values accepted by createTestOrder.\n\nAcceptable values are: \n- \"AMEX\" \n- \"DISCOVER\" \n- \"MASTERCARD\" \n- \"VISA\"", + "description": "The type of instrument. Note that real orders might have different values than the four values accepted by `createTestOrder`.\n\nAcceptable values are: \n- \"`AMEX`\" \n- \"`DISCOVER`\" \n- \"`MASTERCARD`\" \n- \"`VISA`\"", "type": "string" } }, @@ -10419,7 +10476,7 @@ "id": "TransitTable", "properties": { "postalCodeGroupNames": { - "description": "A list of postal group names. The last value can be \"all other locations\". Example: [\"zone 1\", \"zone 2\", \"all other locations\"]. The referred postal code groups must match the delivery country of the service.", + "description": "A list of postal group names. The last value can be `\"all other locations\"`. Example: `[\"zone 1\", \"zone 2\", \"all other locations\"]`. The referred postal code groups must match the delivery country of the service.", "items": { "type": "string" }, @@ -10432,7 +10489,7 @@ "type": "array" }, "transitTimeLabels": { - "description": "A list of transit time labels. The last value can be \"all other labels\". Example: [\"food\", \"electronics\", \"all other labels\"].", + "description": "A list of transit time labels. The last value can be `\"all other labels\"`. Example: `[\"food\", \"electronics\", \"all other labels\"]`.", "items": { "type": "string" }, @@ -10457,7 +10514,7 @@ "id": "TransitTableTransitTimeRowTransitTimeValue", "properties": { "maxTransitTimeInDays": { - "description": "Must be greater than or equal to minTransitTimeInDays.", + "description": "Must be greater than or equal to `minTransitTimeInDays`.", "format": "uint32", "type": "integer" }, @@ -10515,7 +10572,7 @@ "type": "array" }, "type": { - "description": "[required] Type of the additional charge.\n\nAcceptable values are: \n- \"shipping\"", + "description": "[required] Type of the additional charge.\n\nAcceptable values are: \n- \"`shipping`\"", "type": "string" } }, @@ -10529,18 +10586,18 @@ "description": "[required] Tax amount for the tax type." }, "taxName": { - "description": "Optional name of the tax type. This should only be provided if taxType is otherFeeTax.", + "description": "Optional name of the tax type. This should only be provided if `taxType` is `otherFeeTax`.", "type": "string" }, "taxType": { - "description": "[required] Type of the tax.\n\nAcceptable values are: \n- \"otherFee\" \n- \"otherFeeTax\" \n- \"sales\"", + "description": "[required] Type of the tax.\n\nAcceptable values are: \n- \"`otherFee`\" \n- \"`otherFeeTax`\" \n- \"`sales`\"", "type": "string" } }, "type": "object" }, "Value": { - "description": "The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.", + "description": "The single value of a rate group or the value of a rate group table's cell. Exactly one of `noShipping`, `flatRate`, `pricePercentage`, `carrierRateName`, `subtableName` must be set.", "id": "Value", "properties": { "carrierRateName": { @@ -10556,7 +10613,7 @@ "type": "boolean" }, "pricePercentage": { - "description": "A percentage of the price represented as a number in decimal notation (e.g., \"5.4\"). Can only be set if all other fields are not set.", + "description": "A percentage of the price represented as a number in decimal notation (e.g., `\"5.4\"`). Can only be set if all other fields are not set.", "type": "string" }, "subtableName": { @@ -10570,7 +10627,7 @@ "id": "Weight", "properties": { "unit": { - "description": "Required. The weight unit.\n\nAcceptable values are: \n- \"kg\" \n- \"lb\"", + "description": "Required. The weight unit.\n\nAcceptable values are: \n- \"`kg`\" \n- \"`lb`\"", "type": "string" }, "value": { diff --git a/etc/api/customsearch/v1/customsearch-api.json b/etc/api/customsearch/v1/customsearch-api.json index 50379d8ce9..581de72dfb 100644 --- a/etc/api/customsearch/v1/customsearch-api.json +++ b/etc/api/customsearch/v1/customsearch-api.json @@ -1,33 +1,60 @@ { - "basePath": "/customsearch/", - "baseUrl": "https://www.googleapis.com/customsearch/", - "batchPath": "batch/customsearch/v1", + "basePath": "", + "baseUrl": "https://customsearch.googleapis.com/", + "batchPath": "batch", "description": "Searches over a website or collection of websites", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/custom-search/v1/using_rest", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/DuDrBlvHLFXE8uorI6UhfoH-kUs\"", + "documentationLink": "https://developers.google.com/custom-search/v1/introduction", "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "customsearch:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://customsearch.mtls.googleapis.com/", "name": "customsearch", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -50,12 +77,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -65,118 +97,93 @@ "cse": { "methods": { "list": { - "description": "Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results.", + "description": "Returns metadata about the search performed, metadata about the custom\nsearch engine used for the search, and the search results.", + "flatPath": "customsearch/v1", "httpMethod": "GET", "id": "search.cse.list", - "parameterOrder": [ - "q" - ], + "parameterOrder": [], "parameters": { "c2coff": { - "description": "Turns off the translation between zh-CN and zh-TW.", + "description": "Enables or disables [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch).\n\nThe default value for this parameter is 0 (zero), meaning that the feature\nis enabled. Supported values are:\n\n* `1`: Disabled\n\n* `0`: Enabled (default)", "location": "query", "type": "string" }, "cr": { - "description": "Country restrict(s).", + "description": "Restricts search results to documents originating in a particular country.\nYou may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results_appendices#booleanOperators)\nin the cr parameter's value.\n\nGoogle Search determines the country of a document by analyzing:\n\n* the top-level domain (TLD) of the document's URL\n\n* the geographic location of the Web server's IP address\n\nSee the [Country Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCollections)\npage for a list of valid values for this parameter.", "location": "query", "type": "string" }, "cx": { - "description": "The custom search engine ID to scope this search query", + "description": "The custom search engine ID to use for this request.", "location": "query", "type": "string" }, "dateRestrict": { - "description": "Specifies all search results are from a time period", + "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.", "location": "query", "type": "string" }, "exactTerms": { - "description": "Identifies a phrase that all documents in the search results must contain", + "description": "Identifies a phrase that all documents in the search results must contain.", "location": "query", "type": "string" }, "excludeTerms": { - "description": "Identifies a word or phrase that should not appear in any documents in the search results", + "description": "Identifies a word or phrase that should not appear in any documents in the\nsearch results.", "location": "query", "type": "string" }, "fileType": { - "description": "Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ...", + "description": "Restricts results to files of a specified extension. A list of file types\nindexable by Google can be found in Search Console [Help\nCenter](https://support.google.com/webmasters/answer/35287).", "location": "query", "type": "string" }, "filter": { - "description": "Controls turning on or off the duplicate content filter.", - "enum": [ - "0", - "1" - ], - "enumDescriptions": [ - "Turns off duplicate content filter.", - "Turns on duplicate content filter." - ], + "description": "Controls turning on or off the duplicate content filter.\n\n* See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Note that host\ncrowding filtering applies only to multi-site searches.\n\n* By default, Google applies filtering to all search results to improve the\nquality of those results.\n\nAcceptable values are:\n\n* `0`: Turns off duplicate content filter.\n\n* `1`: Turns on duplicate content filter.", "location": "query", "type": "string" }, "gl": { - "description": "Geolocation of end user.", + "description": "Geolocation of end user.\n\n* The `gl` parameter value is a two-letter country code. The `gl` parameter\nboosts search results whose country of origin matches the parameter value.\nSee the [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCodes)\npage for a list of valid values.\n\n* Specifying a `gl` parameter value should lead to more relevant results.\nThis is particularly true for international customers and, even more\nspecifically, for customers in English- speaking countries other than the\nUnited States.", "location": "query", "type": "string" }, "googlehost": { - "description": "The local Google domain to use to perform the search.", + "description": "**Deprecated**. Use the `gl` parameter for a similar effect.\n\nThe local Google domain (for example, google.com, google.de, or\ngoogle.fr) to use to perform the search.", "location": "query", "type": "string" }, "highRange": { - "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query", + "description": "Specifies the ending value for a search range.\n\n* Use `lowRange` and `highRange` to append an inclusive search range of\n`lowRange...highRange` to the query.", "location": "query", "type": "string" }, "hl": { - "description": "Sets the user interface language.", + "description": "Sets the user interface language.\n\n* Explicitly setting this parameter improves the performance and the\nquality of your search results.\n\n* See the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and (Supported Interface\nLanguages)[https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages]\nfor a list of supported languages.", "location": "query", "type": "string" }, "hq": { - "description": "Appends the extra query terms to the query.", + "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical AND operator.", "location": "query", "type": "string" }, "imgColorType": { - "description": "Returns black and white, grayscale, or color images: mono, gray, and color.", + "description": "Returns black and white, grayscale, transparent, or color images.\nAcceptable values are:\n\n* `\"color\"`\n\n* `\"gray\"`\n\n* `\"mono\"`: black and white\n\n* `\"trans\"`: transparent background", "enum": [ - "color", + "imgColorTypeUndefined", + "mono", "gray", - "mono" - ], - "enumDescriptions": [ "color", - "gray", - "mono" + "trans" ], "location": "query", "type": "string" }, "imgDominantColor": { - "description": "Returns images of a specific dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black and brown.", + "description": "Returns images of a specific dominant color. Acceptable values are:\n\n* `\"black\"`\n\n* `\"blue\"`\n\n* `\"brown\"`\n\n* `\"gray\"`\n\n* `\"green\"`\n\n* `\"orange\"`\n\n* `\"pink\"`\n\n* `\"purple\"`\n\n* `\"red\"`\n\n* `\"teal\"`\n\n* `\"white\"`\n\n* `\"yellow\"`", "enum": [ - "black", - "blue", - "brown", - "gray", - "green", - "orange", - "pink", - "purple", - "red", - "teal", - "white", - "yellow" - ], - "enumDescriptions": [ + "imgDominantColorUndefined", "black", "blue", "brown", @@ -194,224 +201,124 @@ "type": "string" }, "imgSize": { - "description": "Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge.", + "description": "Returns images of a specified size. Acceptable values are:\n\n* `\"huge\"`\n\n* `\"icon\"`\n\n* `\"large\"`\n\n* `\"medium\"`\n\n* `\"small\"`\n\n* `\"xlarge\"`\n\n* `\"xxlarge\"`", "enum": [ - "huge", - "icon", - "large", - "medium", - "small", - "xlarge", - "xxlarge" - ], - "enumDescriptions": [ - "huge", - "icon", - "large", - "medium", - "small", - "xlarge", - "xxlarge" + "imgSizeUndefined", + "HUGE", + "ICON", + "LARGE", + "MEDIUM", + "SMALL", + "XLARGE", + "XXLARGE" ], "location": "query", "type": "string" }, "imgType": { - "description": "Returns images of a type, which can be one of: clipart, face, lineart, news, and photo.", + "description": "Returns images of a type. Acceptable values are:\n\n* `\"clipart\"`\n\n* `\"face\"`\n\n* `\"lineart\"`\n\n* `\"stock\"`\n\n* `\"photo\"`\n\n* `\"animated\"`", "enum": [ + "imgTypeUndefined", "clipart", "face", "lineart", - "news", - "photo" - ], - "enumDescriptions": [ - "clipart", - "face", - "lineart", - "news", - "photo" + "stock", + "photo", + "animated" ], "location": "query", "type": "string" }, "linkSite": { - "description": "Specifies that all search results should contain a link to a particular URL", + "description": "Specifies that all search results should contain a link to a particular\nURL.", "location": "query", "type": "string" }, "lowRange": { - "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query", + "description": "Specifies the starting value for a search range. Use `lowRange` and\n`highRange` to append an inclusive search range of `lowRange...highRange`\nto the query.", "location": "query", "type": "string" }, "lr": { - "description": "The language restriction for the search results", - "enum": [ - "lang_ar", - "lang_bg", - "lang_ca", - "lang_cs", - "lang_da", - "lang_de", - "lang_el", - "lang_en", - "lang_es", - "lang_et", - "lang_fi", - "lang_fr", - "lang_hr", - "lang_hu", - "lang_id", - "lang_is", - "lang_it", - "lang_iw", - "lang_ja", - "lang_ko", - "lang_lt", - "lang_lv", - "lang_nl", - "lang_no", - "lang_pl", - "lang_pt", - "lang_ro", - "lang_ru", - "lang_sk", - "lang_sl", - "lang_sr", - "lang_sv", - "lang_tr", - "lang_zh-CN", - "lang_zh-TW" - ], - "enumDescriptions": [ - "Arabic", - "Bulgarian", - "Catalan", - "Czech", - "Danish", - "German", - "Greek", - "English", - "Spanish", - "Estonian", - "Finnish", - "French", - "Croatian", - "Hungarian", - "Indonesian", - "Icelandic", - "Italian", - "Hebrew", - "Japanese", - "Korean", - "Lithuanian", - "Latvian", - "Dutch", - "Norwegian", - "Polish", - "Portuguese", - "Romanian", - "Russian", - "Slovak", - "Slovenian", - "Serbian", - "Swedish", - "Turkish", - "Chinese (Simplified)", - "Chinese (Traditional)" - ], + "description": "Restricts the search to documents written in a particular language (e.g.,\n`lr=lang_ja`).\n\nAcceptable values are:\n\n* `\"lang_ar\"`: Arabic\n\n* `\"lang_bg\"`: Bulgarian\n\n* `\"lang_ca\"`: Catalan\n\n* `\"lang_cs\"`: Czech\n\n* `\"lang_da\"`: Danish\n\n* `\"lang_de\"`: German\n\n* `\"lang_el\"`: Greek\n\n* `\"lang_en\"`: English\n\n* `\"lang_es\"`: Spanish\n\n* `\"lang_et\"`: Estonian\n\n* `\"lang_fi\"`: Finnish\n\n* `\"lang_fr\"`: French\n\n* `\"lang_hr\"`: Croatian\n\n* `\"lang_hu\"`: Hungarian\n\n* `\"lang_id\"`: Indonesian\n\n* `\"lang_is\"`: Icelandic\n\n* `\"lang_it\"`: Italian\n\n* `\"lang_iw\"`: Hebrew\n\n* `\"lang_ja\"`: Japanese\n\n* `\"lang_ko\"`: Korean\n\n* `\"lang_lt\"`: Lithuanian\n\n* `\"lang_lv\"`: Latvian\n\n* `\"lang_nl\"`: Dutch\n\n* `\"lang_no\"`: Norwegian\n\n* `\"lang_pl\"`: Polish\n\n* `\"lang_pt\"`: Portuguese\n\n* `\"lang_ro\"`: Romanian\n\n* `\"lang_ru\"`: Russian\n\n* `\"lang_sk\"`: Slovak\n\n* `\"lang_sl\"`: Slovenian\n\n* `\"lang_sr\"`: Serbian\n\n* `\"lang_sv\"`: Swedish\n\n* `\"lang_tr\"`: Turkish\n\n* `\"lang_zh-CN\"`: Chinese (Simplified)\n\n* `\"lang_zh-TW\"`: Chinese (Traditional)", "location": "query", "type": "string" }, "num": { - "default": "10", - "description": "Number of search results to return", - "format": "uint32", + "description": "Number of search results to return.\n\n* Valid values are integers between 1 and 10, inclusive.", + "format": "int32", "location": "query", "type": "integer" }, "orTerms": { - "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms", + "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the additional\nsearch terms.", "location": "query", "type": "string" }, "q": { "description": "Query", "location": "query", - "required": true, "type": "string" }, "relatedSite": { - "description": "Specifies that all search results should be pages that are related to the specified URL", + "description": "Specifies that all search results should be pages that are related to the\nspecified URL.", "location": "query", "type": "string" }, "rights": { - "description": "Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these.", + "description": "Filters based on licensing. Supported values include: `cc_publicdomain`,\n`cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived` and\ncombinations of these. See [typical\ncombinations](https://wiki.creativecommons.org/wiki/CC_Search_integration).", "location": "query", "type": "string" }, "safe": { - "default": "off", - "description": "Search safety level", + "description": "Search safety level. Acceptable values are:\n\n* `\"active\"`: Enables SafeSearch filtering.\n\n* `\"off\"`: Disables SafeSearch filtering. (default)", "enum": [ + "safeUndefined", "active", "high", "medium", "off" ], - "enumDescriptions": [ - "Enables safe search filtering.", - "(Deprecated) Same as active.", - "(Deprecated) Same as active.", - "Disables safe search filtering." - ], "location": "query", "type": "string" }, "searchType": { - "description": "Specifies the search type: image.", + "description": "Specifies the search type: `image`. If unspecified, results are limited to\nwebpages.\n\nAcceptable values are:\n\n* `\"image\"`: custom image search.", "enum": [ + "searchTypeUndefined", "image" ], - "enumDescriptions": [ - "custom image search" - ], "location": "query", "type": "string" }, "siteSearch": { - "description": "Specifies all search results should be pages from a given site", + "description": "Specifies a given site which should always be included or excluded from\nresults (see `siteSearchFilter` parameter, below).", "location": "query", "type": "string" }, "siteSearchFilter": { - "description": "Controls whether to include or exclude results from the site named in the as_sitesearch parameter", + "description": "Controls whether to include or exclude results from the site named in the\n`siteSearch` parameter.\n\nAcceptable values are:\n\n* `\"e\"`: exclude\n\n* `\"i\"`: include", "enum": [ + "siteSearchFilterUndefined", "e", "i" ], - "enumDescriptions": [ - "exclude", - "include" - ], "location": "query", "type": "string" }, "sort": { - "description": "The sort expression to apply to the results", + "description": "The sort expression to apply to the results.", "location": "query", "type": "string" }, "start": { - "description": "The index of the first result to return", + "description": "The index of the first result to return. The default number of results per\npage is 10, so `&start=11` would start at the top of the second page of\nresults. **Note**: The JSON API will never return more than 100 results,\neven if more than 100 documents match the query, so setting the sum of\n`start + num` to a number greater than 100 will produce an error. Also note\nthat the maximum value for `num` is 10.", "format": "uint32", "location": "query", "type": "integer" } }, - "path": "v1", + "path": "customsearch/v1", "response": { "$ref": "Search" } @@ -421,118 +328,93 @@ "siterestrict": { "methods": { "list": { - "description": "Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results. Uses a small set of url patterns.", + "description": "Returns metadata about the search performed, metadata about the custom\nsearch engine used for the search, and the search results. Uses a small set\nof url patterns.", + "flatPath": "customsearch/v1/siterestrict", "httpMethod": "GET", "id": "search.cse.siterestrict.list", - "parameterOrder": [ - "q" - ], + "parameterOrder": [], "parameters": { "c2coff": { - "description": "Turns off the translation between zh-CN and zh-TW.", + "description": "Enables or disables [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch).\n\nThe default value for this parameter is 0 (zero), meaning that the feature\nis enabled. Supported values are:\n\n* `1`: Disabled\n\n* `0`: Enabled (default)", "location": "query", "type": "string" }, "cr": { - "description": "Country restrict(s).", + "description": "Restricts search results to documents originating in a particular country.\nYou may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results_appendices#booleanOperators)\nin the cr parameter's value.\n\nGoogle Search determines the country of a document by analyzing:\n\n* the top-level domain (TLD) of the document's URL\n\n* the geographic location of the Web server's IP address\n\nSee the [Country Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCollections)\npage for a list of valid values for this parameter.", "location": "query", "type": "string" }, "cx": { - "description": "The custom search engine ID to scope this search query", + "description": "The custom search engine ID to use for this request.", "location": "query", "type": "string" }, "dateRestrict": { - "description": "Specifies all search results are from a time period", + "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.", "location": "query", "type": "string" }, "exactTerms": { - "description": "Identifies a phrase that all documents in the search results must contain", + "description": "Identifies a phrase that all documents in the search results must contain.", "location": "query", "type": "string" }, "excludeTerms": { - "description": "Identifies a word or phrase that should not appear in any documents in the search results", + "description": "Identifies a word or phrase that should not appear in any documents in the\nsearch results.", "location": "query", "type": "string" }, "fileType": { - "description": "Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ...", + "description": "Restricts results to files of a specified extension. A list of file types\nindexable by Google can be found in Search Console [Help\nCenter](https://support.google.com/webmasters/answer/35287).", "location": "query", "type": "string" }, "filter": { - "description": "Controls turning on or off the duplicate content filter.", - "enum": [ - "0", - "1" - ], - "enumDescriptions": [ - "Turns off duplicate content filter.", - "Turns on duplicate content filter." - ], + "description": "Controls turning on or off the duplicate content filter.\n\n* See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Note that host\ncrowding filtering applies only to multi-site searches.\n\n* By default, Google applies filtering to all search results to improve the\nquality of those results.\n\nAcceptable values are:\n\n* `0`: Turns off duplicate content filter.\n\n* `1`: Turns on duplicate content filter.", "location": "query", "type": "string" }, "gl": { - "description": "Geolocation of end user.", + "description": "Geolocation of end user.\n\n* The `gl` parameter value is a two-letter country code. The `gl` parameter\nboosts search results whose country of origin matches the parameter value.\nSee the [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCodes)\npage for a list of valid values.\n\n* Specifying a `gl` parameter value should lead to more relevant results.\nThis is particularly true for international customers and, even more\nspecifically, for customers in English- speaking countries other than the\nUnited States.", "location": "query", "type": "string" }, "googlehost": { - "description": "The local Google domain to use to perform the search.", + "description": "**Deprecated**. Use the `gl` parameter for a similar effect.\n\nThe local Google domain (for example, google.com, google.de, or\ngoogle.fr) to use to perform the search.", "location": "query", "type": "string" }, "highRange": { - "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query", + "description": "Specifies the ending value for a search range.\n\n* Use `lowRange` and `highRange` to append an inclusive search range of\n`lowRange...highRange` to the query.", "location": "query", "type": "string" }, "hl": { - "description": "Sets the user interface language.", + "description": "Sets the user interface language.\n\n* Explicitly setting this parameter improves the performance and the\nquality of your search results.\n\n* See the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and (Supported Interface\nLanguages)[https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages]\nfor a list of supported languages.", "location": "query", "type": "string" }, "hq": { - "description": "Appends the extra query terms to the query.", + "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical AND operator.", "location": "query", "type": "string" }, "imgColorType": { - "description": "Returns black and white, grayscale, or color images: mono, gray, and color.", + "description": "Returns black and white, grayscale, transparent, or color images.\nAcceptable values are:\n\n* `\"color\"`\n\n* `\"gray\"`\n\n* `\"mono\"`: black and white\n\n* `\"trans\"`: transparent background", "enum": [ - "color", + "imgColorTypeUndefined", + "mono", "gray", - "mono" - ], - "enumDescriptions": [ "color", - "gray", - "mono" + "trans" ], "location": "query", "type": "string" }, "imgDominantColor": { - "description": "Returns images of a specific dominant color: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black and brown.", + "description": "Returns images of a specific dominant color. Acceptable values are:\n\n* `\"black\"`\n\n* `\"blue\"`\n\n* `\"brown\"`\n\n* `\"gray\"`\n\n* `\"green\"`\n\n* `\"orange\"`\n\n* `\"pink\"`\n\n* `\"purple\"`\n\n* `\"red\"`\n\n* `\"teal\"`\n\n* `\"white\"`\n\n* `\"yellow\"`", "enum": [ - "black", - "blue", - "brown", - "gray", - "green", - "orange", - "pink", - "purple", - "red", - "teal", - "white", - "yellow" - ], - "enumDescriptions": [ + "imgDominantColorUndefined", "black", "blue", "brown", @@ -550,222 +432,124 @@ "type": "string" }, "imgSize": { - "description": "Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge.", + "description": "Returns images of a specified size. Acceptable values are:\n\n* `\"huge\"`\n\n* `\"icon\"`\n\n* `\"large\"`\n\n* `\"medium\"`\n\n* `\"small\"`\n\n* `\"xlarge\"`\n\n* `\"xxlarge\"`", "enum": [ - "huge", - "icon", - "large", - "medium", - "small", - "xlarge", - "xxlarge" - ], - "enumDescriptions": [ - "huge", - "icon", - "large", - "medium", - "small", - "xlarge", - "xxlarge" + "imgSizeUndefined", + "HUGE", + "ICON", + "LARGE", + "MEDIUM", + "SMALL", + "XLARGE", + "XXLARGE" ], "location": "query", "type": "string" }, "imgType": { - "description": "Returns images of a type, which can be one of: clipart, face, lineart, news, and photo.", + "description": "Returns images of a type. Acceptable values are:\n\n* `\"clipart\"`\n\n* `\"face\"`\n\n* `\"lineart\"`\n\n* `\"stock\"`\n\n* `\"photo\"`\n\n* `\"animated\"`", "enum": [ + "imgTypeUndefined", "clipart", "face", "lineart", - "news", - "photo" - ], - "enumDescriptions": [ - "clipart", - "face", - "lineart", - "news", - "photo" + "stock", + "photo", + "animated" ], "location": "query", "type": "string" }, "linkSite": { - "description": "Specifies that all search results should contain a link to a particular URL", + "description": "Specifies that all search results should contain a link to a particular\nURL.", "location": "query", "type": "string" }, "lowRange": { - "description": "Creates a range in form as_nlo value..as_nhi value and attempts to append it to query", + "description": "Specifies the starting value for a search range. Use `lowRange` and\n`highRange` to append an inclusive search range of `lowRange...highRange`\nto the query.", "location": "query", "type": "string" }, "lr": { - "description": "The language restriction for the search results", - "enum": [ - "lang_ar", - "lang_bg", - "lang_ca", - "lang_cs", - "lang_da", - "lang_de", - "lang_el", - "lang_en", - "lang_es", - "lang_et", - "lang_fi", - "lang_fr", - "lang_hr", - "lang_hu", - "lang_id", - "lang_is", - "lang_it", - "lang_iw", - "lang_ja", - "lang_ko", - "lang_lt", - "lang_lv", - "lang_nl", - "lang_no", - "lang_pl", - "lang_pt", - "lang_ro", - "lang_ru", - "lang_sk", - "lang_sl", - "lang_sr", - "lang_sv", - "lang_tr", - "lang_zh-CN", - "lang_zh-TW" - ], - "enumDescriptions": [ - "Arabic", - "Bulgarian", - "Catalan", - "Czech", - "Danish", - "German", - "Greek", - "English", - "Spanish", - "Estonian", - "Finnish", - "French", - "Croatian", - "Hungarian", - "Indonesian", - "Icelandic", - "Italian", - "Hebrew", - "Japanese", - "Korean", - "Lithuanian", - "Latvian", - "Dutch", - "Norwegian", - "Polish", - "Portuguese", - "Romanian", - "Russian", - "Slovak", - "Slovenian", - "Serbian", - "Swedish", - "Turkish", - "Chinese (Simplified)", - "Chinese (Traditional)" - ], + "description": "Restricts the search to documents written in a particular language (e.g.,\n`lr=lang_ja`).\n\nAcceptable values are:\n\n* `\"lang_ar\"`: Arabic\n\n* `\"lang_bg\"`: Bulgarian\n\n* `\"lang_ca\"`: Catalan\n\n* `\"lang_cs\"`: Czech\n\n* `\"lang_da\"`: Danish\n\n* `\"lang_de\"`: German\n\n* `\"lang_el\"`: Greek\n\n* `\"lang_en\"`: English\n\n* `\"lang_es\"`: Spanish\n\n* `\"lang_et\"`: Estonian\n\n* `\"lang_fi\"`: Finnish\n\n* `\"lang_fr\"`: French\n\n* `\"lang_hr\"`: Croatian\n\n* `\"lang_hu\"`: Hungarian\n\n* `\"lang_id\"`: Indonesian\n\n* `\"lang_is\"`: Icelandic\n\n* `\"lang_it\"`: Italian\n\n* `\"lang_iw\"`: Hebrew\n\n* `\"lang_ja\"`: Japanese\n\n* `\"lang_ko\"`: Korean\n\n* `\"lang_lt\"`: Lithuanian\n\n* `\"lang_lv\"`: Latvian\n\n* `\"lang_nl\"`: Dutch\n\n* `\"lang_no\"`: Norwegian\n\n* `\"lang_pl\"`: Polish\n\n* `\"lang_pt\"`: Portuguese\n\n* `\"lang_ro\"`: Romanian\n\n* `\"lang_ru\"`: Russian\n\n* `\"lang_sk\"`: Slovak\n\n* `\"lang_sl\"`: Slovenian\n\n* `\"lang_sr\"`: Serbian\n\n* `\"lang_sv\"`: Swedish\n\n* `\"lang_tr\"`: Turkish\n\n* `\"lang_zh-CN\"`: Chinese (Simplified)\n\n* `\"lang_zh-TW\"`: Chinese (Traditional)", "location": "query", "type": "string" }, "num": { - "default": "10", - "description": "Number of search results to return", - "format": "uint32", + "description": "Number of search results to return.\n\n* Valid values are integers between 1 and 10, inclusive.", + "format": "int32", "location": "query", "type": "integer" }, "orTerms": { - "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms", + "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the additional\nsearch terms.", "location": "query", "type": "string" }, "q": { "description": "Query", "location": "query", - "required": true, "type": "string" }, "relatedSite": { - "description": "Specifies that all search results should be pages that are related to the specified URL", + "description": "Specifies that all search results should be pages that are related to the\nspecified URL.", "location": "query", "type": "string" }, "rights": { - "description": "Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these.", + "description": "Filters based on licensing. Supported values include: `cc_publicdomain`,\n`cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived` and\ncombinations of these. See [typical\ncombinations](https://wiki.creativecommons.org/wiki/CC_Search_integration).", "location": "query", "type": "string" }, "safe": { - "default": "off", - "description": "Search safety level", + "description": "Search safety level. Acceptable values are:\n\n* `\"active\"`: Enables SafeSearch filtering.\n\n* `\"off\"`: Disables SafeSearch filtering. (default)", "enum": [ + "safeUndefined", + "active", "high", "medium", "off" ], - "enumDescriptions": [ - "Enables highest level of safe search filtering.", - "Enables moderate safe search filtering.", - "Disables safe search filtering." - ], "location": "query", "type": "string" }, "searchType": { - "description": "Specifies the search type: image.", + "description": "Specifies the search type: `image`. If unspecified, results are limited to\nwebpages.\n\nAcceptable values are:\n\n* `\"image\"`: custom image search.", "enum": [ + "searchTypeUndefined", "image" ], - "enumDescriptions": [ - "custom image search" - ], "location": "query", "type": "string" }, "siteSearch": { - "description": "Specifies all search results should be pages from a given site", + "description": "Specifies a given site which should always be included or excluded from\nresults (see `siteSearchFilter` parameter, below).", "location": "query", "type": "string" }, "siteSearchFilter": { - "description": "Controls whether to include or exclude results from the site named in the as_sitesearch parameter", + "description": "Controls whether to include or exclude results from the site named in the\n`siteSearch` parameter.\n\nAcceptable values are:\n\n* `\"e\"`: exclude\n\n* `\"i\"`: include", "enum": [ + "siteSearchFilterUndefined", "e", "i" ], - "enumDescriptions": [ - "exclude", - "include" - ], "location": "query", "type": "string" }, "sort": { - "description": "The sort expression to apply to the results", + "description": "The sort expression to apply to the results.", "location": "query", "type": "string" }, "start": { - "description": "The index of the first result to return", + "description": "The index of the first result to return. The default number of results per\npage is 10, so `&start=11` would start at the top of the second page of\nresults. **Note**: The JSON API will never return more than 100 results,\neven if more than 100 documents match the query, so setting the sum of\n`start + num` to a number greater than 100 will produce an error. Also note\nthat the maximum value for `num` is 10.", "format": "uint32", "location": "query", "type": "integer" } }, - "path": "v1/siterestrict", + "path": "customsearch/v1/siterestrict", "response": { "$ref": "Search" } @@ -775,54 +559,32 @@ } } }, - "revision": "20181001", - "rootUrl": "https://www.googleapis.com/", + "revision": "20200708", + "rootUrl": "https://customsearch.googleapis.com/", "schemas": { - "Context": { - "id": "Context", - "properties": { - "facets": { - "items": { - "items": { - "properties": { - "anchor": { - "type": "string" - }, - "label": { - "type": "string" - }, - "label_with_op": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, "Promotion": { + "description": "Promotion result.", "id": "Promotion", "properties": { "bodyLines": { + "description": "An array of block objects for this promotion. See [Google WebSearch\nProtocol\nreference](https://developers.google.com/custom-search/docs/xml_results)\nfor more information.", "items": { + "description": "Block object belonging to a promotion.", "properties": { "htmlTitle": { + "description": "The block object's text in HTML, if it has text.", "type": "string" }, "link": { + "description": "The anchor text of the block object's link, if it has a link.", "type": "string" }, "title": { + "description": "The block object's text, if it has text.", "type": "string" }, "url": { + "description": "The URL of the block object's link, if it has one.", "type": "string" } }, @@ -831,21 +593,27 @@ "type": "array" }, "displayLink": { + "description": "An abridged version of this search's result URL, e.g. www.example.com.", "type": "string" }, "htmlTitle": { + "description": "The title of the promotion, in HTML.", "type": "string" }, "image": { + "description": "Image belonging to a promotion.", "properties": { "height": { + "description": "Image height in pixels.", "format": "int32", "type": "integer" }, "source": { + "description": "URL of the image for this promotion link.", "type": "string" }, "width": { + "description": "Image width in pixels.", "format": "int32", "type": "integer" } @@ -853,181 +621,81 @@ "type": "object" }, "link": { + "description": "The URL of the promotion.", "type": "string" }, "title": { - "type": "string" - } - }, - "type": "object" - }, - "Query": { - "id": "Query", - "properties": { - "count": { - "format": "int32", - "type": "integer" - }, - "cr": { - "type": "string" - }, - "cx": { - "type": "string" - }, - "dateRestrict": { - "type": "string" - }, - "disableCnTwTranslation": { - "type": "string" - }, - "exactTerms": { - "type": "string" - }, - "excludeTerms": { - "type": "string" - }, - "fileType": { - "type": "string" - }, - "filter": { - "type": "string" - }, - "gl": { - "type": "string" - }, - "googleHost": { - "type": "string" - }, - "highRange": { - "type": "string" - }, - "hl": { - "type": "string" - }, - "hq": { - "type": "string" - }, - "imgColorType": { - "type": "string" - }, - "imgDominantColor": { - "type": "string" - }, - "imgSize": { - "type": "string" - }, - "imgType": { - "type": "string" - }, - "inputEncoding": { - "type": "string" - }, - "language": { - "type": "string" - }, - "linkSite": { - "type": "string" - }, - "lowRange": { - "type": "string" - }, - "orTerms": { - "type": "string" - }, - "outputEncoding": { - "type": "string" - }, - "relatedSite": { - "type": "string" - }, - "rights": { - "type": "string" - }, - "safe": { - "type": "string" - }, - "searchTerms": { - "type": "string" - }, - "searchType": { - "type": "string" - }, - "siteSearch": { - "type": "string" - }, - "siteSearchFilter": { - "type": "string" - }, - "sort": { - "type": "string" - }, - "startIndex": { - "format": "int32", - "type": "integer" - }, - "startPage": { - "format": "int32", - "type": "integer" - }, - "title": { - "type": "string" - }, - "totalResults": { - "format": "int64", + "description": "The title of the promotion.", "type": "string" } }, "type": "object" }, "Result": { + "description": "A custom search result.", "id": "Result", "properties": { "cacheId": { + "description": "Indicates the ID of Google's cached version of the search result.", "type": "string" }, "displayLink": { + "description": "An abridged version of this search result\u2019s URL, e.g. www.example.com.", "type": "string" }, "fileFormat": { + "description": "The file format of the search result.", "type": "string" }, "formattedUrl": { + "description": "The URL displayed after the snippet for each search result.", "type": "string" }, "htmlFormattedUrl": { + "description": "The HTML-formatted URL displayed after the snippet for each search result.", "type": "string" }, "htmlSnippet": { + "description": "The snippet of the search result, in HTML.", "type": "string" }, "htmlTitle": { + "description": "The title of the search result, in HTML.", "type": "string" }, "image": { + "description": "Image belonging to a custom search result.", "properties": { "byteSize": { + "description": "The size of the image, in pixels.", "format": "int32", "type": "integer" }, "contextLink": { + "description": "A URL pointing to the webpage hosting the image.", "type": "string" }, "height": { + "description": "The height of the image, in pixels.", "format": "int32", "type": "integer" }, "thumbnailHeight": { + "description": "The height of the thumbnail image, in pixels.", "format": "int32", "type": "integer" }, "thumbnailLink": { + "description": "A URL to the thumbnail image.", "type": "string" }, "thumbnailWidth": { + "description": "The width of the thumbnail image, in pixels.", "format": "int32", "type": "integer" }, "width": { + "description": "The width of the image, in pixels.", "format": "int32", "type": "integer" } @@ -1035,19 +703,24 @@ "type": "object" }, "kind": { - "default": "customsearch#result", + "description": "A unique identifier for the type of current object. For this API, it is\n`customsearch#result.`", "type": "string" }, "labels": { + "description": "Encapsulates all information about [refinement\nlabels](https://developers.google.com/custom-search/docs/xml_results).", "items": { + "description": "Refinement label associated with a custom search result.", "properties": { "displayName": { + "description": "The display name of a refinement label. This is the name you should\ndisplay in your user interface.", "type": "string" }, "label_with_op": { + "description": "Refinement label and the associated refinement operation.", "type": "string" }, "name": { + "description": "The name of a refinement label, which you can use to refine searches.\nDon't display this in your user interface; instead, use displayName.", "type": "string" } }, @@ -1056,101 +729,588 @@ "type": "array" }, "link": { + "description": "The full URL to which the search result is pointing, e.g.\nhttp://www.example.com/foo/bar.", "type": "string" }, "mime": { + "description": "The MIME type of the search result.", "type": "string" }, "pagemap": { "additionalProperties": { - "items": { - "additionalProperties": { - "type": "any" - }, - "type": "object" - }, - "type": "array" + "description": "Properties of the object.", + "type": "any" }, + "description": "Contains\n[PageMap](https://developers.google.com/custom-search/docs/structured_data#pagemaps)\ninformation for this search result.", "type": "object" }, "snippet": { + "description": "The snippet of the search result, in plain text.", "type": "string" }, "title": { + "description": "The title of the search result, in plain text.", "type": "string" } }, "type": "object" }, "Search": { + "description": "Response to a custom search request.", "id": "Search", "properties": { "context": { - "$ref": "Context" + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata and refinements associated with the given search engine,\nincluding:\n\n* The name of the search engine that was used for the query.\n\n* A set of [facet\nobjects](https://developers.google.com/custom-search/docs/refinements#create)\n(refinements) you can use for refining a search.", + "type": "object" }, "items": { + "description": "The current set of custom search results.", "items": { "$ref": "Result" }, "type": "array" }, "kind": { - "default": "customsearch#search", + "description": "Unique identifier for the type of current object. For this API, it is\ncustomsearch#search.", "type": "string" }, "promotions": { + "description": "The set of\n[promotions](https://developers.google.com/custom-search/docs/promotions).\nPresent only if the custom search engine's configuration files define any\npromotions for the given query.", "items": { "$ref": "Promotion" }, "type": "array" }, "queries": { - "additionalProperties": { - "items": { - "$ref": "Query" + "description": "Query metadata for the previous, current, and next pages of results.", + "properties": { + "nextPage": { + "description": "Metadata representing the next page of results, if applicable.", + "items": { + "description": "Custom search request metadata.", + "properties": { + "count": { + "description": "Number of search results returned in this set.", + "format": "int32", + "type": "integer" + }, + "cr": { + "description": "Restricts search results to documents originating in a particular\ncountry. You may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators)\nin the `cr` parameter's value.\n\nGoogle WebSearch determines the country of a document by analyzing the\nfollowing:\n\n* The top-level domain (TLD) of the document's URL.\n\n* The geographic location of the web server's IP address.\n\nSee [Country (cr) Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results#countryCollections)\nfor a list of valid values for this parameter.", + "type": "string" + }, + "cx": { + "description": "The identifier of a custom search engine created using the Custom Search\n[Control Panel](https://cse.google.com/). This is a custom property not\ndefined in the OpenSearch spec. This parameter is **required**.", + "type": "string" + }, + "dateRestrict": { + "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.", + "type": "string" + }, + "disableCnTwTranslation": { + "description": "Enables or disables the [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch)\nfeature.\n\nSupported values are:\n\n* `0`: enabled (default)\n\n* `1`: disabled", + "type": "string" + }, + "exactTerms": { + "description": "Identifies a phrase that all documents in the search results must\ncontain.", + "type": "string" + }, + "excludeTerms": { + "description": "Identifies a word or phrase that should not appear in any documents in\nthe search results.", + "type": "string" + }, + "fileType": { + "description": "Restricts results to files of a specified extension. Filetypes supported\nby Google include:\n\n* Adobe Portable Document Format (`pdf`)\n\n* Adobe PostScript (`ps`)\n\n* Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)\n\n* Lotus WordPro (`lwp`)\n\n* Macwrite (`mw`)\n\n* Microsoft Excel (`xls`)\n\n* Microsoft PowerPoint (`ppt`)\n\n* Microsoft Word (`doc`)\n\n* Microsoft Works (`wks`, `wps`, `wdb`)\n\n* Microsoft Write (`wri`)\n\n* Rich Text Format (`rtf`)\n\n* Shockwave Flash (`swf`)\n\n* Text (`ans`, `txt`).\n\nAdditional filetypes may be added in the future. An up-to-date list can\nalways be found in Google's [file type\nFAQ](https://support.google.com/webmasters/answer/35287).", + "type": "string" + }, + "filter": { + "description": "Activates or deactivates the automatic filtering of Google search\nresults. See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Valid values\nfor this parameter are:\n\n* `0`: Disabled\n\n* `1`: Enabled (default)\n\n**Note**: By default, Google applies filtering to all search results to\nimprove the quality of those results.", + "type": "string" + }, + "gl": { + "description": "Boosts search results whose country of origin matches the parameter\nvalue. See [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results#countryCodes)\nfor a list of valid values.\n\nSpecifying a `gl` parameter value in WebSearch requests should improve\nthe relevance of results. This is particularly true for international\ncustomers and, even more specifically, for customers in English-speaking\ncountries other than the United States.", + "type": "string" + }, + "googleHost": { + "description": "Specifies the Google domain (for example, google.com, google.de, or\ngoogle.fr) to which the search should be limited.", + "type": "string" + }, + "highRange": { + "description": "Specifies the ending value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.", + "type": "string" + }, + "hl": { + "description": "Specifies the interface language (host language) of your user interface.\nExplicitly setting this parameter improves the performance and the\nquality of your search results.\n\nSee the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and [Supported Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages)\nfor a list of supported languages.", + "type": "string" + }, + "hq": { + "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical `AND` operator.", + "type": "string" + }, + "imgColorType": { + "description": "Restricts results to images of a specified color type. Supported values\n are:\n\n* `mono` (black and white)\n\n* `gray` (grayscale)\n\n* `color` (color)", + "type": "string" + }, + "imgDominantColor": { + "description": "Restricts results to images with a specific dominant color. Supported\nvalues are:\n\n* `red`\n\n* `orange`\n\n* `yellow`\n\n* `green`\n\n* `teal`\n\n* `blue`\n\n* `purple`\n\n* `pink`\n\n* `white`\n\n* `gray`\n\n* `black`\n\n* `brown`", + "type": "string" + }, + "imgSize": { + "description": "Restricts results to images of a specified size. Supported values are:\n\n* `icon` (small)\n\n* `small | medium | large | xlarge` (medium)\n\n* `xxlarge` (large)\n\n* `huge` (extra-large)", + "type": "string" + }, + "imgType": { + "description": "Restricts results to images of a specified type. Supported values are:\n\n* `clipart` (Clip art)\n\n* `face` (Face)\n\n* `lineart` (Line drawing)\n\n* `photo` (Photo)\n\n* `animated` (Animated)\n\n* `stock` (Stock)", + "type": "string" + }, + "inputEncoding": { + "description": "The character encoding supported for search requests.", + "type": "string" + }, + "language": { + "description": "The language of the search results.", + "type": "string" + }, + "linkSite": { + "description": "Specifies that all results should contain a link to a specific URL.", + "type": "string" + }, + "lowRange": { + "description": "Specifies the starting value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.", + "type": "string" + }, + "orTerms": { + "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the\nadditional search terms. You can also use the [Boolean\nOR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)\nquery term for this type of query.", + "type": "string" + }, + "outputEncoding": { + "description": "The character encoding supported for search results.", + "type": "string" + }, + "relatedSite": { + "description": "Specifies that all search results should be pages that are related to the\nspecified URL. The parameter value should be a URL.", + "type": "string" + }, + "rights": { + "description": "Filters based on licensing. Supported values include:\n\n* `cc_publicdomain`\n\n* `cc_attribute`\n\n* `cc_sharealike`\n\n* `cc_noncommercial`\n\n* `cc_nonderived`", + "type": "string" + }, + "safe": { + "description": "Specifies the [SafeSearch\nlevel](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels)\nused for filtering out adult results. This is a custom property not\ndefined in the OpenSearch spec. Valid parameter values are:\n\n* `\"off\"`: Disable SafeSearch\n\n* `\"active\"`: Enable SafeSearch", + "type": "string" + }, + "searchTerms": { + "description": "The search terms entered by the user.", + "type": "string" + }, + "searchType": { + "description": "Allowed values are `web` or `image`. If unspecified, results are limited\nto webpages.", + "type": "string" + }, + "siteSearch": { + "description": "Restricts results to URLs from a specified site.", + "type": "string" + }, + "siteSearchFilter": { + "description": "Specifies whether to include or exclude results from the site named in\nthe `sitesearch` parameter. Supported values are:\n\n* `i`: include content from site\n\n* `e`: exclude content from site", + "type": "string" + }, + "sort": { + "description": "Specifies that results should be sorted according to the specified\nexpression. For example, sort by date.", + "type": "string" + }, + "startIndex": { + "description": "The index of the current set of search results into the total set of\nresults, where the index of the first result is 1.", + "format": "int32", + "type": "integer" + }, + "startPage": { + "description": "The page number of this set of results, where the page length is set by\nthe `count` property.", + "format": "int32", + "type": "integer" + }, + "title": { + "description": "A description of the query.", + "type": "string" + }, + "totalResults": { + "description": "Estimated number of total search results. May not be accurate.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" }, - "type": "array" + "previousPage": { + "description": "Metadata representing the previous page of results, if applicable.", + "items": { + "description": "Custom search request metadata.", + "properties": { + "count": { + "description": "Number of search results returned in this set.", + "format": "int32", + "type": "integer" + }, + "cr": { + "description": "Restricts search results to documents originating in a particular\ncountry. You may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators)\nin the `cr` parameter's value.\n\nGoogle WebSearch determines the country of a document by analyzing the\nfollowing:\n\n* The top-level domain (TLD) of the document's URL.\n\n* The geographic location of the web server's IP address.\n\nSee [Country (cr) Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results#countryCollections)\nfor a list of valid values for this parameter.", + "type": "string" + }, + "cx": { + "description": "The identifier of a custom search engine created using the Custom Search\n[Control Panel](https://cse.google.com/). This is a custom property not\ndefined in the OpenSearch spec. This parameter is **required**.", + "type": "string" + }, + "dateRestrict": { + "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.", + "type": "string" + }, + "disableCnTwTranslation": { + "description": "Enables or disables the [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch)\nfeature.\n\nSupported values are:\n\n* `0`: enabled (default)\n\n* `1`: disabled", + "type": "string" + }, + "exactTerms": { + "description": "Identifies a phrase that all documents in the search results must\ncontain.", + "type": "string" + }, + "excludeTerms": { + "description": "Identifies a word or phrase that should not appear in any documents in\nthe search results.", + "type": "string" + }, + "fileType": { + "description": "Restricts results to files of a specified extension. Filetypes supported\nby Google include:\n\n* Adobe Portable Document Format (`pdf`)\n\n* Adobe PostScript (`ps`)\n\n* Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)\n\n* Lotus WordPro (`lwp`)\n\n* Macwrite (`mw`)\n\n* Microsoft Excel (`xls`)\n\n* Microsoft PowerPoint (`ppt`)\n\n* Microsoft Word (`doc`)\n\n* Microsoft Works (`wks`, `wps`, `wdb`)\n\n* Microsoft Write (`wri`)\n\n* Rich Text Format (`rtf`)\n\n* Shockwave Flash (`swf`)\n\n* Text (`ans`, `txt`).\n\nAdditional filetypes may be added in the future. An up-to-date list can\nalways be found in Google's [file type\nFAQ](https://support.google.com/webmasters/answer/35287).", + "type": "string" + }, + "filter": { + "description": "Activates or deactivates the automatic filtering of Google search\nresults. See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Valid values\nfor this parameter are:\n\n* `0`: Disabled\n\n* `1`: Enabled (default)\n\n**Note**: By default, Google applies filtering to all search results to\nimprove the quality of those results.", + "type": "string" + }, + "gl": { + "description": "Boosts search results whose country of origin matches the parameter\nvalue. See [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results#countryCodes)\nfor a list of valid values.\n\nSpecifying a `gl` parameter value in WebSearch requests should improve\nthe relevance of results. This is particularly true for international\ncustomers and, even more specifically, for customers in English-speaking\ncountries other than the United States.", + "type": "string" + }, + "googleHost": { + "description": "Specifies the Google domain (for example, google.com, google.de, or\ngoogle.fr) to which the search should be limited.", + "type": "string" + }, + "highRange": { + "description": "Specifies the ending value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.", + "type": "string" + }, + "hl": { + "description": "Specifies the interface language (host language) of your user interface.\nExplicitly setting this parameter improves the performance and the\nquality of your search results.\n\nSee the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and [Supported Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages)\nfor a list of supported languages.", + "type": "string" + }, + "hq": { + "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical `AND` operator.", + "type": "string" + }, + "imgColorType": { + "description": "Restricts results to images of a specified color type. Supported values\n are:\n\n* `mono` (black and white)\n\n* `gray` (grayscale)\n\n* `color` (color)", + "type": "string" + }, + "imgDominantColor": { + "description": "Restricts results to images with a specific dominant color. Supported\nvalues are:\n\n* `red`\n\n* `orange`\n\n* `yellow`\n\n* `green`\n\n* `teal`\n\n* `blue`\n\n* `purple`\n\n* `pink`\n\n* `white`\n\n* `gray`\n\n* `black`\n\n* `brown`", + "type": "string" + }, + "imgSize": { + "description": "Restricts results to images of a specified size. Supported values are:\n\n* `icon` (small)\n\n* `small | medium | large | xlarge` (medium)\n\n* `xxlarge` (large)\n\n* `huge` (extra-large)", + "type": "string" + }, + "imgType": { + "description": "Restricts results to images of a specified type. Supported values are:\n\n* `clipart` (Clip art)\n\n* `face` (Face)\n\n* `lineart` (Line drawing)\n\n* `photo` (Photo)\n\n* `animated` (Animated)\n\n* `stock` (Stock)", + "type": "string" + }, + "inputEncoding": { + "description": "The character encoding supported for search requests.", + "type": "string" + }, + "language": { + "description": "The language of the search results.", + "type": "string" + }, + "linkSite": { + "description": "Specifies that all results should contain a link to a specific URL.", + "type": "string" + }, + "lowRange": { + "description": "Specifies the starting value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.", + "type": "string" + }, + "orTerms": { + "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the\nadditional search terms. You can also use the [Boolean\nOR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)\nquery term for this type of query.", + "type": "string" + }, + "outputEncoding": { + "description": "The character encoding supported for search results.", + "type": "string" + }, + "relatedSite": { + "description": "Specifies that all search results should be pages that are related to the\nspecified URL. The parameter value should be a URL.", + "type": "string" + }, + "rights": { + "description": "Filters based on licensing. Supported values include:\n\n* `cc_publicdomain`\n\n* `cc_attribute`\n\n* `cc_sharealike`\n\n* `cc_noncommercial`\n\n* `cc_nonderived`", + "type": "string" + }, + "safe": { + "description": "Specifies the [SafeSearch\nlevel](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels)\nused for filtering out adult results. This is a custom property not\ndefined in the OpenSearch spec. Valid parameter values are:\n\n* `\"off\"`: Disable SafeSearch\n\n* `\"active\"`: Enable SafeSearch", + "type": "string" + }, + "searchTerms": { + "description": "The search terms entered by the user.", + "type": "string" + }, + "searchType": { + "description": "Allowed values are `web` or `image`. If unspecified, results are limited\nto webpages.", + "type": "string" + }, + "siteSearch": { + "description": "Restricts results to URLs from a specified site.", + "type": "string" + }, + "siteSearchFilter": { + "description": "Specifies whether to include or exclude results from the site named in\nthe `sitesearch` parameter. Supported values are:\n\n* `i`: include content from site\n\n* `e`: exclude content from site", + "type": "string" + }, + "sort": { + "description": "Specifies that results should be sorted according to the specified\nexpression. For example, sort by date.", + "type": "string" + }, + "startIndex": { + "description": "The index of the current set of search results into the total set of\nresults, where the index of the first result is 1.", + "format": "int32", + "type": "integer" + }, + "startPage": { + "description": "The page number of this set of results, where the page length is set by\nthe `count` property.", + "format": "int32", + "type": "integer" + }, + "title": { + "description": "A description of the query.", + "type": "string" + }, + "totalResults": { + "description": "Estimated number of total search results. May not be accurate.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "request": { + "description": "Metadata representing the current request.", + "items": { + "description": "Custom search request metadata.", + "properties": { + "count": { + "description": "Number of search results returned in this set.", + "format": "int32", + "type": "integer" + }, + "cr": { + "description": "Restricts search results to documents originating in a particular\ncountry. You may use [Boolean\noperators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators)\nin the `cr` parameter's value.\n\nGoogle WebSearch determines the country of a document by analyzing the\nfollowing:\n\n* The top-level domain (TLD) of the document's URL.\n\n* The geographic location of the web server's IP address.\n\nSee [Country (cr) Parameter\nValues](https://developers.google.com/custom-search/docs/xml_results#countryCollections)\nfor a list of valid values for this parameter.", + "type": "string" + }, + "cx": { + "description": "The identifier of a custom search engine created using the Custom Search\n[Control Panel](https://cse.google.com/). This is a custom property not\ndefined in the OpenSearch spec. This parameter is **required**.", + "type": "string" + }, + "dateRestrict": { + "description": "Restricts results to URLs based on date. Supported values include:\n\n* `d[number]`: requests results from the specified number of past days.\n\n* `w[number]`: requests results from the specified number of past weeks.\n\n* `m[number]`: requests results from the specified number of past months.\n\n* `y[number]`: requests results from the specified number of past years.", + "type": "string" + }, + "disableCnTwTranslation": { + "description": "Enables or disables the [Simplified and Traditional Chinese\nSearch](https://developers.google.com/custom-search/docs/xml_results#chineseSearch)\nfeature.\n\nSupported values are:\n\n* `0`: enabled (default)\n\n* `1`: disabled", + "type": "string" + }, + "exactTerms": { + "description": "Identifies a phrase that all documents in the search results must\ncontain.", + "type": "string" + }, + "excludeTerms": { + "description": "Identifies a word or phrase that should not appear in any documents in\nthe search results.", + "type": "string" + }, + "fileType": { + "description": "Restricts results to files of a specified extension. Filetypes supported\nby Google include:\n\n* Adobe Portable Document Format (`pdf`)\n\n* Adobe PostScript (`ps`)\n\n* Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)\n\n* Lotus WordPro (`lwp`)\n\n* Macwrite (`mw`)\n\n* Microsoft Excel (`xls`)\n\n* Microsoft PowerPoint (`ppt`)\n\n* Microsoft Word (`doc`)\n\n* Microsoft Works (`wks`, `wps`, `wdb`)\n\n* Microsoft Write (`wri`)\n\n* Rich Text Format (`rtf`)\n\n* Shockwave Flash (`swf`)\n\n* Text (`ans`, `txt`).\n\nAdditional filetypes may be added in the future. An up-to-date list can\nalways be found in Google's [file type\nFAQ](https://support.google.com/webmasters/answer/35287).", + "type": "string" + }, + "filter": { + "description": "Activates or deactivates the automatic filtering of Google search\nresults. See [Automatic\nFiltering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering)\nfor more information about Google's search results filters. Valid values\nfor this parameter are:\n\n* `0`: Disabled\n\n* `1`: Enabled (default)\n\n**Note**: By default, Google applies filtering to all search results to\nimprove the quality of those results.", + "type": "string" + }, + "gl": { + "description": "Boosts search results whose country of origin matches the parameter\nvalue. See [Country\nCodes](https://developers.google.com/custom-search/docs/xml_results#countryCodes)\nfor a list of valid values.\n\nSpecifying a `gl` parameter value in WebSearch requests should improve\nthe relevance of results. This is particularly true for international\ncustomers and, even more specifically, for customers in English-speaking\ncountries other than the United States.", + "type": "string" + }, + "googleHost": { + "description": "Specifies the Google domain (for example, google.com, google.de, or\ngoogle.fr) to which the search should be limited.", + "type": "string" + }, + "highRange": { + "description": "Specifies the ending value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.", + "type": "string" + }, + "hl": { + "description": "Specifies the interface language (host language) of your user interface.\nExplicitly setting this parameter improves the performance and the\nquality of your search results.\n\nSee the [Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages)\nsection of [Internationalizing Queries and Results\nPresentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing)\nfor more information, and [Supported Interface\nLanguages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages)\nfor a list of supported languages.", + "type": "string" + }, + "hq": { + "description": "Appends the specified query terms to the query, as if they were combined\nwith a logical `AND` operator.", + "type": "string" + }, + "imgColorType": { + "description": "Restricts results to images of a specified color type. Supported values\n are:\n\n* `mono` (black and white)\n\n* `gray` (grayscale)\n\n* `color` (color)", + "type": "string" + }, + "imgDominantColor": { + "description": "Restricts results to images with a specific dominant color. Supported\nvalues are:\n\n* `red`\n\n* `orange`\n\n* `yellow`\n\n* `green`\n\n* `teal`\n\n* `blue`\n\n* `purple`\n\n* `pink`\n\n* `white`\n\n* `gray`\n\n* `black`\n\n* `brown`", + "type": "string" + }, + "imgSize": { + "description": "Restricts results to images of a specified size. Supported values are:\n\n* `icon` (small)\n\n* `small | medium | large | xlarge` (medium)\n\n* `xxlarge` (large)\n\n* `huge` (extra-large)", + "type": "string" + }, + "imgType": { + "description": "Restricts results to images of a specified type. Supported values are:\n\n* `clipart` (Clip art)\n\n* `face` (Face)\n\n* `lineart` (Line drawing)\n\n* `photo` (Photo)\n\n* `animated` (Animated)\n\n* `stock` (Stock)", + "type": "string" + }, + "inputEncoding": { + "description": "The character encoding supported for search requests.", + "type": "string" + }, + "language": { + "description": "The language of the search results.", + "type": "string" + }, + "linkSite": { + "description": "Specifies that all results should contain a link to a specific URL.", + "type": "string" + }, + "lowRange": { + "description": "Specifies the starting value for a search range. Use `cse:lowRange` and\n`cse:highrange` to append an inclusive search range of\n`lowRange...highRange` to the query.", + "type": "string" + }, + "orTerms": { + "description": "Provides additional search terms to check for in a document, where each\ndocument in the search results must contain at least one of the\nadditional search terms. You can also use the [Boolean\nOR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)\nquery term for this type of query.", + "type": "string" + }, + "outputEncoding": { + "description": "The character encoding supported for search results.", + "type": "string" + }, + "relatedSite": { + "description": "Specifies that all search results should be pages that are related to the\nspecified URL. The parameter value should be a URL.", + "type": "string" + }, + "rights": { + "description": "Filters based on licensing. Supported values include:\n\n* `cc_publicdomain`\n\n* `cc_attribute`\n\n* `cc_sharealike`\n\n* `cc_noncommercial`\n\n* `cc_nonderived`", + "type": "string" + }, + "safe": { + "description": "Specifies the [SafeSearch\nlevel](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels)\nused for filtering out adult results. This is a custom property not\ndefined in the OpenSearch spec. Valid parameter values are:\n\n* `\"off\"`: Disable SafeSearch\n\n* `\"active\"`: Enable SafeSearch", + "type": "string" + }, + "searchTerms": { + "description": "The search terms entered by the user.", + "type": "string" + }, + "searchType": { + "description": "Allowed values are `web` or `image`. If unspecified, results are limited\nto webpages.", + "type": "string" + }, + "siteSearch": { + "description": "Restricts results to URLs from a specified site.", + "type": "string" + }, + "siteSearchFilter": { + "description": "Specifies whether to include or exclude results from the site named in\nthe `sitesearch` parameter. Supported values are:\n\n* `i`: include content from site\n\n* `e`: exclude content from site", + "type": "string" + }, + "sort": { + "description": "Specifies that results should be sorted according to the specified\nexpression. For example, sort by date.", + "type": "string" + }, + "startIndex": { + "description": "The index of the current set of search results into the total set of\nresults, where the index of the first result is 1.", + "format": "int32", + "type": "integer" + }, + "startPage": { + "description": "The page number of this set of results, where the page length is set by\nthe `count` property.", + "format": "int32", + "type": "integer" + }, + "title": { + "description": "A description of the query.", + "type": "string" + }, + "totalResults": { + "description": "Estimated number of total search results. May not be accurate.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } }, "type": "object" }, "searchInformation": { + "description": "Metadata about a search operation.", "properties": { "formattedSearchTime": { + "description": "The time taken for the server to return search results, formatted\naccording to locale style.", "type": "string" }, "formattedTotalResults": { + "description": "The total number of search results, formatted according to locale style.", "type": "string" }, "searchTime": { + "description": "The time taken for the server to return search results.", "format": "double", "type": "number" }, "totalResults": { - "format": "int64", + "description": "The total number of search results returned by the query.", "type": "string" } }, "type": "object" }, "spelling": { + "description": "Spell correction information for a query.", "properties": { "correctedQuery": { + "description": "The corrected query.", "type": "string" }, "htmlCorrectedQuery": { + "description": "The corrected query, formatted in HTML.", "type": "string" } }, "type": "object" }, "url": { + "description": "OpenSearch template and URL.", "properties": { "template": { - "default": "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json", + "description": "The actual [OpenSearch\ntemplate](http://www.opensearch.org/specifications/opensearch/1.1#opensearch_url_template_syntax)\nfor this API.", "type": "string" }, "type": { - "default": "application/json", + "description": "The MIME type of the OpenSearch URL template for the Custom Search API.", "type": "string" } }, @@ -1160,7 +1320,8 @@ "type": "object" } }, - "servicePath": "customsearch/", - "title": "CustomSearch API", - "version": "v1" + "servicePath": "", + "title": "Custom Search API", + "version": "v1", + "version_module": true } \ No newline at end of file diff --git a/etc/api/datacatalog/v1beta1/datacatalog-api.json b/etc/api/datacatalog/v1beta1/datacatalog-api.json index e1cf1f7e24..b1d213e87b 100644 --- a/etc/api/datacatalog/v1beta1/datacatalog-api.json +++ b/etc/api/datacatalog/v1beta1/datacatalog-api.json @@ -108,7 +108,7 @@ "catalog": { "methods": { "search": { - "description": "Searches Data Catalog for multiple resources like entries, tags that\nmatch a query.\n\nThis is a custom method\n(https://cloud.google.com/apis/design/custom_methods) and does not return\nthe complete resource, only the resource identifier and high level\nfields. Clients can subsequentally call `Get` methods.\n\nNote that Data Catalog search queries do not guarantee full recall. Query\nresults that match your query may not be returned, even in subsequent\nresult pages. Also note that results returned (and not returned) can vary\nacross repeated search queries.\n\nSee [Data Catalog Search\nSyntax](/data-catalog/docs/how-to/search-reference) for more information.", + "description": "Searches Data Catalog for multiple resources like entries, tags that\nmatch a query.\n\nThis is a custom method\n(https://cloud.google.com/apis/design/custom_methods) and does not return\nthe complete resource, only the resource identifier and high level\nfields. Clients can subsequentally call `Get` methods.\n\nNote that Data Catalog search queries do not guarantee full recall. Query\nresults that match your query may not be returned, even in subsequent\nresult pages. Also note that results returned (and not returned) can vary\nacross repeated search queries.\n\nSee [Data Catalog Search\nSyntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference)\nfor more information.", "flatPath": "v1beta1/catalog:search", "httpMethod": "POST", "id": "datacatalog.catalog.search", @@ -142,7 +142,7 @@ "type": "string" }, "sqlResource": { - "description": "The SQL name of the entry. SQL names are case-sensitive.\n\nExamples:\n\n * `cloud_pubsub.project_id.topic_id`\n * ``pubsub.project_id.`topic.id.with.dots` ``\n * `bigquery.table.project_id.dataset_id.table_id`\n * `bigquery.dataset.project_id.dataset_id`\n * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`\n\n`*_id`s shoud satisfy the standard SQL rules for identifiers.\nhttps://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.", + "description": "The SQL name of the entry. SQL names are case-sensitive.\n\nExamples:\n\n * `pubsub.project_id.topic_id`\n * ``pubsub.project_id.`topic.id.with.dots` ``\n * `bigquery.table.project_id.dataset_id.table_id`\n * `bigquery.dataset.project_id.dataset_id`\n * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`\n\n`*_id`s shoud satisfy the standard SQL rules for identifiers.\nhttps://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.", "location": "query", "type": "string" } @@ -164,7 +164,7 @@ "entryGroups": { "methods": { "create": { - "description": "A maximum of 10,000 entry groups may be created per organization across all\nlocations.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).", + "description": "A maximum of 10,000 entry groups may be created per organization across all\nlocations.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups", "httpMethod": "POST", "id": "datacatalog.projects.locations.entryGroups.create", @@ -197,7 +197,7 @@ ] }, "delete": { - "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be\ndeleted. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).", + "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be\ndeleted. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", "httpMethod": "DELETE", "id": "datacatalog.projects.locations.entryGroups.delete", @@ -322,7 +322,7 @@ ] }, "patch": { - "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the\nproject identified by the `entry_group.name` parameter (see [Data Catalog\nResource Project] (/data-catalog/docs/concepts/resource-project) for more\ninformation).", + "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the\nproject identified by the `entry_group.name` parameter (see [Data Catalog\nResource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", "httpMethod": "PATCH", "id": "datacatalog.projects.locations.entryGroups.patch", @@ -416,7 +416,7 @@ "entries": { "methods": { "create": { - "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can\nbe created.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).\n\nA maximum of 100,000 entries may be created per entry group.", + "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can\nbe created.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).\n\nA maximum of 100,000 entries may be created per entry group.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", "httpMethod": "POST", "id": "datacatalog.projects.locations.entryGroups.entries.create", @@ -449,7 +449,7 @@ ] }, "delete": { - "description": "Deletes an existing entry. Only entries created through\nCreateEntry\nmethod can be deleted.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).", + "description": "Deletes an existing entry. Only entries created through\nCreateEntry\nmethod can be deleted.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", "httpMethod": "DELETE", "id": "datacatalog.projects.locations.entryGroups.entries.delete", @@ -569,7 +569,7 @@ ] }, "patch": { - "description": "Updates an existing entry.\nUsers should enable the Data Catalog API in the project identified by\nthe `entry.name` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).", + "description": "Updates an existing entry.\nUsers should enable the Data Catalog API in the project identified by\nthe `entry.name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", "httpMethod": "PATCH", "id": "datacatalog.projects.locations.entryGroups.entries.patch", @@ -635,7 +635,7 @@ "tags": { "methods": { "create": { - "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.", + "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", "httpMethod": "POST", "id": "datacatalog.projects.locations.entryGroups.entries.tags.create", @@ -764,7 +764,7 @@ "tags": { "methods": { "create": { - "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.", + "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", "httpMethod": "POST", "id": "datacatalog.projects.locations.entryGroups.tags.create", @@ -893,7 +893,7 @@ "tagTemplates": { "methods": { "create": { - "description": "Creates a tag template. The user should enable the Data Catalog API in\nthe project identified by the `parent` parameter (see [Data Catalog\nResource Project](/data-catalog/docs/concepts/resource-project) for more\ninformation).", + "description": "Creates a tag template. The user should enable the Data Catalog API in\nthe project identified by the `parent` parameter (see [Data Catalog\nResource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates", "httpMethod": "POST", "id": "datacatalog.projects.locations.tagTemplates.create", @@ -902,7 +902,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the project and the template location\n[region](/compute/docs/regions-zones/#available).\nNOTE: Currently, only the `us-central1 region` is supported.\n\nExample:\n\n* projects/{project_id}/locations/us-central1", + "description": "Required. The name of the project and the template location\n[region](https://cloud.google.com/data-catalog/docs/concepts/regions.\n\nExample:\n\n* projects/{project_id}/locations/us-central1", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -926,7 +926,7 @@ ] }, "delete": { - "description": "Deletes a tag template and all tags using the template.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).", + "description": "Deletes a tag template and all tags using the template.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", "httpMethod": "DELETE", "id": "datacatalog.projects.locations.tagTemplates.delete", @@ -1009,7 +1009,7 @@ ] }, "patch": { - "description": "Updates a tag template. This method cannot be used to update the fields of\na template. The tag template fields are represented as separate resources\nand should be updated using their own create/update/delete methods.\nUsers should enable the Data Catalog API in the project identified by\nthe `tag_template.name` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).", + "description": "Updates a tag template. This method cannot be used to update the fields of\na template. The tag template fields are represented as separate resources\nand should be updated using their own create/update/delete methods.\nUsers should enable the Data Catalog API in the project identified by\nthe `tag_template.name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", "httpMethod": "PATCH", "id": "datacatalog.projects.locations.tagTemplates.patch", @@ -1103,7 +1103,7 @@ "fields": { "methods": { "create": { - "description": "Creates a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `parent` parameter (see\n[Data Catalog Resource\nProject](/data-catalog/docs/concepts/resource-project) for more\ninformation).", + "description": "Creates a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `parent` parameter (see\n[Data Catalog Resource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields", "httpMethod": "POST", "id": "datacatalog.projects.locations.tagTemplates.fields.create", @@ -1112,7 +1112,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the project and the template location\n[region](/compute/docs/regions-zones/#available).\nNOTE: Currently, only the `us-central1 region` is supported.\n\nExample:\n\n* projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}", + "description": "Required. The name of the project and the template location\n[region](https://cloud.google.com/data-catalog/docs/concepts/regions).\n\nExample:\n\n* projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", "required": true, @@ -1136,7 +1136,7 @@ ] }, "delete": { - "description": "Deletes a field in a tag template and all uses of that field.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).", + "description": "Deletes a field in a tag template and all uses of that field.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", "httpMethod": "DELETE", "id": "datacatalog.projects.locations.tagTemplates.fields.delete", @@ -1166,7 +1166,7 @@ ] }, "patch": { - "description": "Updates a field in a tag template. This method cannot be used to update the\nfield type. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(/data-catalog/docs/concepts/resource-project) for more information).", + "description": "Updates a field in a tag template. This method cannot be used to update the\nfield type. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", "httpMethod": "PATCH", "id": "datacatalog.projects.locations.tagTemplates.fields.patch", @@ -1200,7 +1200,7 @@ ] }, "rename": { - "description": "Renames a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `name` parameter (see [Data Catalog\nResource Project](/data-catalog/docs/concepts/resource-project) for more\ninformation).", + "description": "Renames a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `name` parameter (see [Data Catalog\nResource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename", "httpMethod": "POST", "id": "datacatalog.projects.locations.tagTemplates.fields.rename", @@ -1385,7 +1385,7 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of project that the newly created taxonomies will\nbelong to.", + "description": "Required. Resource name of project that the imported taxonomies will belong to.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1774,7 +1774,7 @@ } } }, - "revision": "20200402", + "revision": "20200528", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { @@ -1783,7 +1783,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1834,7 +1834,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1844,7 +1844,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1880,12 +1880,14 @@ "enum": [ "TABLE_SOURCE_TYPE_UNSPECIFIED", "BIGQUERY_VIEW", - "BIGQUERY_TABLE" + "BIGQUERY_TABLE", + "BIGQUERY_MATERIALIZED_VIEW" ], "enumDescriptions": [ "Default unknown type.", "Table view.", - "BigQuery native table." + "BigQuery native table.", + "BigQuery materialized view." ], "type": "string" }, @@ -1996,7 +1998,7 @@ "enumDescriptions": [ "Default unknown type.", "Output only. The type of entry that has a GoogleSQL schema, including\nlogical views.", - "Output only. The type of models.", + "Output only. The type of models.\nhttps://cloud.google.com/bigquery-ml/docs/bigqueryml-intro", "Output only. An entry type which is used for streaming entries. Example:\nPub/Sub topic.", "An entry type which is a set of files or objects. Example:\nCloud Storage fileset." ], @@ -2148,7 +2150,7 @@ "properties": { "inlineSource": { "$ref": "GoogleCloudDatacatalogV1beta1InlineSource", - "description": "Inline source used for taxonomies import" + "description": "Inline source used for taxonomies to be imported." } }, "type": "object" @@ -2344,7 +2346,7 @@ "type": "string" }, "query": { - "description": "Required. The query string in search query syntax. The query must be non-empty.\n\nQuery strings can be simple as \"x\" or more qualified as:\n\n* name:x\n* column:x\n* description:y\n\nNote: Query tokens need to have a minimum of 3 characters for substring\nmatching to work correctly. See [Data Catalog Search\nSyntax](/data-catalog/docs/how-to/search-reference) for more information.", + "description": "Required. The query string in search query syntax. The query must be non-empty.\n\nQuery strings can be simple as \"x\" or more qualified as:\n\n* name:x\n* column:x\n* description:y\n\nNote: Query tokens need to have a minimum of 3 characters for substring\nmatching to work correctly. See [Data Catalog Search\nSyntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference)\nfor more information.", "type": "string" }, "scope": { @@ -2375,6 +2377,13 @@ "type": "string" }, "type": "array" + }, + "restrictedLocations": { + "description": "Optional. The list of locations to search within.\n1. If empty, search will be performed in all locations;\n2. If any of the locations are NOT in the valid locations list, error\nwill be returned;\n3. Otherwise, search only the given locations for matching results.\nTypical usage is to leave this field empty. When a location is\nunreachable as returned in the `SearchCatalogResponse.unreachable` field,\nusers can repeat the search request with this parameter set to get\nadditional information on the error.\n\nValid locations:\n * asia-east1\n * asia-east2\n * asia-northeast1\n * asia-northeast2\n * asia-northeast3\n * asia-south1\n * asia-southeast1\n * australia-southeast1\n * eu\n * europe-north1\n * europe-west1\n * europe-west2\n * europe-west3\n * europe-west4\n * europe-west6\n * global\n * northamerica-northeast1\n * southamerica-east1\n * us\n * us-central1\n * us-east1\n * us-east4\n * us-west1\n * us-west2", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -2393,6 +2402,13 @@ "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogResult" }, "type": "array" + }, + "unreachable": { + "description": "Unreachable locations. Search result does not include data from those\nlocations. Users can get additional information on the error by repeating\nthe search request with a more restrictive parameter -- setting the value\nfor `SearchDataCatalogRequest.scope.include_locations`.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -2450,6 +2466,10 @@ "displayName": { "description": "Required. Display name of the policy tag. Max 200 bytes when encoded in UTF-8.", "type": "string" + }, + "policyTag": { + "description": "Resource name of the policy tag.\n\nThis field will be ignored when calling ImportTaxonomies.", + "type": "string" } }, "type": "object" @@ -2510,7 +2530,7 @@ "type": "object" }, "GoogleCloudDatacatalogV1beta1Tag": { - "description": "Tags are used to attach custom metadata to Data Catalog resources. Tags\nconform to the specifications within their tag template.\n\nSee [Data Catalog IAM](/data-catalog/docs/concepts/iam) for information on\nthe permissions needed to create or view tags.", + "description": "Tags are used to attach custom metadata to Data Catalog resources. Tags\nconform to the specifications within their tag template.\n\nSee [Data Catalog\nIAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information\non the permissions needed to create or view tags.", "id": "GoogleCloudDatacatalogV1beta1Tag", "properties": { "column": { @@ -2589,7 +2609,7 @@ "type": "object" }, "GoogleCloudDatacatalogV1beta1TagTemplate": { - "description": "A tag template defines a tag, which can have one or more typed fields.\nThe template is used to create and attach the tag to GCP resources.\n[Tag template roles](/iam/docs/understanding-roles#data-catalog-roles)\nprovide permissions to create, edit, and use the template (see, for example,\nthe [TagTemplate User](/data-catalog/docs/how-to/template-user) role, which\nincludes permission to use the tag template to tag resources.", + "description": "A tag template defines a tag, which can have one or more typed fields.\nThe template is used to create and attach the tag to GCP resources.\n[Tag template\nroles](https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles)\nprovide permissions to create, edit, and use the template. See, for example,\nthe [TagTemplate\nUser](https://cloud.google.com/data-catalog/docs/how-to/template-user) role,\nwhich includes permission to use the tag template to tag resources.", "id": "GoogleCloudDatacatalogV1beta1TagTemplate", "properties": { "displayName": { @@ -2684,7 +2704,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -2700,7 +2720,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/dataflow/v1b3/dataflow-api.json b/etc/api/dataflow/v1b3/dataflow-api.json index 8a86a509ec..c243f128e7 100644 --- a/etc/api/dataflow/v1b3/dataflow-api.json +++ b/etc/api/dataflow/v1b3/dataflow-api.json @@ -183,6 +183,184 @@ } }, "resources": { + "catalogTemplates": { + "methods": { + "commit": { + "description": "Creates a new TemplateVersion (Important: not new Template) entry in the\nspanner table. Requires project_id and display_name (template).", + "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:commit", + "httpMethod": "POST", + "id": "dataflow.projects.catalogTemplates.commit", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The location of the template, name includes project_id and display_name.\n\nCommit using project_id(pid1) and display_name(tid1).\n Format: projects/{pid1}/catalogTemplates/{tid1}", + "location": "path", + "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1b3/{+name}:commit", + "request": { + "$ref": "CommitTemplateVersionRequest" + }, + "response": { + "$ref": "TemplateVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "delete": { + "description": "Deletes an existing Template. Do nothing if Template does not exist.", + "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}", + "httpMethod": "DELETE", + "id": "dataflow.projects.catalogTemplates.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "name includes project_id and display_name.\n\nDelete by project_id(pid1) and display_name(tid1).\n Format: projects/{pid1}/catalogTemplates/{tid1}", + "location": "path", + "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1b3/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "get": { + "description": "Get TemplateVersion using project_id and display_name with an optional\nversion_id field. Get latest (has tag \"latest\") TemplateVersion if\nversion_id not set.", + "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}", + "httpMethod": "GET", + "id": "dataflow.projects.catalogTemplates.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name includes project_id and display_name. version_id is optional.\nGet the latest TemplateVersion if version_id not set.\n\nGet by project_id(pid1) and display_name(tid1):\n Format: projects/{pid1}/catalogTemplates/{tid1}\n\nGet by project_id(pid1), display_name(tid1), and version_id(vid1):\n Format: projects/{pid1}/catalogTemplates/{tid1@vid}", + "location": "path", + "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1b3/{+name}", + "response": { + "$ref": "TemplateVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "label": { + "description": "Updates the label of the TemplateVersion. Label can be duplicated in\nTemplate, so either add or remove the label in the TemplateVersion.", + "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:label", + "httpMethod": "POST", + "id": "dataflow.projects.catalogTemplates.label", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name includes project_id, display_name, and version_id.\n\nUpdates by project_id(pid1), display_name(tid1), and version_id(vid1):\n Format: projects/{pid1}/catalogTemplates/{tid1@vid}", + "location": "path", + "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1b3/{+name}:label", + "request": { + "$ref": "ModifyTemplateVersionLabelRequest" + }, + "response": { + "$ref": "ModifyTemplateVersionLabelResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "tag": { + "description": "Updates the tag of the TemplateVersion, and tag is unique in Template.\nIf tag exists in another TemplateVersion in the Template, updates the tag\nto this TemplateVersion will remove it from the old TemplateVersion and add\nit to this TemplateVersion. If request is remove_only (remove_only = true),\nremove the tag from this TemplateVersion.", + "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:tag", + "httpMethod": "POST", + "id": "dataflow.projects.catalogTemplates.tag", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name includes project_id, display_name, and version_id.\n\nUpdates by project_id(pid1), display_name(tid1), and version_id(vid1):\n Format: projects/{pid1}/catalogTemplates/{tid1@vid}", + "location": "path", + "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1b3/{+name}:tag", + "request": { + "$ref": "ModifyTemplateVersionTagRequest" + }, + "response": { + "$ref": "ModifyTemplateVersionTagResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] + } + }, + "resources": { + "templateVersions": { + "methods": { + "create": { + "description": "Creates a new Template with TemplateVersion. Requires\nproject_id(projects) and template display_name(catalogTemplates).\nThe template display_name is set by the user.", + "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}/templateVersions", + "httpMethod": "POST", + "id": "dataflow.projects.catalogTemplates.templateVersions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The parent project and template that the TemplateVersion will be created\nunder.\n\nCreate using project_id(pid1) and display_name(tid1).\n Format: projects/{pid1}/catalogTemplates/{tid1}", + "location": "path", + "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1b3/{+parent}/templateVersions", + "request": { + "$ref": "CreateTemplateVersionRequest" + }, + "response": { + "$ref": "TemplateVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + } + } + }, "jobs": { "methods": { "aggregated": { @@ -1877,6 +2055,47 @@ } } }, + "templateVersions": { + "methods": { + "list": { + "description": "List TemplateVersions using project_id and an optional display_name field.\nList all the TemplateVersions in the Template if display set.\nList all the TemplateVersions in the Project if display_name not set.", + "flatPath": "v1b3/projects/{projectsId}/templateVersions", + "httpMethod": "GET", + "id": "dataflow.projects.templateVersions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of TemplateVersions to return per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token, received from a previous ListTemplateVersions call.\nProvide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "parent includes project_id, and display_name is optional.\n\nList by project_id(pid1) and display_name(tid1).\n Format: projects/{pid1}/catalogTemplates/{tid1}\n\nList by project_id(pid1).\n Format: projects/{pid1}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1b3/{+parent}/templateVersions", + "response": { + "$ref": "ListTemplateVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "templates": { "methods": { "create": { @@ -2014,7 +2233,7 @@ } } }, - "revision": "20200319", + "revision": "20200602", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { @@ -2083,6 +2302,25 @@ }, "type": "object" }, + "Artifact": { + "description": "Job information for templates.", + "id": "Artifact", + "properties": { + "containerSpec": { + "$ref": "ContainerSpec", + "description": "Container image path set for flex Template." + }, + "jobGraphGcsPath": { + "description": "job_graph_gcs_path set for legacy Template.", + "type": "string" + }, + "metadata": { + "$ref": "TemplateMetadata", + "description": "Metadata set for legacy Template." + } + }, + "type": "object" + }, "AutoscalingEvent": { "description": "A structured message reporting an autoscaling decision made by the Dataflow\nservice.", "id": "AutoscalingEvent", @@ -2221,6 +2459,17 @@ }, "type": "object" }, + "CommitTemplateVersionRequest": { + "description": "Commit will add a new TemplateVersion to an existing template.", + "id": "CommitTemplateVersionRequest", + "properties": { + "templateVersion": { + "$ref": "TemplateVersion", + "description": "TemplateVersion obejct to create." + } + }, + "type": "object" + }, "ComponentSource": { "description": "Description of an interstitial value between transforms in an execution\nstage.", "id": "ComponentSource", @@ -2584,6 +2833,17 @@ }, "type": "object" }, + "CreateTemplateVersionRequest": { + "description": "Creates a new Template with TemplateVersions.", + "id": "CreateTemplateVersionRequest", + "properties": { + "templateVersion": { + "$ref": "TemplateVersion", + "description": "The TemplateVersion object to create." + } + }, + "type": "object" + }, "CustomSourceLocation": { "description": "Identifies the location of a custom souce.", "id": "CustomSourceLocation", @@ -2787,6 +3047,12 @@ }, "type": "object" }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, "Environment": { "description": "Describes the environment in which a Dataflow Job runs.", "id": "Environment", @@ -3868,6 +4134,24 @@ }, "type": "object" }, + "ListTemplateVersionsResponse": { + "description": "Respond a list of TemplateVersions.", + "id": "ListTemplateVersionsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "templateVersions": { + "description": "A list of TemplateVersions.", + "items": { + "$ref": "TemplateVersion" + }, + "type": "array" + } + }, + "type": "object" + }, "MapTask": { "description": "MapTask consists of an ordered set of instructions, each of which\ndescribes one particular low-level operation for the worker to\nperform in order to accomplish the MapTask's WorkItem.\n\nEach instruction must appear in the list before any instructions which\ndepends on its output.", "id": "MapTask", @@ -4012,6 +4296,78 @@ }, "type": "object" }, + "ModifyTemplateVersionLabelRequest": { + "description": "Either add the label to TemplateVersion or remove it from the\nTemplateVersion.", + "id": "ModifyTemplateVersionLabelRequest", + "properties": { + "key": { + "description": "The label key for update.", + "type": "string" + }, + "op": { + "description": "Requests for add label to TemplateVersion or remove label from\nTemplateVersion.", + "enum": [ + "OPERATION_UNSPECIFIED", + "ADD", + "REMOVE" + ], + "enumDescriptions": [ + "Default value.", + "Add the label to the TemplateVersion object.", + "Remove the label from the TemplateVersion object." + ], + "type": "string" + }, + "value": { + "description": "The label value for update.", + "type": "string" + } + }, + "type": "object" + }, + "ModifyTemplateVersionLabelResponse": { + "description": "Respond the labels in the TemplateVersion.", + "id": "ModifyTemplateVersionLabelResponse", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "All the label in the TemplateVersion.", + "type": "object" + } + }, + "type": "object" + }, + "ModifyTemplateVersionTagRequest": { + "description": "Add a tag to the current TemplateVersion. If tag exist in another\nTemplateVersion in the Template, remove the tag before add it to the current\nTemplateVersion. If remove_only set, remove the tag from the current\nTemplateVersion.", + "id": "ModifyTemplateVersionTagRequest", + "properties": { + "removeOnly": { + "description": "The flag that indicates if the request is only for remove tag from\nTemplateVersion.", + "type": "boolean" + }, + "tag": { + "description": "The tag for update.", + "type": "string" + } + }, + "type": "object" + }, + "ModifyTemplateVersionTagResponse": { + "description": "Respond the current tags in the TemplateVersion.", + "id": "ModifyTemplateVersionTagResponse", + "properties": { + "tags": { + "description": "All the tags in the TemplateVersion.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "MountedDataDisk": { "description": "Describes mounted data disk.", "id": "MountedDataDisk", @@ -4418,6 +4774,28 @@ }, "type": "object" }, + "QueryInfo": { + "description": "Information about a validated query.", + "id": "QueryInfo", + "properties": { + "queryProperty": { + "description": "Includes an entry for each satisfied QueryProperty.", + "enumDescriptions": [ + "The query property is unknown or unspecified.", + "Indicates this query reads from >= 1 unbounded source." + ], + "items": { + "enum": [ + "QUERY_PROPERTY_UNSPECIFIED", + "HAS_UNBOUNDED_SOURCE" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ReadInstruction": { "description": "An instruction that reads records.\nTakes no inputs, produces one output.", "id": "ReadInstruction", @@ -5723,6 +6101,66 @@ }, "type": "object" }, + "TemplateVersion": { + "description": "/////////////////////////////////////////////////////////////////////////////\n//// Template Catalog is used to organize user TemplateVersions.\n//// TemplateVersions that have the same project_id and display_name are\n//// belong to the same Template.\n//// Templates with the same project_id belong to the same Project.\n//// TemplateVersion may have labels and multiple labels are allowed.\n//// Duplicated labels in the same `TemplateVersion` are not allowed.\n//// TemplateVersion may have tags and multiple tags are allowed. Duplicated\n//// tags in the same `Template` are not allowed!", + "id": "TemplateVersion", + "properties": { + "artifact": { + "$ref": "Artifact", + "description": "Job graph and metadata if it is a legacy Template.\nContainer image path and metadata if it is flex Template." + }, + "createTime": { + "description": "Creation time of this TemplateVersion.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Template description from the user.", + "type": "string" + }, + "displayName": { + "description": "A customized name for Template. Multiple TemplateVersions per Template.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels for the Template Version. Labels can be duplicate within Template.", + "type": "object" + }, + "projectId": { + "description": "A unique project_id. Multiple Templates per Project.", + "type": "string" + }, + "tags": { + "description": "Alias for version_id, helps locate a TemplateVersion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "Either LEGACY or FLEX. This should match with the type of artifact.", + "enum": [ + "TEMPLATE_TYPE_UNSPECIFIED", + "LEGACY", + "FLEX" + ], + "enumDescriptions": [ + "Default value. Not a useful zero case.", + "Legacy Template.", + "Flex Template." + ], + "type": "string" + }, + "versionId": { + "description": "An auto generated version_id for TemplateVersion.", + "type": "string" + } + }, + "type": "object" + }, "TopologyConfig": { "description": "Global topology of the streaming Dataflow job, including all\ncomputations and their sharded locations.", "id": "TopologyConfig", @@ -5830,6 +6268,10 @@ "errorMessage": { "description": "Will be empty if validation succeeds.", "type": "string" + }, + "queryInfo": { + "$ref": "QueryInfo", + "description": "Information about the validated query. Not defined if validation fails." } }, "type": "object" diff --git a/etc/api/datafusion/v1beta1/datafusion-api.json b/etc/api/datafusion/v1beta1/datafusion-api.json index e509a7daa9..74293fd9ce 100644 --- a/etc/api/datafusion/v1beta1/datafusion-api.json +++ b/etc/api/datafusion/v1beta1/datafusion-api.json @@ -40,11 +40,6 @@ "location": "query", "type": "string" }, - "access_token": { - "description": "OAuth access token.", - "location": "query", - "type": "string" - }, "alt": { "default": "json", "description": "Data format for response.", @@ -76,11 +71,6 @@ "location": "query", "type": "string" }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, "prettyPrint": { "default": "true", "description": "Returns response with indentations and line breaks.", @@ -277,7 +267,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -407,7 +397,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setIamPolicy", "httpMethod": "POST", "id": "datafusion.projects.locations.instances.setIamPolicy", @@ -435,7 +425,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:testIamPermissions", "httpMethod": "POST", "id": "datafusion.projects.locations.instances.testIamPermissions", @@ -614,13 +604,58 @@ ] } } + }, + "versions": { + "methods": { + "list": { + "description": "Lists possible versions for Data Fusion instances in the specified project\nand location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/versions", + "httpMethod": "GET", + "id": "datafusion.projects.locations.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "latestPatchOnly": { + "description": "Whether or not to return the latest patch of every available minor version.\nIf true, only the latest patch will be returned. Ex. if allowed versions is\n[6.1.1, 6.1.2, 6.2.0] then response will be [6.1.2, 6.2.0]", + "location": "query", + "type": "boolean" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional\nresults to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve instance information\nin the format projects/{project}/locations/{location}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "response": { + "$ref": "ListAvailableVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } } } }, - "revision": "20200318", + "revision": "20200609", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -645,7 +680,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -663,7 +698,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -698,7 +733,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -777,7 +812,7 @@ "type": "string" }, "description": { - "description": "Optional. An optional description of this instance.", + "description": "A description of this instance.", "type": "string" }, "displayName": { @@ -894,6 +929,24 @@ }, "type": "object" }, + "ListAvailableVersionsResponse": { + "description": "Response message for the list available versions request.", + "id": "ListAvailableVersionsResponse", + "properties": { + "availableVersions": { + "description": "Represents a list of versions that are supported.", + "items": { + "$ref": "Version" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.", + "type": "string" + } + }, + "type": "object" + }, "ListInstancesResponse": { "description": "Response message for the list instance request.", "id": "ListInstancesResponse", @@ -1077,7 +1130,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -1100,7 +1153,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1122,7 +1175,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -1194,6 +1247,10 @@ "description": "The Data Fusion version.", "id": "Version", "properties": { + "defaultVersion": { + "description": "Whether this is currently the default version for Cloud Data Fusion", + "type": "boolean" + }, "versionNumber": { "description": "The version number of the Data Fusion instance, such as '6.0.1.0'.", "type": "string" diff --git a/etc/api/dataproc/v1/dataproc-api.json b/etc/api/dataproc/v1/dataproc-api.json index 36f59b180b..ea2c8bf6a6 100644 --- a/etc/api/dataproc/v1/dataproc-api.json +++ b/etc/api/dataproc/v1/dataproc-api.json @@ -254,7 +254,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.locations.autoscalingPolicies.setIamPolicy", @@ -557,7 +557,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.locations.workflowTemplates.setIamPolicy", @@ -791,7 +791,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.autoscalingPolicies.setIamPolicy", @@ -1178,7 +1178,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.clusters.setIamPolicy", @@ -1492,7 +1492,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.jobs.setIamPolicy", @@ -1764,7 +1764,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.operations.setIamPolicy", @@ -2039,7 +2039,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.workflowTemplates.setIamPolicy", @@ -2129,11 +2129,11 @@ } } }, - "revision": "20200323", + "revision": "20200703", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { - "description": "Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine.", + "description": "Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).", "id": "AcceleratorConfig", "properties": { "acceleratorCount": { @@ -2142,7 +2142,7 @@ "type": "integer" }, "acceleratorTypeUri": { - "description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes.Examples:\nhttps://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80\nprojects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80\nnvidia-tesla-k80Auto Zone Exception: If you are using the Dataproc Auto Zone Placement feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-k80.", + "description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).Examples:\nhttps://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80\nprojects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80\nnvidia-tesla-k80Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-k80.", "type": "string" } }, @@ -2211,7 +2211,7 @@ "type": "string" }, "scaleDownFactor": { - "description": "Required. Fraction of average pending memory in the last cooldown period for which to remove workers. A scale-down factor of 1 will result in scaling down so that there is no available memory remaining after the update (more aggressive scaling). A scale-down factor of 0 disables removing workers, which can be beneficial for autoscaling a single job.Bounds: 0.0, 1.0.", + "description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to remove workers. A scale-down factor of 1 will result in scaling down so that there is no available memory remaining after the update (more aggressive scaling). A scale-down factor of 0 disables removing workers, which can be beneficial for autoscaling a single job. See How autoscaling works for more information.Bounds: 0.0, 1.0.", "format": "double", "type": "number" }, @@ -2221,7 +2221,7 @@ "type": "number" }, "scaleUpFactor": { - "description": "Required. Fraction of average pending memory in the last cooldown period for which to add workers. A scale-up factor of 1.0 will result in scaling up so that there is no pending memory remaining after the update (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling).Bounds: 0.0, 1.0.", + "description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to add workers. A scale-up factor of 1.0 will result in scaling up so that there is no pending memory remaining after the update (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling). See How autoscaling works for more information.Bounds: 0.0, 1.0.", "format": "double", "type": "number" }, @@ -2239,7 +2239,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." + "description": "The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource. members can have the following values:\nallUsers: A special identifier that represents anyone who is on the internet; with or without a Google account.\nallAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account.\nuser:{emailid}: An email address that represents a specific Google account. For example, alice@example.com .\nserviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.\ngroup:{emailid}: An email address that represents a Google group. For example, admins@example.com.\ndeleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding.\ndeleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding.\ndeleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding.\ndomain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com.", @@ -2286,7 +2286,7 @@ }, "metrics": { "$ref": "ClusterMetrics", - "description": "Contains cluster daemon metrics such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release." + "description": "Output only. Contains cluster daemon metrics such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release." }, "projectId": { "description": "Required. The Google Cloud Platform project ID that the cluster belongs to.", @@ -2315,13 +2315,17 @@ "description": "Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset." }, "configBucket": { - "description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket).", + "description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).", "type": "string" }, "encryptionConfig": { "$ref": "EncryptionConfig", "description": "Optional. Encryption settings for the cluster." }, + "endpointConfig": { + "$ref": "EndpointConfig", + "description": "Optional. Port/endpoint configuration for this cluster" + }, "gceClusterConfig": { "$ref": "GceClusterConfig", "description": "Optional. The shared Compute Engine config settings for all instances in a cluster." @@ -2353,6 +2357,10 @@ "$ref": "SoftwareConfig", "description": "Optional. The config settings for software inside the cluster." }, + "tempBucket": { + "description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket.", + "type": "string" + }, "workerConfig": { "$ref": "InstanceGroupConfig", "description": "Optional. The Compute Engine config settings for worker instances in a cluster." @@ -2609,6 +2617,24 @@ }, "type": "object" }, + "EndpointConfig": { + "description": "Endpoint config for this cluster", + "id": "EndpointConfig", + "properties": { + "enableHttpPortAccess": { + "description": "Optional. If true, enable http access to specific ports on the cluster from external sources. Defaults to false.", + "type": "boolean" + }, + "httpPorts": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. The map of port descriptions to URLs. Will only be populated if enable_http_port_access is true.", + "type": "object" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison):\ntitle: \"Summary size limit\"\ndescription: \"Determines if a summary is less than 100 chars\"\nexpression: \"document.summary.size() < 100\"\nExample (Equality):\ntitle: \"Requestor is owner\"\ndescription: \"Determines if requestor is the document owner\"\nexpression: \"document.owner == request.auth.claims.email\"\nExample (Logic):\ntitle: \"Public documents\"\ndescription: \"Determine whether the document should be publicly visible\"\nexpression: \"document.type != 'private' && document.type != 'internal'\"\nExample (Data Manipulation):\ntitle: \"Notification string\"\ndescription: \"Create a notification string with a timestamp.\"\nexpression: \"'New message received at ' + string(document.create_time)\"\nThe exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -2648,7 +2674,7 @@ "type": "object" }, "networkUri": { - "description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see Using Subnetworks for more information).A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default\nprojects/[project_id]/regions/global/default\ndefault", + "description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default\nprojects/[project_id]/regions/global/default\ndefault", "type": "string" }, "reservationAffinity": { @@ -2656,7 +2682,7 @@ "description": "Optional. Reservation Affinity for consuming Zonal reservation." }, "serviceAccount": { - "description": "Optional. The Dataproc service account (also see VM Data Plane identity) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account is used.", + "description": "Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_cloud_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", "type": "string" }, "serviceAccountScopes": { @@ -2671,7 +2697,7 @@ "type": "string" }, "tags": { - "description": "The Compute Engine tags to add to all instances (see Tagging instances).", + "description": "The Compute Engine tags to add to all instances (see Tagging instances (https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).", "items": { "type": "string" }, @@ -2690,7 +2716,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy. This field is only used by Cloud IAM." + "description": "OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy." } }, "type": "object" @@ -2700,7 +2726,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2839,7 +2865,7 @@ "description": "Optional. Disk option config settings." }, "imageUri": { - "description": "Optional. The Compute Engine image resource used for cluster instances. It can be specified or may be inferred from SoftwareConfig.image_version.", + "description": "Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples:\nhttps://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]\nprojects/[project_id]/global/images/[image-id]\nimage-idImage family examples. Dataproc will use the most recent image from the family:\nhttps://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]\nprojects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default.", "type": "string" }, "instanceNames": { @@ -2854,7 +2880,7 @@ "type": "boolean" }, "machineTypeUri": { - "description": "Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nprojects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nn1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement feature, you must use the short name of the machine type resource, for example, n1-standard-2.", + "description": "Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nprojects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nn1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2.", "type": "string" }, "managedGroupConfig": { @@ -2862,7 +2888,7 @@ "description": "Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups." }, "minCpuPlatform": { - "description": "Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc→Minimum CPU Platform.", + "description": "Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).", "type": "string" }, "numInstances": { @@ -3050,7 +3076,7 @@ "type": "string" }, "projectId": { - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "description": "Optional. The ID of the Google Cloud Platform project that the job belongs to. If specified, must match the request project ID.", "type": "string" } }, @@ -3149,7 +3175,7 @@ "type": "string" }, "enableKerberos": { - "description": "Optional. Flag to indicate whether to Kerberize the cluster.", + "description": "Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster.", "type": "boolean" }, "kdcDbKeyUri": { @@ -3431,10 +3457,12 @@ "id": "OrderedJob", "properties": { "hadoopJob": { - "$ref": "HadoopJob" + "$ref": "HadoopJob", + "description": "Optional. Job is a Hadoop job." }, "hiveJob": { - "$ref": "HiveJob" + "$ref": "HiveJob", + "description": "Optional. Job is a Hive job." }, "labels": { "additionalProperties": { @@ -3444,7 +3472,8 @@ "type": "object" }, "pigJob": { - "$ref": "PigJob" + "$ref": "PigJob", + "description": "Optional. Job is a Pig job." }, "prerequisiteStepIds": { "description": "Optional. The optional list of prerequisite job step_ids. If not specified, the job will start at the beginning of workflow.", @@ -3455,24 +3484,27 @@ }, "prestoJob": { "$ref": "PrestoJob", - "description": "Presto job" + "description": "Optional. Job is a Presto job." }, "pysparkJob": { - "$ref": "PySparkJob" + "$ref": "PySparkJob", + "description": "Optional. Job is a PySpark job." }, "scheduling": { "$ref": "JobScheduling", "description": "Optional. Job scheduling configuration." }, "sparkJob": { - "$ref": "SparkJob" + "$ref": "SparkJob", + "description": "Optional. Job is a Spark job." }, "sparkRJob": { "$ref": "SparkRJob", - "description": "Spark R job" + "description": "Optional. Job is a SparkR job." }, "sparkSqlJob": { - "$ref": "SparkSqlJob" + "$ref": "SparkSqlJob", + "description": "Optional. Job is a SparkSql job." }, "stepId": { "description": "Required. The step id. The id must be unique among all jobs within the template.The step id is used as prefix for job id, as job goog-dataproc-workflow-step-id label, and in prerequisiteStepIds field from other steps.The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters.", @@ -3541,7 +3573,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.Optionally, a binding can specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both.JSON example:\n{\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n}\nYAML example:\nbindings:\n- members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n- members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n- etag: BwWWja0YfJA=\n- version: 3\nFor a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example:\n{\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n}\nYAML example:\nbindings:\n- members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n- members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n- etag: BwWWja0YfJA=\n- version: 3\nFor a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -3557,7 +3589,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that specify an invalid value are rejected.Any operation that affects conditional role bindings must specify version 3. This requirement applies to the following operations:\nGetting a policy that includes a conditional role binding\nAdding a conditional role binding to a policy\nChanging a conditional role binding in a policy\nRemoving any role binding, with or without a condition, from a policy that includes conditionsImportant: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that specify an invalid value are rejected.Any operation that affects conditional role bindings must specify version 3. This requirement applies to the following operations:\nGetting a policy that includes a conditional role binding\nAdding a conditional role binding to a policy\nChanging a conditional role binding in a policy\nRemoving any role binding, with or without a condition, from a policy that includes conditionsImportant: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -3565,7 +3597,7 @@ "type": "object" }, "PrestoJob": { - "description": "A Dataproc job for running Presto (https://prestosql.io/) queries", + "description": "A Dataproc job for running Presto (https://prestosql.io/) queries. IMPORTANT: The Dataproc Presto Optional Component (https://cloud.google.com/dataproc/docs/concepts/components/presto) must be enabled when the cluster is created to submit a Presto job to the cluster.", "id": "PrestoJob", "properties": { "clientTags": { @@ -3610,7 +3642,7 @@ "id": "PySparkJob", "properties": { "archiveUris": { - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip.", + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", "items": { "type": "string" }, @@ -3624,7 +3656,7 @@ "type": "array" }, "fileUris": { - "description": "Optional. HCFS URIs of files to be copied to the working directory of Python drivers and distributed tasks. Useful for naively parallel tasks.", + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", "items": { "type": "string" }, @@ -3751,13 +3783,13 @@ "id": "SoftwareConfig", "properties": { "imageVersion": { - "description": "Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions, such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version. If unspecified, it defaults to the latest Debian version.", + "description": "Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_cloud_dataproc_versions), such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.", "type": "string" }, "optionalComponents": { "description": "Optional. The set of components to activate on the cluster.", "enumDescriptions": [ - "Unspecified component.", + "Unspecified component. Specifying this will cause Cluster creation to fail.", "The Anaconda python distribution.", "The Hive Web HCatalog (the REST service for accessing HCatalog).", "The Jupyter Notebook.", @@ -3783,7 +3815,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings:\ncapacity-scheduler: capacity-scheduler.xml\ncore: core-site.xml\ndistcp: distcp-default.xml\nhdfs: hdfs-site.xml\nhive: hive-site.xml\nmapred: mapred-site.xml\npig: pig.properties\nspark: spark-defaults.conf\nyarn: yarn-site.xmlFor more information, see Cluster properties.", + "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings:\ncapacity-scheduler: capacity-scheduler.xml\ncore: core-site.xml\ndistcp: distcp-default.xml\nhdfs: hdfs-site.xml\nhive: hive-site.xml\nmapred: mapred-site.xml\npig: pig.properties\nspark: spark-defaults.conf\nyarn: yarn-site.xmlFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).", "type": "object" } }, @@ -3794,7 +3826,7 @@ "id": "SparkJob", "properties": { "archiveUris": { - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", "items": { "type": "string" }, @@ -3808,7 +3840,7 @@ "type": "array" }, "fileUris": { - "description": "Optional. HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. Useful for naively parallel tasks.", + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", "items": { "type": "string" }, @@ -3848,7 +3880,7 @@ "id": "SparkRJob", "properties": { "archiveUris": { - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", "items": { "type": "string" }, @@ -3862,7 +3894,7 @@ "type": "array" }, "fileUris": { - "description": "Optional. HCFS URIs of files to be copied to the working directory of R drivers and distributed tasks. Useful for naively parallel tasks.", + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", "items": { "type": "string" }, @@ -4196,7 +4228,7 @@ "type": "string" }, "parameters": { - "description": "Optional. emplate parameters whose values are substituted into the template. Values for parameters must be provided when the template is instantiated.", + "description": "Optional. Template parameters whose values are substituted into the template. Values for parameters must be provided when the template is instantiated.", "items": { "$ref": "TemplateParameter" }, diff --git a/etc/api/dataproc/v1beta2/dataproc-api.json b/etc/api/dataproc/v1beta2/dataproc-api.json index e6f0eb1b9c..89ca8d1445 100644 --- a/etc/api/dataproc/v1beta2/dataproc-api.json +++ b/etc/api/dataproc/v1beta2/dataproc-api.json @@ -199,7 +199,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -257,7 +257,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.locations.autoscalingPolicies.setIamPolicy", @@ -444,7 +444,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -568,7 +568,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.locations.workflowTemplates.setIamPolicy", @@ -747,7 +747,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -805,7 +805,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.autoscalingPolicies.setIamPolicy", @@ -1068,7 +1068,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -1195,7 +1195,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.clusters.setIamPolicy", @@ -1463,7 +1463,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -1594,7 +1594,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.jobs.setIamPolicy", @@ -1806,7 +1806,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -1869,7 +1869,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.operations.setIamPolicy", @@ -2028,7 +2028,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -2152,7 +2152,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:setIamPolicy", "httpMethod": "POST", "id": "dataproc.projects.regions.workflowTemplates.setIamPolicy", @@ -2242,11 +2242,11 @@ } } }, - "revision": "20200323", + "revision": "20200703", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { - "description": "Specifies the type and number of accelerator cards attached to the instances of an instance group (see GPUs on Compute Engine).", + "description": "Specifies the type and number of accelerator cards attached to the instances of an instance group (see GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/)).", "id": "AcceleratorConfig", "properties": { "acceleratorCount": { @@ -2255,7 +2255,7 @@ "type": "integer" }, "acceleratorTypeUri": { - "description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypesExamples * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * nvidia-tesla-k80Auto Zone Exception: If you are using the Dataproc Auto Zone Placement feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-k80.", + "description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes)Examples * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * nvidia-tesla-k80Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-k80.", "type": "string" } }, @@ -2324,7 +2324,7 @@ "type": "string" }, "scaleDownFactor": { - "description": "Required. Fraction of average pending memory in the last cooldown period for which to remove workers. A scale-down factor of 1 will result in scaling down so that there is no available memory remaining after the update (more aggressive scaling). A scale-down factor of 0 disables removing workers, which can be beneficial for autoscaling a single job.Bounds: 0.0, 1.0.", + "description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to remove workers. A scale-down factor of 1 will result in scaling down so that there is no available memory remaining after the update (more aggressive scaling). A scale-down factor of 0 disables removing workers, which can be beneficial for autoscaling a single job. See How autoscaling works for more information.Bounds: 0.0, 1.0.", "format": "double", "type": "number" }, @@ -2334,7 +2334,7 @@ "type": "number" }, "scaleUpFactor": { - "description": "Required. Fraction of average pending memory in the last cooldown period for which to add workers. A scale-up factor of 1.0 will result in scaling up so that there is no pending memory remaining after the update (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling).Bounds: 0.0, 1.0.", + "description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to add workers. A scale-up factor of 1.0 will result in scaling up so that there is no pending memory remaining after the update (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling). See How autoscaling works for more information.Bounds: 0.0, 1.0.", "format": "double", "type": "number" }, @@ -2352,7 +2352,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." + "description": "The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource. members can have the following values:\nallUsers: A special identifier that represents anyone who is on the internet; with or without a Google account.\nallAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account.\nuser:{emailid}: An email address that represents a specific Google account. For example, alice@example.com .\nserviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.\ngroup:{emailid}: An email address that represents a Google group. For example, admins@example.com.\ndeleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding.\ndeleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding.\ndeleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding.\ndomain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com.", @@ -2428,7 +2428,7 @@ "description": "Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset." }, "configBucket": { - "description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket).", + "description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging bucket (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).", "type": "string" }, "encryptionConfig": { @@ -2474,6 +2474,10 @@ "$ref": "SoftwareConfig", "description": "Optional. The config settings for software inside the cluster." }, + "tempBucket": { + "description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket.", + "type": "string" + }, "workerConfig": { "$ref": "InstanceGroupConfig", "description": "Optional. The Compute Engine config settings for worker instances in a cluster." @@ -2641,7 +2645,10 @@ "RUNNING", "ERROR", "DELETING", - "UPDATING" + "UPDATING", + "STOPPING", + "STOPPED", + "STARTING" ], "enumDescriptions": [ "The cluster state is unknown.", @@ -2649,7 +2656,10 @@ "The cluster is currently running and healthy. It is ready for use.", "The cluster encountered an error. It is not ready for use.", "The cluster is being deleted. It cannot be used.", - "The cluster is being updated. It continues to accept and process jobs." + "The cluster is being updated. It continues to accept and process jobs.", + "The cluster is being stopped. It cannot be used.", + "The cluster is currently stopped. It is not ready for use.", + "The cluster is being started. It is not ready for use." ], "type": "string" }, @@ -2787,7 +2797,7 @@ "type": "object" }, "networkUri": { - "description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see Using Subnetworks for more information).A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default\nprojects/[project_id]/regions/global/default\ndefault", + "description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default\nprojects/[project_id]/regions/global/default\ndefault", "type": "string" }, "reservationAffinity": { @@ -2795,7 +2805,7 @@ "description": "Optional. Reservation Affinity for consuming Zonal reservation." }, "serviceAccount": { - "description": "Optional. The Dataproc service account (also see VM Data Plane identity) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account is used.", + "description": "Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_cloud_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", "type": "string" }, "serviceAccountScopes": { @@ -2810,7 +2820,7 @@ "type": "string" }, "tags": { - "description": "The Compute Engine tags to add to all instances (see Tagging instances).", + "description": "The Compute Engine tags to add to all instances (see Tagging instances (https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).", "items": { "type": "string" }, @@ -2829,7 +2839,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy. This field is only used by Cloud IAM." + "description": "OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy." } }, "type": "object" @@ -2839,7 +2849,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.", + "description": "Optional. The policy format version to be returned.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2989,7 +2999,7 @@ "description": "Optional. Disk option config settings." }, "imageUri": { - "description": "Optional. The Compute Engine image resource used for cluster instances. It can be specified or may be inferred from SoftwareConfig.image_version.", + "description": "Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples:\nhttps://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]\nprojects/[project_id]/global/images/[image-id]\nimage-idImage family examples. Dataproc will use the most recent image from the family:\nhttps://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]\nprojects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default.", "type": "string" }, "instanceNames": { @@ -3004,7 +3014,7 @@ "type": "boolean" }, "machineTypeUri": { - "description": "Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nprojects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nn1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement feature, you must use the short name of the machine type resource, for example, n1-standard-2.", + "description": "Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nprojects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nn1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2.", "type": "string" }, "managedGroupConfig": { @@ -3012,7 +3022,7 @@ "description": "Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups." }, "minCpuPlatform": { - "description": "Specifies the minimum cpu platform for the Instance Group. See Dataproc→Minimum CPU Platform.", + "description": "Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).", "type": "string" }, "numInstances": { @@ -3081,10 +3091,12 @@ "type": "string" }, "hadoopJob": { - "$ref": "HadoopJob" + "$ref": "HadoopJob", + "description": "Optional. Job is a Hadoop job." }, "hiveJob": { - "$ref": "HiveJob" + "$ref": "HiveJob", + "description": "Optional. Job is a Hive job." }, "jobUuid": { "description": "Output only. A UUID that uniquely identifies a job within the project over time. This is in contrast to a user-settable reference.job_id that may be reused over time.", @@ -3098,17 +3110,20 @@ "type": "object" }, "pigJob": { - "$ref": "PigJob" + "$ref": "PigJob", + "description": "Optional. Job is a Pig job." }, "placement": { "$ref": "JobPlacement", "description": "Required. Job information, including how, when, and where to run the job." }, "prestoJob": { - "$ref": "PrestoJob" + "$ref": "PrestoJob", + "description": "Optional. Job is a Presto job." }, "pysparkJob": { - "$ref": "PySparkJob" + "$ref": "PySparkJob", + "description": "Optional. Job is a PySpark job." }, "reference": { "$ref": "JobReference", @@ -3119,13 +3134,16 @@ "description": "Optional. Job scheduling configuration." }, "sparkJob": { - "$ref": "SparkJob" + "$ref": "SparkJob", + "description": "Optional. Job is a Spark job." }, "sparkRJob": { - "$ref": "SparkRJob" + "$ref": "SparkRJob", + "description": "Optional. Job is a SparkR job." }, "sparkSqlJob": { - "$ref": "SparkSqlJob" + "$ref": "SparkSqlJob", + "description": "Optional. Job is a SparkSql job." }, "status": { "$ref": "JobStatus", @@ -3200,7 +3218,7 @@ "type": "string" }, "projectId": { - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "description": "Optional. The ID of the Google Cloud Platform project that the job belongs to. If specified, must match the request project ID.", "type": "string" } }, @@ -3299,7 +3317,7 @@ "type": "string" }, "enableKerberos": { - "description": "Optional. Flag to indicate whether to Kerberize the cluster.", + "description": "Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster.", "type": "boolean" }, "kdcDbKeyUri": { @@ -3596,10 +3614,12 @@ "id": "OrderedJob", "properties": { "hadoopJob": { - "$ref": "HadoopJob" + "$ref": "HadoopJob", + "description": "Optional. Job is a Hadoop job." }, "hiveJob": { - "$ref": "HiveJob" + "$ref": "HiveJob", + "description": "Optional. Job is a Hive job." }, "labels": { "additionalProperties": { @@ -3609,7 +3629,8 @@ "type": "object" }, "pigJob": { - "$ref": "PigJob" + "$ref": "PigJob", + "description": "Optional. Job is a Pig job." }, "prerequisiteStepIds": { "description": "Optional. The optional list of prerequisite job step_ids. If not specified, the job will start at the beginning of workflow.", @@ -3620,24 +3641,27 @@ }, "prestoJob": { "$ref": "PrestoJob", - "description": "Presto job" + "description": "Optional. Job is a Presto job." }, "pysparkJob": { - "$ref": "PySparkJob" + "$ref": "PySparkJob", + "description": "Optional. Job is a PySpark job." }, "scheduling": { "$ref": "JobScheduling", "description": "Optional. Job scheduling configuration." }, "sparkJob": { - "$ref": "SparkJob" + "$ref": "SparkJob", + "description": "Optional. Job is a Spark job." }, "sparkRJob": { "$ref": "SparkRJob", - "description": "Spark R job" + "description": "Optional. Job is a SparkR job." }, "sparkSqlJob": { - "$ref": "SparkSqlJob" + "$ref": "SparkSqlJob", + "description": "Optional. Job is a SparkSql job." }, "stepId": { "description": "Required. The step id. The id must be unique among all jobs within the template.The step id is used as prefix for job id, as job goog-dataproc-workflow-step-id label, and in prerequisiteStepIds field from other steps.The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters.", @@ -3706,7 +3730,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.Optionally, a binding can specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both.JSON example:\n{\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n}\nYAML example:\nbindings:\n- members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n- members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n- etag: BwWWja0YfJA=\n- version: 3\nFor a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members to a single role. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example:\n{\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n}\nYAML example:\nbindings:\n- members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n- members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n- etag: BwWWja0YfJA=\n- version: 3\nFor a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -3722,7 +3746,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that specify an invalid value are rejected.Any operation that affects conditional role bindings must specify version 3. This requirement applies to the following operations:\nGetting a policy that includes a conditional role binding\nAdding a conditional role binding to a policy\nChanging a conditional role binding in a policy\nRemoving any role binding, with or without a condition, from a policy that includes conditionsImportant: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that specify an invalid value are rejected.Any operation that affects conditional role bindings must specify version 3. This requirement applies to the following operations:\nGetting a policy that includes a conditional role binding\nAdding a conditional role binding to a policy\nChanging a conditional role binding in a policy\nRemoving any role binding, with or without a condition, from a policy that includes conditionsImportant: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -3730,7 +3754,7 @@ "type": "object" }, "PrestoJob": { - "description": "A Dataproc job for running Presto (https://prestosql.io/) queries", + "description": "A Dataproc job for running Presto (https://prestosql.io/) queries. IMPORTANT: The Dataproc Presto Optional Component (https://cloud.google.com/dataproc/docs/concepts/components/presto) must be enabled when the cluster is created to submit a Presto job to the cluster.", "id": "PrestoJob", "properties": { "clientTags": { @@ -3775,7 +3799,7 @@ "id": "PySparkJob", "properties": { "archiveUris": { - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip.", + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", "items": { "type": "string" }, @@ -3789,7 +3813,7 @@ "type": "array" }, "fileUris": { - "description": "Optional. HCFS URIs of files to be copied to the working directory of Python drivers and distributed tasks. Useful for naively parallel tasks.", + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", "items": { "type": "string" }, @@ -3916,13 +3940,13 @@ "id": "SoftwareConfig", "properties": { "imageVersion": { - "description": "Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions, such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version. If unspecified, it defaults to the latest Debian version.", + "description": "Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_cloud_dataproc_versions), such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.", "type": "string" }, "optionalComponents": { "description": "The set of optional components to activate on the cluster.", "enumDescriptions": [ - "Unspecified component.", + "Unspecified component. Specifying this will cause Cluster creation to fail.", "The Anaconda python distribution.", "The Druid query engine.", "HBase.", @@ -3958,7 +3982,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings:\ncapacity-scheduler: capacity-scheduler.xml\ncore: core-site.xml\ndistcp: distcp-default.xml\nhdfs: hdfs-site.xml\nhive: hive-site.xml\nmapred: mapred-site.xml\npig: pig.properties\nspark: spark-defaults.conf\nyarn: yarn-site.xmlFor more information, see Cluster properties.", + "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings:\ncapacity-scheduler: capacity-scheduler.xml\ncore: core-site.xml\ndistcp: distcp-default.xml\nhdfs: hdfs-site.xml\nhive: hive-site.xml\nmapred: mapred-site.xml\npig: pig.properties\nspark: spark-defaults.conf\nyarn: yarn-site.xmlFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).", "type": "object" } }, @@ -3969,7 +3993,7 @@ "id": "SparkJob", "properties": { "archiveUris": { - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", "items": { "type": "string" }, @@ -3983,7 +4007,7 @@ "type": "array" }, "fileUris": { - "description": "Optional. HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. Useful for naively parallel tasks.", + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", "items": { "type": "string" }, @@ -4023,7 +4047,7 @@ "id": "SparkRJob", "properties": { "archiveUris": { - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", "items": { "type": "string" }, @@ -4037,7 +4061,7 @@ "type": "array" }, "fileUris": { - "description": "Optional. HCFS URIs of files to be copied to the working directory of R drivers and distributed tasks. Useful for naively parallel tasks.", + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", "items": { "type": "string" }, @@ -4271,6 +4295,21 @@ "$ref": "ClusterOperation", "description": "Output only. The create cluster operation metadata." }, + "dagEndTime": { + "description": "Output only. DAG end time, only set for workflows with dag_timeout when DAG ends.", + "format": "google-datetime", + "type": "string" + }, + "dagStartTime": { + "description": "Output only. DAG start time, only set for workflows with dag_timeout when DAG begins.", + "format": "google-datetime", + "type": "string" + }, + "dagTimeout": { + "description": "Output only. The timeout duration for the DAG of jobs. Minimum timeout duration is 10 minutes and maximum is 24 hours, expressed as a google.protobuf.Duration. For example, \"1800\" = 1800 seconds/30 minutes duration.", + "format": "google-duration", + "type": "string" + }, "deleteCluster": { "$ref": "ClusterOperation", "description": "Output only. The delete cluster operation metadata." @@ -4379,6 +4418,11 @@ "format": "google-datetime", "type": "string" }, + "dagTimeout": { + "description": "Optional. Timeout for DAG of jobs. The timer begins when the first job is submitted. Minimum duration of 10 minutes, max of 24 hours.", + "format": "google-duration", + "type": "string" + }, "id": { "description": "Required. The template id.The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters..", "type": "string" diff --git a/etc/api/datastore/v1/datastore-api.json b/etc/api/datastore/v1/datastore-api.json index 342d505a80..5e147384c2 100644 --- a/etc/api/datastore/v1/datastore-api.json +++ b/etc/api/datastore/v1/datastore-api.json @@ -625,7 +625,7 @@ } } }, - "revision": "20200311", + "revision": "20200524", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "AllocateIdsRequest": { @@ -2038,7 +2038,7 @@ "type": "string" }, "stringValue": { - "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at least 1,000,000 bytes.", + "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at most 1,000,000 bytes.", "type": "string" }, "timestampValue": { diff --git a/etc/api/datastore/v1beta1/datastore-api.json b/etc/api/datastore/v1beta1/datastore-api.json index 323f9c4b37..9cc71c4068 100644 --- a/etc/api/datastore/v1beta1/datastore-api.json +++ b/etc/api/datastore/v1beta1/datastore-api.json @@ -167,7 +167,7 @@ } } }, - "revision": "20200311", + "revision": "20200524", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "GoogleDatastoreAdminV1CommonMetadata": { diff --git a/etc/api/datastore/v1beta3/datastore-api.json b/etc/api/datastore/v1beta3/datastore-api.json index b715bb5635..a58e204090 100644 --- a/etc/api/datastore/v1beta3/datastore-api.json +++ b/etc/api/datastore/v1beta3/datastore-api.json @@ -307,7 +307,7 @@ } } }, - "revision": "20200311", + "revision": "20200524", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "AllocateIdsRequest": { @@ -1489,7 +1489,7 @@ "type": "string" }, "stringValue": { - "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at least 1,000,000 bytes.", + "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at most 1,000,000 bytes.", "type": "string" }, "timestampValue": { diff --git a/etc/api/deploymentmanager/alpha/deploymentmanager-api.json b/etc/api/deploymentmanager/alpha/deploymentmanager-api.json index a900f80a14..2d2a5d2b32 100644 --- a/etc/api/deploymentmanager/alpha/deploymentmanager-api.json +++ b/etc/api/deploymentmanager/alpha/deploymentmanager-api.json @@ -24,7 +24,7 @@ "description": "The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/deployment-manager/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/OmfS0K_Z1wKMS2BW_65KIAugN-I\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/63EX9BnMLuhjIkgK6mld1yuMPoE\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -188,25 +188,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -216,6 +216,11 @@ "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])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/global/compositeTypes", @@ -230,7 +235,7 @@ ] }, "patch": { - "description": "Updates a composite type. This method supports patch semantics.", + "description": "Patches a composite type.", "httpMethod": "PATCH", "id": "deploymentmanager.compositeTypes.patch", "parameterOrder": [ @@ -431,6 +436,12 @@ "resource" ], "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -480,7 +491,7 @@ "type": "string" }, "preview": { - "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.", + "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", "type": "boolean" }, @@ -513,25 +524,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -541,6 +552,11 @@ "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])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/global/deployments", @@ -555,7 +571,7 @@ ] }, "patch": { - "description": "Updates a deployment and all of the resources described by the deployment manifest. This method supports patch semantics.", + "description": "Patches a deployment and all of the resources described by the deployment manifest.", "httpMethod": "PATCH", "id": "deploymentmanager.deployments.patch", "parameterOrder": [ @@ -602,7 +618,7 @@ }, "preview": { "default": "false", - "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 will look 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.", + "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 will look 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.", "location": "query", "type": "boolean" }, @@ -782,7 +798,7 @@ }, "preview": { "default": "false", - "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 will look 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.", + "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 will look 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.", "location": "query", "type": "boolean" }, @@ -870,25 +886,25 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -898,6 +914,11 @@ "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])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/global/deployments/{deployment}/manifests", @@ -958,25 +979,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -986,6 +1007,11 @@ "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])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/global/operations", @@ -1062,25 +1088,25 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1090,6 +1116,11 @@ "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])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/global/deployments/{deployment}/resources", @@ -1254,25 +1285,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1282,6 +1313,11 @@ "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])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/global/typeProviders", @@ -1305,25 +1341,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1334,6 +1370,11 @@ "required": true, "type": "string" }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" + }, "typeProvider": { "description": "The name of the type provider for this request.", "location": "path", @@ -1354,7 +1395,7 @@ ] }, "patch": { - "description": "Updates a type provider. This method supports patch semantics.", + "description": "Patches a type provider.", "httpMethod": "PATCH", "id": "deploymentmanager.typeProviders.patch", "parameterOrder": [ @@ -1429,39 +1470,6 @@ }, "types": { "methods": { - "delete": { - "description": "Deletes a type and all of the resources in the type.", - "httpMethod": "DELETE", - "id": "deploymentmanager.types.delete", - "parameterOrder": [ - "project", - "type" - ], - "parameters": { - "project": { - "description": "The project ID for this request.", - "location": "path", - "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])?))", - "required": true, - "type": "string" - }, - "type": { - "description": "The name of the type for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "{project}/global/types/{type}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.cloudman" - ] - }, "get": { "description": "Gets information about a specific type.", "httpMethod": "GET", @@ -1497,34 +1505,6 @@ "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] }, - "insert": { - "description": "Creates a type.", - "httpMethod": "POST", - "id": "deploymentmanager.types.insert", - "parameterOrder": [ - "project" - ], - "parameters": { - "project": { - "description": "The project ID for this request.", - "location": "path", - "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])?))", - "required": true, - "type": "string" - } - }, - "path": "{project}/global/types", - "request": { - "$ref": "Type" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.cloudman" - ] - }, "list": { "description": "Lists all resource types for Deployment Manager.", "httpMethod": "GET", @@ -1534,25 +1514,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1562,6 +1542,11 @@ "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])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false and the logic is the same as today.", + "location": "query", + "type": "boolean" } }, "path": "{project}/global/types", @@ -1574,83 +1559,11 @@ "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] - }, - "patch": { - "description": "Updates a type. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "deploymentmanager.types.patch", - "parameterOrder": [ - "project", - "type" - ], - "parameters": { - "project": { - "description": "The project ID for this request.", - "location": "path", - "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])?))", - "required": true, - "type": "string" - }, - "type": { - "description": "The name of the type for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "{project}/global/types/{type}", - "request": { - "$ref": "Type" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.cloudman" - ] - }, - "update": { - "description": "Updates a type.", - "httpMethod": "PUT", - "id": "deploymentmanager.types.update", - "parameterOrder": [ - "project", - "type" - ], - "parameters": { - "project": { - "description": "The project ID for this request.", - "location": "path", - "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])?))", - "required": true, - "type": "string" - }, - "type": { - "description": "The name of the type for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "{project}/global/types/{type}", - "request": { - "$ref": "Type" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.cloudman" - ] } } } }, - "revision": "20181207", + "revision": "20200512", "rootUrl": "https://www.googleapis.com/", "schemas": { "AsyncOptions": { @@ -1669,7 +1582,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:foo@gmail.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:bar@gmail.com\" ] } ] } ] }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, and bar@gmail.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"sampleservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1694,7 +1607,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:foo@gmail.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting foo@gmail.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1704,6 +1617,10 @@ }, "type": "array" }, + "ignoreChildExemptions": { + "description": "", + "type": "boolean" + }, "logType": { "description": "The log type that this config enables.", "type": "string" @@ -1741,10 +1658,10 @@ "properties": { "condition": { "$ref": "Expr", - "description": "Unimplemented. The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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` .\n\n\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\n\n* `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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@example.com` .\n\n\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* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", "items": { "type": "string" }, @@ -1793,14 +1710,14 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "CompositeTypeLabelEntry" }, "type": "array" }, "name": { - "description": "Name of the composite type, must follow the expression: [a-z]([-a-z0-9_.]{0,61}[a-z0-9])?.", + "description": "Name of the composite type, must follow the expression: `[a-z]([-a-z0-9_.]{0,61}[a-z0-9])?`.", "type": "string" }, "operation": { @@ -1871,12 +1788,8 @@ "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", "type": "string" }, - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - }, "values": { - "description": "The objects of the condition. This is mutually exclusive with 'value'.", + "description": "The objects of the condition.", "items": { "type": "string" }, @@ -1954,7 +1867,7 @@ "type": "string" }, "fingerprint": { - "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.", + "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", "type": "string" }, @@ -1967,18 +1880,18 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "DeploymentLabelEntry" }, "type": "array" }, "manifest": { - "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed.", + "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed. If no manifest has been successfully deployed, this field will be absent.", "type": "string" }, "name": { - "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.", + "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.", "type": "string" }, "operation": { @@ -1986,9 +1899,9 @@ "description": "Output only. The Operation that most recently ran, or is currently running, on this deployment." }, "outputs": { - "description": "Output only. Map of outputs from the last manifest that deployed successfully.", + "description": "Output only. List of outputs from the last manifest that deployed successfully.", "items": { - "$ref": "DeploymentOutputsEntry" + "$ref": "DeploymentOutputEntry" }, "type": "array" }, @@ -2023,13 +1936,16 @@ }, "type": "object" }, - "DeploymentOutputsEntry": { - "id": "DeploymentOutputsEntry", + "DeploymentOutputEntry": { + "description": "Output object for Deployments", + "id": "DeploymentOutputEntry", "properties": { "key": { + "description": "Key of the output", "type": "string" }, "value": { + "description": "Value of the label", "type": "string" } }, @@ -2048,7 +1964,7 @@ "type": "string" }, "labels": { - "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "DeploymentUpdateLabelEntry" }, @@ -2078,7 +1994,7 @@ "id": "DeploymentsCancelPreviewRequest", "properties": { "fingerprint": { - "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 on the deployment.", + "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 on the deployment.", "format": "byte", "type": "string" } @@ -2108,7 +2024,7 @@ "id": "DeploymentsStopRequest", "properties": { "fingerprint": { - "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 on the deployment.", + "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 on the deployment.", "format": "byte", "type": "string" } @@ -2131,23 +2047,23 @@ "type": "object" }, "Expr": { - "description": "Represents an expression text. Example:\n\ntitle: \"User account presence\" description: \"Determines whether the request has a user account\" expression: \"size(request.user) > 0\"", + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\ntitle: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\ntitle: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\ntitle: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\ntitle: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", "properties": { "description": { - "description": "An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", "type": "string" }, "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.\n\nThe application context of the containing message determines which well-known feature set of CEL is supported.", + "description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, "location": { - "description": "An optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", "type": "string" }, "title": { - "description": "An optional title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", "type": "string" } }, @@ -2248,9 +2164,16 @@ "type": "object" }, "LogConfigCounterOptions": { - "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric 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.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nSupported field names: - \"authority\", which is \"[token]\" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - \"iam_principal\", a representation of IAMContext.principal even if a token or authority selector is present; or - \"\" (empty string), resulting in a counter with no fields.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==> increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support multiple field names (though this may be supported in the future).", + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric 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.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nSupported field names: - \"authority\", which is \"[token]\" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - \"iam_principal\", a representation of IAMContext.principal even if a token or authority selector is present; or - \"\" (empty string), resulting in a counter with no fields.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==> increment counter /iam/policy/debug_access_count {iam_principal=[value of IAMContext.principal]}", "id": "LogConfigCounterOptions", "properties": { + "customFields": { + "description": "Custom fields.", + "items": { + "$ref": "LogConfigCounterOptionsCustomField" + }, + "type": "array" + }, "field": { "description": "The field value to attribute.", "type": "string" @@ -2262,12 +2185,27 @@ }, "type": "object" }, + "LogConfigCounterOptionsCustomField": { + "description": "Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.", + "id": "LogConfigCounterOptionsCustomField", + "properties": { + "name": { + "description": "Name is the field name.", + "type": "string" + }, + "value": { + "description": "Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.", + "type": "string" + } + }, + "type": "object" + }, "LogConfigDataAccessOptions": { "description": "Write a Data Access (Gin) log", "id": "LogConfigDataAccessOptions", "properties": { "logMode": { - "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is relevant only in the LocalIAM implementation, for now.\n\nNOTE: Logging to Gin in a fail-closed manner is currently unsupported while work is being done to satisfy the requirements of go/345. Currently, setting LOG_FAIL_CLOSED mode will have no effect, but still exists because there is active work being done to support it (b/115874152).", + "description": "", "type": "string" } }, @@ -2361,7 +2299,7 @@ "type": "object" }, "Operation": { - "description": "An Operation resource, used to manage asynchronous API requests. (== resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==) (== resource_for v1.regionOperations ==) (== resource_for beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for beta.zoneOperations ==)", + "description": "Represents an Operation resource.\n\nGoogle Compute Engine has three Operation resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)\n\nYou can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.\n\nOperations can be global, regional or zonal. \n- For global operations, use the `globalOperations` resource. \n- For regional operations, use the `regionOperations` resource. \n- For zonal operations, use the `zonalOperations` resource. \n\nFor more information, read Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)", "id": "Operation", "properties": { "clientOperationId": { @@ -2408,16 +2346,16 @@ "type": "object" }, "httpErrorMessage": { - "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND.", + "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.", "type": "string" }, "httpErrorStatusCode": { - "description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found.", + "description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.", "format": "int32", "type": "integer" }, "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "description": "[Output Only] The unique identifier for the operation. This identifier is defined by the server.", "format": "uint64", "type": "string" }, @@ -2427,15 +2365,15 @@ }, "kind": { "default": "deploymentmanager#operation", - "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.", "type": "string" }, "name": { - "description": "[Output Only] Name of the resource.", + "description": "[Output Only] Name of the operation.", "type": "string" }, "operationType": { - "description": "[Output Only] The type of operation, such as insert, update, or delete, and so on.", + "description": "[Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.", "type": "string" }, "progress": { @@ -2444,19 +2382,23 @@ "type": "integer" }, "region": { - "description": "[Output Only] The URL of the region where the operation resides. Only available when performing regional operations. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.", "type": "string" }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, "startTime": { "description": "[Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.", "type": "string" }, "status": { - "description": "[Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE.", + "description": "[Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.", "type": "string" }, "statusMessage": { @@ -2473,7 +2415,7 @@ "type": "string" }, "user": { - "description": "[Output Only] User who requested the operation, for example: user@example.com.", + "description": "[Output Only] User who requested the operation, for example: `user@example.com`.", "type": "string" }, "warnings": { @@ -2511,7 +2453,7 @@ "type": "array" }, "zone": { - "description": "[Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.", "type": "string" } }, @@ -2565,7 +2507,7 @@ "type": "object" }, "Policy": { - "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**JSON 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\n**YAML Example**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com role: roles/owner - members: - user:sean@example.com role: roles/viewer\n\n\n\nFor a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam/docs).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n{ \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 }\n\n**YAML example:**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -2576,14 +2518,14 @@ "type": "array" }, "bindings": { - "description": "Associates a list of `members` to a `role`. `bindings` with no members will result in an error.", + "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.", "items": { "$ref": "Binding" }, "type": "array" }, "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", "format": "byte", "type": "string" }, @@ -2599,7 +2541,7 @@ "type": "array" }, "version": { - "description": "Deprecated.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2680,7 +2622,7 @@ "type": "array" }, "type": { - "description": "Output only. The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function.", + "description": "Output only. The type of the resource, for example `compute.v1.instance`, or `cloudfunctions.v1beta1.function`.", "type": "string" }, "update": { @@ -2787,7 +2729,7 @@ "type": "string" }, "intent": { - "description": "Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL.", + "description": "Output only. The intent of the resource: `PREVIEW`, `UPDATE`, or `CANCEL`.", "type": "string" }, "manifest": { @@ -3020,7 +2962,7 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "TypeLabelEntry" }, @@ -3054,7 +2996,7 @@ "type": "string" }, "kind": { - "description": "Output only. Type of the output. Always deploymentManager#TypeInfo for TypeInfo.", + "description": "Output only. Type of the output. Always `deploymentManager#TypeInfo` for TypeInfo.", "type": "string" }, "name": { @@ -3118,6 +3060,13 @@ "$ref": "Credential", "description": "Credential used when interacting with this type." }, + "customCertificateAuthorityRoots": { + "description": "List of up to 2 custom certificate authority roots to use for TLS authentication when making calls on behalf of this type provider. If set, TLS authentication will exclusively use these roots instead of relying on publicly trusted certificate authorities when validating TLS certificate authenticity. The certificates must be in base64-encoded PEM format. The maximum size of each certificate must not exceed 10KB.", + "items": { + "type": "string" + }, + "type": "array" + }, "description": { "description": "An optional textual description of the resource; provided by the client when the resource is created.", "type": "string" @@ -3136,14 +3085,14 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "TypeProviderLabelEntry" }, "type": "array" }, "name": { - "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.", + "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.", "type": "string" }, "operation": { diff --git a/etc/api/deploymentmanager/v2/deploymentmanager-api.json b/etc/api/deploymentmanager/v2/deploymentmanager-api.json index 7fa79dff32..5e08699e00 100644 --- a/etc/api/deploymentmanager/v2/deploymentmanager-api.json +++ b/etc/api/deploymentmanager/v2/deploymentmanager-api.json @@ -24,7 +24,7 @@ "description": "Declares, configures, and deploys complex solutions on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/deployment-manager/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/mx4kSCi5JnN1R9XewhgmOLsHV0s\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/rm2hC5Ge9lVw-ih0zrA9raUXK0c\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -256,7 +256,7 @@ "type": "string" }, "preview": { - "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.", + "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", "type": "boolean" }, @@ -289,25 +289,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -331,7 +331,7 @@ ] }, "patch": { - "description": "Updates a deployment and all of the resources described by the deployment manifest. This method supports patch semantics.", + "description": "Patches a deployment and all of the resources described by the deployment manifest.", "httpMethod": "PATCH", "id": "deploymentmanager.deployments.patch", "parameterOrder": [ @@ -376,7 +376,7 @@ }, "preview": { "default": "false", - "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 will look 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.", + "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 will look 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.", "location": "query", "type": "boolean" }, @@ -554,7 +554,7 @@ }, "preview": { "default": "false", - "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 will look 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.", + "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 will look 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.", "location": "query", "type": "boolean" }, @@ -642,25 +642,25 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -730,25 +730,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -834,25 +834,25 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -888,25 +888,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -932,11 +932,11 @@ } } }, - "revision": "20181207", + "revision": "20200512", "rootUrl": "https://www.googleapis.com/", "schemas": { "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:foo@gmail.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:bar@gmail.com\" ] } ] } ] }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, and bar@gmail.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"sampleservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -961,7 +961,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:foo@gmail.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting foo@gmail.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -971,6 +971,10 @@ }, "type": "array" }, + "ignoreChildExemptions": { + "description": "", + "type": "boolean" + }, "logType": { "description": "The log type that this config enables.", "type": "string" @@ -995,10 +999,10 @@ "properties": { "condition": { "$ref": "Expr", - "description": "Unimplemented. The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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` .\n\n\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\n\n* `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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@example.com` .\n\n\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* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", "items": { "type": "string" }, @@ -1031,12 +1035,8 @@ "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", "type": "string" }, - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - }, "values": { - "description": "The objects of the condition. This is mutually exclusive with 'value'.", + "description": "The objects of the condition.", "items": { "type": "string" }, @@ -1065,7 +1065,7 @@ "type": "string" }, "fingerprint": { - "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.", + "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", "type": "string" }, @@ -1078,18 +1078,18 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "DeploymentLabelEntry" }, "type": "array" }, "manifest": { - "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed.", + "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed. If no manifest has been successfully deployed, this field will be absent.", "type": "string" }, "name": { - "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.", + "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.", "type": "string" }, "operation": { @@ -1136,7 +1136,7 @@ "type": "string" }, "labels": { - "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "DeploymentUpdateLabelEntry" }, @@ -1166,7 +1166,7 @@ "id": "DeploymentsCancelPreviewRequest", "properties": { "fingerprint": { - "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 on the deployment.", + "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 on the deployment.", "format": "byte", "type": "string" } @@ -1196,7 +1196,7 @@ "id": "DeploymentsStopRequest", "properties": { "fingerprint": { - "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 on the deployment.", + "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 on the deployment.", "format": "byte", "type": "string" } @@ -1204,23 +1204,23 @@ "type": "object" }, "Expr": { - "description": "Represents an expression text. Example:\n\ntitle: \"User account presence\" description: \"Determines whether the request has a user account\" expression: \"size(request.user) > 0\"", + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\ntitle: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\ntitle: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\ntitle: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\ntitle: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", "properties": { "description": { - "description": "An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", "type": "string" }, "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.\n\nThe application context of the containing message determines which well-known feature set of CEL is supported.", + "description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, "location": { - "description": "An optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", "type": "string" }, "title": { - "description": "An optional title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", "type": "string" } }, @@ -1298,9 +1298,16 @@ "type": "object" }, "LogConfigCounterOptions": { - "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric 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.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nSupported field names: - \"authority\", which is \"[token]\" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - \"iam_principal\", a representation of IAMContext.principal even if a token or authority selector is present; or - \"\" (empty string), resulting in a counter with no fields.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==> increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support multiple field names (though this may be supported in the future).", + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric 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.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nSupported field names: - \"authority\", which is \"[token]\" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - \"iam_principal\", a representation of IAMContext.principal even if a token or authority selector is present; or - \"\" (empty string), resulting in a counter with no fields.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==> increment counter /iam/policy/debug_access_count {iam_principal=[value of IAMContext.principal]}", "id": "LogConfigCounterOptions", "properties": { + "customFields": { + "description": "Custom fields.", + "items": { + "$ref": "LogConfigCounterOptionsCustomField" + }, + "type": "array" + }, "field": { "description": "The field value to attribute.", "type": "string" @@ -1312,12 +1319,27 @@ }, "type": "object" }, + "LogConfigCounterOptionsCustomField": { + "description": "Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.", + "id": "LogConfigCounterOptionsCustomField", + "properties": { + "name": { + "description": "Name is the field name.", + "type": "string" + }, + "value": { + "description": "Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.", + "type": "string" + } + }, + "type": "object" + }, "LogConfigDataAccessOptions": { "description": "Write a Data Access (Gin) log", "id": "LogConfigDataAccessOptions", "properties": { "logMode": { - "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is relevant only in the LocalIAM implementation, for now.\n\nNOTE: Logging to Gin in a fail-closed manner is currently unsupported while work is being done to satisfy the requirements of go/345. Currently, setting LOG_FAIL_CLOSED mode will have no effect, but still exists because there is active work being done to support it (b/115874152).", + "description": "", "type": "string" } }, @@ -1384,7 +1406,7 @@ "type": "object" }, "Operation": { - "description": "An Operation resource, used to manage asynchronous API requests. (== resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==) (== resource_for v1.regionOperations ==) (== resource_for beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for beta.zoneOperations ==)", + "description": "Represents an Operation resource.\n\nGoogle Compute Engine has three Operation resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)\n\nYou can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.\n\nOperations can be global, regional or zonal. \n- For global operations, use the `globalOperations` resource. \n- For regional operations, use the `regionOperations` resource. \n- For zonal operations, use the `zonalOperations` resource. \n\nFor more information, read Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)", "id": "Operation", "properties": { "clientOperationId": { @@ -1431,16 +1453,16 @@ "type": "object" }, "httpErrorMessage": { - "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND.", + "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.", "type": "string" }, "httpErrorStatusCode": { - "description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found.", + "description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.", "format": "int32", "type": "integer" }, "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "description": "[Output Only] The unique identifier for the operation. This identifier is defined by the server.", "format": "uint64", "type": "string" }, @@ -1450,15 +1472,15 @@ }, "kind": { "default": "deploymentmanager#operation", - "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.", "type": "string" }, "name": { - "description": "[Output Only] Name of the resource.", + "description": "[Output Only] Name of the operation.", "type": "string" }, "operationType": { - "description": "[Output Only] The type of operation, such as insert, update, or delete, and so on.", + "description": "[Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.", "type": "string" }, "progress": { @@ -1467,7 +1489,7 @@ "type": "integer" }, "region": { - "description": "[Output Only] The URL of the region where the operation resides. Only available when performing regional operations. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.", "type": "string" }, "selfLink": { @@ -1479,7 +1501,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE.", + "description": "[Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.", "type": "string" }, "statusMessage": { @@ -1496,7 +1518,7 @@ "type": "string" }, "user": { - "description": "[Output Only] User who requested the operation, for example: user@example.com.", + "description": "[Output Only] User who requested the operation, for example: `user@example.com`.", "type": "string" }, "warnings": { @@ -1534,7 +1556,7 @@ "type": "array" }, "zone": { - "description": "[Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.", "type": "string" } }, @@ -1559,7 +1581,7 @@ "type": "object" }, "Policy": { - "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**JSON 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\n**YAML Example**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com role: roles/owner - members: - user:sean@example.com role: roles/viewer\n\n\n\nFor a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam/docs).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n{ \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 }\n\n**YAML example:**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -1570,14 +1592,14 @@ "type": "array" }, "bindings": { - "description": "Associates a list of `members` to a `role`. `bindings` with no members will result in an error.", + "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.", "items": { "$ref": "Binding" }, "type": "array" }, "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", "format": "byte", "type": "string" }, @@ -1593,7 +1615,7 @@ "type": "array" }, "version": { - "description": "Deprecated.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1633,7 +1655,7 @@ "type": "string" }, "type": { - "description": "Output only. The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function.", + "description": "Output only. The type of the resource, for example `compute.v1.instance`, or `cloudfunctions.v1beta1.function`.", "type": "string" }, "update": { @@ -1736,7 +1758,7 @@ "type": "string" }, "intent": { - "description": "Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL.", + "description": "Output only. The intent of the resource: `PREVIEW`, `UPDATE`, or `CANCEL`.", "type": "string" }, "manifest": { diff --git a/etc/api/deploymentmanager/v2beta/deploymentmanager-api.json b/etc/api/deploymentmanager/v2beta/deploymentmanager-api.json index 5493c82e80..978f32732e 100644 --- a/etc/api/deploymentmanager/v2beta/deploymentmanager-api.json +++ b/etc/api/deploymentmanager/v2beta/deploymentmanager-api.json @@ -24,7 +24,7 @@ "description": "The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/deployment-manager/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/YoLKMCopNCizJ_CWKjyBdDdQP1k\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/XcbOzngoh8gZXdZugVBduEYcx6w\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -188,25 +188,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -230,7 +230,7 @@ ] }, "patch": { - "description": "Updates a composite type. This method supports patch semantics.", + "description": "Patches a composite type.", "httpMethod": "PATCH", "id": "deploymentmanager.compositeTypes.patch", "parameterOrder": [ @@ -480,7 +480,7 @@ "type": "string" }, "preview": { - "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.", + "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", "type": "boolean" }, @@ -513,25 +513,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -555,7 +555,7 @@ ] }, "patch": { - "description": "Updates a deployment and all of the resources described by the deployment manifest. This method supports patch semantics.", + "description": "Patches a deployment and all of the resources described by the deployment manifest.", "httpMethod": "PATCH", "id": "deploymentmanager.deployments.patch", "parameterOrder": [ @@ -602,7 +602,7 @@ }, "preview": { "default": "false", - "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 will look 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.", + "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 will look 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.", "location": "query", "type": "boolean" }, @@ -782,7 +782,7 @@ }, "preview": { "default": "false", - "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 will look 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.", + "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 will look 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.", "location": "query", "type": "boolean" }, @@ -870,25 +870,25 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -958,25 +958,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1062,25 +1062,25 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1254,25 +1254,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1305,25 +1305,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1354,7 +1354,7 @@ ] }, "patch": { - "description": "Updates a type provider. This method supports patch semantics.", + "description": "Patches a type provider.", "httpMethod": "PATCH", "id": "deploymentmanager.typeProviders.patch", "parameterOrder": [ @@ -1438,25 +1438,25 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.\n\nYou can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true).", + "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```", "location": "query", "type": "string" }, "maxResults": { "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", "format": "uint32", "location": "query", "minimum": "0", "type": "integer" }, "orderBy": { - "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.", + "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", "type": "string" }, "pageToken": { - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -1482,7 +1482,7 @@ } } }, - "revision": "20181207", + "revision": "20200512", "rootUrl": "https://www.googleapis.com/", "schemas": { "AsyncOptions": { @@ -1501,7 +1501,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:foo@gmail.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:bar@gmail.com\" ] } ] } ] }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging, and bar@gmail.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"audit_configs\": [ { \"service\": \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": \"sampleservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1526,7 +1526,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:foo@gmail.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting foo@gmail.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\", } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1536,6 +1536,10 @@ }, "type": "array" }, + "ignoreChildExemptions": { + "description": "", + "type": "boolean" + }, "logType": { "description": "The log type that this config enables.", "type": "string" @@ -1599,10 +1603,10 @@ "properties": { "condition": { "$ref": "Expr", - "description": "Unimplemented. The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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` .\n\n\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\n\n* `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\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@example.com` .\n\n\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* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", "items": { "type": "string" }, @@ -1647,14 +1651,14 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "CompositeTypeLabelEntry" }, "type": "array" }, "name": { - "description": "Name of the composite type, must follow the expression: [a-z]([-a-z0-9_.]{0,61}[a-z0-9])?.", + "description": "Name of the composite type, must follow the expression: `[a-z]([-a-z0-9_.]{0,61}[a-z0-9])?`.", "type": "string" }, "operation": { @@ -1725,12 +1729,8 @@ "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", "type": "string" }, - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - }, "values": { - "description": "The objects of the condition. This is mutually exclusive with 'value'.", + "description": "The objects of the condition.", "items": { "type": "string" }, @@ -1778,7 +1778,7 @@ "type": "string" }, "fingerprint": { - "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.", + "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", "type": "string" }, @@ -1791,18 +1791,18 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "DeploymentLabelEntry" }, "type": "array" }, "manifest": { - "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed.", + "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed. If no manifest has been successfully deployed, this field will be absent.", "type": "string" }, "name": { - "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.", + "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.", "type": "string" }, "operation": { @@ -1849,7 +1849,7 @@ "type": "string" }, "labels": { - "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "DeploymentUpdateLabelEntry" }, @@ -1879,7 +1879,7 @@ "id": "DeploymentsCancelPreviewRequest", "properties": { "fingerprint": { - "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 on the deployment.", + "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 on the deployment.", "format": "byte", "type": "string" } @@ -1909,7 +1909,7 @@ "id": "DeploymentsStopRequest", "properties": { "fingerprint": { - "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 on the deployment.", + "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 on the deployment.", "format": "byte", "type": "string" } @@ -1932,23 +1932,23 @@ "type": "object" }, "Expr": { - "description": "Represents an expression text. Example:\n\ntitle: \"User account presence\" description: \"Determines whether the request has a user account\" expression: \"size(request.user) > 0\"", + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\ntitle: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\ntitle: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\ntitle: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\ntitle: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", "properties": { "description": { - "description": "An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", "type": "string" }, "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.\n\nThe application context of the containing message determines which well-known feature set of CEL is supported.", + "description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, "location": { - "description": "An optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", "type": "string" }, "title": { - "description": "An optional title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", "type": "string" } }, @@ -2049,9 +2049,16 @@ "type": "object" }, "LogConfigCounterOptions": { - "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric 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.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nSupported field names: - \"authority\", which is \"[token]\" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - \"iam_principal\", a representation of IAMContext.principal even if a token or authority selector is present; or - \"\" (empty string), resulting in a counter with no fields.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==> increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support multiple field names (though this may be supported in the future).", + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric 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.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nSupported field names: - \"authority\", which is \"[token]\" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - \"iam_principal\", a representation of IAMContext.principal even if a token or authority selector is present; or - \"\" (empty string), resulting in a counter with no fields.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==> increment counter /iam/policy/debug_access_count {iam_principal=[value of IAMContext.principal]}", "id": "LogConfigCounterOptions", "properties": { + "customFields": { + "description": "Custom fields.", + "items": { + "$ref": "LogConfigCounterOptionsCustomField" + }, + "type": "array" + }, "field": { "description": "The field value to attribute.", "type": "string" @@ -2063,12 +2070,27 @@ }, "type": "object" }, + "LogConfigCounterOptionsCustomField": { + "description": "Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.", + "id": "LogConfigCounterOptionsCustomField", + "properties": { + "name": { + "description": "Name is the field name.", + "type": "string" + }, + "value": { + "description": "Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.", + "type": "string" + } + }, + "type": "object" + }, "LogConfigDataAccessOptions": { "description": "Write a Data Access (Gin) log", "id": "LogConfigDataAccessOptions", "properties": { "logMode": { - "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is relevant only in the LocalIAM implementation, for now.\n\nNOTE: Logging to Gin in a fail-closed manner is currently unsupported while work is being done to satisfy the requirements of go/345. Currently, setting LOG_FAIL_CLOSED mode will have no effect, but still exists because there is active work being done to support it (b/115874152).", + "description": "", "type": "string" } }, @@ -2135,7 +2157,7 @@ "type": "object" }, "Operation": { - "description": "An Operation resource, used to manage asynchronous API requests. (== resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==) (== resource_for v1.regionOperations ==) (== resource_for beta.regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for beta.zoneOperations ==)", + "description": "Represents an Operation resource.\n\nGoogle Compute Engine has three Operation resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)\n\nYou can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.\n\nOperations can be global, regional or zonal. \n- For global operations, use the `globalOperations` resource. \n- For regional operations, use the `regionOperations` resource. \n- For zonal operations, use the `zonalOperations` resource. \n\nFor more information, read Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)", "id": "Operation", "properties": { "clientOperationId": { @@ -2182,16 +2204,16 @@ "type": "object" }, "httpErrorMessage": { - "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND.", + "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.", "type": "string" }, "httpErrorStatusCode": { - "description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found.", + "description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.", "format": "int32", "type": "integer" }, "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "description": "[Output Only] The unique identifier for the operation. This identifier is defined by the server.", "format": "uint64", "type": "string" }, @@ -2201,15 +2223,15 @@ }, "kind": { "default": "deploymentmanager#operation", - "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.", "type": "string" }, "name": { - "description": "[Output Only] Name of the resource.", + "description": "[Output Only] Name of the operation.", "type": "string" }, "operationType": { - "description": "[Output Only] The type of operation, such as insert, update, or delete, and so on.", + "description": "[Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.", "type": "string" }, "progress": { @@ -2218,7 +2240,7 @@ "type": "integer" }, "region": { - "description": "[Output Only] The URL of the region where the operation resides. Only available when performing regional operations. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.", "type": "string" }, "selfLink": { @@ -2230,7 +2252,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE.", + "description": "[Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.", "type": "string" }, "statusMessage": { @@ -2247,7 +2269,7 @@ "type": "string" }, "user": { - "description": "[Output Only] User who requested the operation, for example: user@example.com.", + "description": "[Output Only] User who requested the operation, for example: `user@example.com`.", "type": "string" }, "warnings": { @@ -2285,7 +2307,7 @@ "type": "array" }, "zone": { - "description": "[Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.", "type": "string" } }, @@ -2339,7 +2361,7 @@ "type": "object" }, "Policy": { - "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**JSON 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\n**YAML Example**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com role: roles/owner - members: - user:sean@example.com role: roles/viewer\n\n\n\nFor a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam/docs).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n{ \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 }\n\n**YAML example:**\n\nbindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -2350,14 +2372,14 @@ "type": "array" }, "bindings": { - "description": "Associates a list of `members` to a `role`. `bindings` with no members will result in an error.", + "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.", "items": { "$ref": "Binding" }, "type": "array" }, "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", "format": "byte", "type": "string" }, @@ -2373,7 +2395,7 @@ "type": "array" }, "version": { - "description": "Deprecated.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2443,7 +2465,7 @@ "type": "string" }, "type": { - "description": "Output only. The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function.", + "description": "Output only. The type of the resource, for example `compute.v1.instance`, or `cloudfunctions.v1beta1.function`.", "type": "string" }, "update": { @@ -2546,7 +2568,7 @@ "type": "string" }, "intent": { - "description": "Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL.", + "description": "Output only. The intent of the resource: `PREVIEW`, `UPDATE`, or `CANCEL`.", "type": "string" }, "manifest": { @@ -2772,7 +2794,7 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "TypeLabelEntry" }, @@ -2806,7 +2828,7 @@ "type": "string" }, "kind": { - "description": "Output only. Type of the output. Always deploymentManager#TypeInfo for TypeInfo.", + "description": "Output only. Type of the output. Always `deploymentManager#TypeInfo` for TypeInfo.", "type": "string" }, "name": { @@ -2870,6 +2892,13 @@ "$ref": "Credential", "description": "Credential used when interacting with this type." }, + "customCertificateAuthorityRoots": { + "description": "List of up to 2 custom certificate authority roots to use for TLS authentication when making calls on behalf of this type provider. If set, TLS authentication will exclusively use these roots instead of relying on publicly trusted certificate authorities when validating TLS certificate authenticity. The certificates must be in base64-encoded PEM format. The maximum size of each certificate must not exceed 10KB.", + "items": { + "type": "string" + }, + "type": "array" + }, "description": { "description": "An optional textual description of the resource; provided by the client when the resource is created.", "type": "string" @@ -2888,14 +2917,14 @@ "type": "string" }, "labels": { - "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", "items": { "$ref": "TypeProviderLabelEntry" }, "type": "array" }, "name": { - "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.", + "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.", "type": "string" }, "operation": { diff --git a/etc/api/dfareporting/v3.3/dfareporting-api.json b/etc/api/dfareporting/v3.3/dfareporting-api.json index 9fc3c38014..2565f724b6 100644 --- a/etc/api/dfareporting/v3.3/dfareporting-api.json +++ b/etc/api/dfareporting/v3.3/dfareporting-api.json @@ -20,7 +20,7 @@ "description": "Manages your DoubleClick Campaign Manager ad campaigns and reports.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/doubleclick-advertisers/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/A0StowLCk6_YQOwCP1AS7g6Vp58\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/kUE5ERHBaKgFUVRbuUNbc2vvqsA\"", "icons": { "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" @@ -7972,14 +7972,14 @@ "type": "string" }, "profileId": { - "description": "The DFA user profile ID.", + "description": "The DFA profile ID.", "format": "int64", "location": "path", "required": true, "type": "string" }, "reportId": { - "description": "The ID of the report.", + "description": "The ID of the parent report.", "format": "int64", "location": "path", "required": true, @@ -9399,7 +9399,7 @@ } } }, - "revision": "20200326", + "revision": "20200514", "rootUrl": "https://www.googleapis.com/", "schemas": { "Account": { @@ -14291,7 +14291,8 @@ "id": "File", "properties": { "dateRange": { - "$ref": "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": { "description": "Etag of this resource.", @@ -14303,6 +14304,14 @@ }, "format": { "description": "The output format of the report. Only available once the file is available.", + "enum": [ + "CSV", + "EXCEL" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "id": { @@ -14327,6 +14336,18 @@ }, "status": { "description": "The status of the report file.", + "enum": [ + "CANCELLED", + "FAILED", + "PROCESSING", + "REPORT_AVAILABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], "type": "string" }, "urls": { @@ -14347,6 +14368,7 @@ "type": "object" }, "FileList": { + "description": "List of files for a report.", "id": "FileList", "properties": { "etag": { @@ -14354,6 +14376,7 @@ "type": "string" }, "items": { + "description": "The files returned in this response.", "items": { "$ref": "File" }, diff --git a/etc/api/dfareporting/v3.4/dfareporting-api.json b/etc/api/dfareporting/v3.4/dfareporting-api.json index 08e983cae6..0cdc2f37bf 100644 --- a/etc/api/dfareporting/v3.4/dfareporting-api.json +++ b/etc/api/dfareporting/v3.4/dfareporting-api.json @@ -20,7 +20,7 @@ "description": "Manages your DoubleClick Campaign Manager ad campaigns and reports.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/doubleclick-advertisers/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/hEFj7FeiMMK3lgT1AeWxVHm69KU\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/JPGRJEtt4qfB_MWZ27vHQxfqqCY\"", "icons": { "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" @@ -7968,14 +7968,14 @@ "type": "string" }, "profileId": { - "description": "The DFA user profile ID.", + "description": "The DFA profile ID.", "format": "int64", "location": "path", "required": true, "type": "string" }, "reportId": { - "description": "The ID of the report.", + "description": "The ID of the parent report.", "format": "int64", "location": "path", "required": true, @@ -9395,7 +9395,7 @@ } } }, - "revision": "20200326", + "revision": "20200514", "rootUrl": "https://www.googleapis.com/", "schemas": { "Account": { @@ -13288,7 +13288,7 @@ "properties": { "annotateClickEvent": { "$ref": "CustomEventClickAnnotation", - "description": "Annotate an impression. This field is mutually exclusive with insertEvent and annotateImpressionEvent. This or insertEvent and annotateImpressionEvent is a required field." + "description": "Annotate a click event. This field is mutually exclusive with insertEvent and annotateImpressionEvent. This or insertEvent and annotateImpressionEvent is a required field." }, "annotateImpressionEvent": { "$ref": "CustomEventImpressionAnnotation", @@ -13322,7 +13322,7 @@ }, "insertEvent": { "$ref": "CustomEventInsert", - "description": "Annotate an impression. This field is mutually exclusive with annotateClickEvent and annotateImpressionEvent. This or annotateClickEvent and annotateImpressionEvent is a required field." + "description": "Insert custom event. This field is mutually exclusive with annotateClickEvent and annotateImpressionEvent. This or annotateClickEvent and annotateImpressionEvent is a required field." }, "kind": { "default": "dfareporting#customEvent", @@ -14639,7 +14639,8 @@ "id": "File", "properties": { "dateRange": { - "$ref": "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": { "description": "Etag of this resource.", @@ -14651,6 +14652,14 @@ }, "format": { "description": "The output format of the report. Only available once the file is available.", + "enum": [ + "CSV", + "EXCEL" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "id": { @@ -14675,6 +14684,18 @@ }, "status": { "description": "The status of the report file.", + "enum": [ + "CANCELLED", + "FAILED", + "PROCESSING", + "REPORT_AVAILABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], "type": "string" }, "urls": { @@ -14695,6 +14716,7 @@ "type": "object" }, "FileList": { + "description": "List of files for a report.", "id": "FileList", "properties": { "etag": { @@ -14702,6 +14724,7 @@ "type": "string" }, "items": { + "description": "The files returned in this response.", "items": { "$ref": "File" }, diff --git a/etc/api/dialogflow/v2/dialogflow-api.json b/etc/api/dialogflow/v2/dialogflow-api.json index 1483e42b11..f16c8333e9 100644 --- a/etc/api/dialogflow/v2/dialogflow-api.json +++ b/etc/api/dialogflow/v2/dialogflow-api.json @@ -288,7 +288,7 @@ ] }, "import": { - "description": "Imports the specified agent from a ZIP file.\n\nUploads new intents and entity types without deleting the existing ones.\nIntents and entity types with the same name are replaced with the new\nversions from ImportAgentRequest.\n\nOperation ", + "description": "Imports the specified agent from a ZIP file.\n\nUploads new intents and entity types without deleting the existing ones.\nIntents and entity types with the same name are replaced with the new\nversions from ImportAgentRequest. After the import, the imported draft\nagent will be trained automatically (unless disabled in agent settings).\nHowever, once the import is done, training may not be completed yet. Please\ncall TrainAgent and wait for the operation it returns in order to train\nexplicitly.\n\nOperation \nAn operation which tracks when importing is complete. It only tracks\nwhen the draft agent is updated not when it is done training.", "flatPath": "v2/projects/{projectsId}/agent:import", "httpMethod": "POST", "id": "dialogflow.projects.agent.import", @@ -317,7 +317,7 @@ ] }, "restore": { - "description": "Restores the specified agent from a ZIP file.\n\nReplaces the current agent version with a new one. All the intents and\nentity types in the older version are deleted.\n\nOperation ", + "description": "Restores the specified agent from a ZIP file.\n\nReplaces the current agent version with a new one. All the intents and\nentity types in the older version are deleted. After the restore, the\nrestored draft agent will be trained automatically (unless disabled in\nagent settings). However, once the restore is done, training may not be\ncompleted yet. Please call TrainAgent and wait for the operation it\nreturns in order to train explicitly.\n\nOperation \nAn operation which tracks when restoring is complete. It only tracks\nwhen the draft agent is updated not when it is done training.", "flatPath": "v2/projects/{projectsId}/agent:restore", "httpMethod": "POST", "id": "dialogflow.projects.agent.restore", @@ -777,6 +777,45 @@ } }, "environments": { + "methods": { + "list": { + "description": "Returns the list of all non-draft environments of the specified agent.", + "flatPath": "v2/projects/{projectsId}/agent/environments", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.environments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return in a single page. By default 100 and\nat most 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The agent to list all environments from.\nFormat: `projects//agent`.", + "location": "path", + "pattern": "^projects/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/environments", + "response": { + "$ref": "GoogleCloudDialogflowV2ListEnvironmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + }, "resources": { "users": { "resources": { @@ -2010,11 +2049,442 @@ } } }, - "revision": "20200408", + "revision": "20200706", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { + "GoogleCloudDialogflowCxV3beta1ExportAgentResponse": { + "description": "The response message for Agents.ExportAgent.", + "id": "GoogleCloudDialogflowCxV3beta1ExportAgentResponse", + "properties": { + "agentContent": { + "description": "Uncompressed raw byte content for agent.", + "format": "byte", + "type": "string" + }, + "agentUri": { + "description": "The URI to a file containing the exported agent. This field is populated\nonly if `agent_uri` is specified in ExportAgentRequest.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1PageInfo": { + "description": "Represents page information communicated to and from the webhook.", + "id": "GoogleCloudDialogflowCxV3beta1PageInfo", + "properties": { + "currentPage": { + "description": "Always present for WebhookRequest. Ignored for WebhookResponse.\nThe unique identifier of the current page.\nFormat: `projects//locations//agents//flows//pages/`.", + "type": "string" + }, + "formInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfo", + "description": "Optional for both WebhookRequest and WebhookResponse.\nInformation about the form." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1PageInfoFormInfo": { + "description": "Represents form information.", + "id": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfo", + "properties": { + "parameterInfo": { + "description": "Optional for both WebhookRequest and WebhookResponse.\nThe parameters contained in the form. Note that the webhook cannot add\nor remove any form parameter.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo": { + "description": "Represents parameter information.", + "id": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo", + "properties": { + "displayName": { + "description": "Always present for WebhookRequest. Required for\nWebhookResponse.\nThe human-readable name of the parameter, unique within the form. This\nfield cannot be modified by the webhook.", + "type": "string" + }, + "justCollected": { + "description": "Optional for WebhookRequest. Ignored for WebhookResponse.\nIndicates if the parameter value was just collected on the last\nconversation turn.", + "type": "boolean" + }, + "required": { + "description": "Optional for both WebhookRequest and WebhookResponse.\nIndicates whether the parameter is required. Optional parameters will\nnot trigger prompts; however, they are filled if the user specifies\nthem. Required parameters must be filled before form filling concludes.", + "type": "boolean" + }, + "state": { + "description": "Always present for WebhookRequest. Required for\nWebhookResponse. The state of the parameter. This field can be set\nto INVALID by\nthe webhook to invalidate the parameter; other values set by the\nwebhook will be ignored.", + "enum": [ + "PARAMETER_STATE_UNSPECIFIED", + "EMPTY", + "INVALID", + "FILLED" + ], + "enumDescriptions": [ + "Not specified. This value should be never used.", + "Indicates that the parameter does not have a value.", + "Indicates that the parameter value is invalid. This field can be used\nby the webhook to invalidate the parameter and ask the server to\ncollect it from the user again.", + "Indicates that the parameter has a value." + ], + "type": "string" + }, + "value": { + "description": "Optional for both WebhookRequest and WebhookResponse.\nThe value of the parameter. This field can be set by the webhook to\nchange the parameter value.", + "type": "any" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessage": { + "description": "Represents a response message that can be returned by a conversational agent.\n\nResponse messages are also used for output audio synthesis. The approach is\nas follows:\n\n* If at least one OutputAudioText response is present, then all\n OutputAudioText responses are linearly concatenated, and the result is used\n for output audio synthesis.\n* If the OutputAudioText responses are a mixture of text and SSML, then the\n concatenated result is treated as SSML; otherwise, the result is treated as\n either text or SSML as appropriate. The agent designer should ideally use\n either text or SSML consistently throughout the bot design.\n* Otherwise, all Text responses are linearly concatenated, and the result is\n used for output audio synthesis.\n\nThis approach allows for more sophisticated user experience scenarios, where\nthe text displayed to the user may differ from what is heard.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessage", + "properties": { + "conversationSuccess": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess", + "description": "Indicates that the conversation succeeded." + }, + "endInteraction": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction", + "description": "Output only. A signal that indicates the interaction with the Dialogflow agent has\nended.\nThis message is generated by Dialogflow only when the conversation\nreaches `END_SESSION` or `END_PAGE` page. It is not supposed to be\ndefined by the user.\nIt's guaranteed that there is at most one such message in each response." + }, + "humanAgentHandoff": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff", + "description": "Hands off conversation to a human agent." + }, + "liveAgentHandoff": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff", + "description": "Hands off conversation to a human agent." + }, + "mixedAudio": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio", + "description": "Output only. An audio response message composed of both the synthesized Dialogflow\nagent responses and responses defined via\nplay_audio.\nThis message is generated by Dialogflow only and not supposed to be\ndefined by the user." + }, + "outputAudioText": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText", + "description": "A text or ssml response that is preferentially used for TTS output audio\nsynthesis, as described in the comment on the ResponseMessage message." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Returns a response containing a custom, platform-specific payload.", + "type": "object" + }, + "playAudio": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio", + "description": "Signal that the client should play an audio clip hosted at a\nclient-specific URI. Dialogflow uses this to construct\nmixed_audio. However, Dialogflow itself\ndoes not try to read or process the URI in any way." + }, + "text": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageText", + "description": "Returns a text response." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue\nthat the customer talked to it about.\n\nDialogflow only uses this to determine which conversations should be\ncounted as successful and doesn't process the metadata in this message in\nany way. Note that Dialogflow also considers conversations that get to the\nconversation end page as successful even if they don't return\nConversationSuccess.\n\nYou may set this, for example:\n* In the entry_fulfillment of a Page if\n entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer\n issue.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess", + "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction": { + "description": "Indicates that interaction with the Dialogflow agent has ended.\nThis message is generated by Dialogflow only and not supposed to be\ndefined by the user.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction", + "properties": {}, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a human agent.\n\nDialogflow only uses this to determine which conversations were handed off\nto a human agent for measurement purposes. What else to do with this signal\nis up to you and your handoff procedures.\n\nYou may set this, for example:\n* In the entry_fulfillment of a Page if\n entering the page indicates something went extremely wrong in the\n conversation.\n* In a webhook response when you determine that the customer issue can only\n be handled by a human.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff", + "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose\nany structure on this.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\n\nDialogflow only uses this to determine which conversations were handed off\nto a human agent for measurement purposes. What else to do with this signal\nis up to you and your handoff procedures.\n\nYou may set this, for example:\n* In the entry_fulfillment of a Page if\n entering the page indicates something went extremely wrong in the\n conversation.\n* In a webhook response when you determine that the customer issue can only\n be handled by a human.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff", + "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose\nany structure on this.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio": { + "description": "Represents an audio message that is composed of both segments\nsynthesized from the Dialogflow agent prompts and ones hosted externally\nat the specified URIs.\nThe external URIs are specified via\nplay_audio.\nThis message is generated by Dialogflow only and not supposed to be\ndefined by the user.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio", + "properties": { + "segments": { + "description": "Segments this audio response is composed of.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment": { + "description": "Represents one segment of audio.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this segment can be interrupted by the end\nuser's speech and the client should then start the next Dialogflow\nrequest.", + "type": "boolean" + }, + "audio": { + "description": "Raw audio synthesized from the Dialogflow agent's response using\nthe output config specified in the request.", + "format": "byte", + "type": "string" + }, + "uri": { + "description": "Client-specific URI that points to an audio clip accessible to the\nclient. Dialogflow does not impose any validation on it.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio\nsynthesis, as described in the comment on the ResponseMessage message.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText", + "properties": { + "ssml": { + "description": "The SSML text to be synthesized. For more information, see\n[SSML](/speech/text-to-speech/docs/ssml).", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end\nuser's speech and the client can then starts the next Dialogflow\nrequest.", + "type": "boolean" + }, + "audioUri": { + "description": "Required. URI of the audio clip. Dialogflow does not impose any validation on this\nvalue. It is specific to the client that reads it.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageText": { + "description": "The text response message.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageText", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end\nuser's speech and the client can then starts the next Dialogflow\nrequest.", + "type": "boolean" + }, + "text": { + "description": "Required. A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1SessionInfo": { + "description": "Represents session information communicated to and from the webhook.", + "id": "GoogleCloudDialogflowCxV3beta1SessionInfo", + "properties": { + "parameters": { + "additionalProperties": { + "type": "any" + }, + "description": "Optional for WebhookRequest. Optional for WebhookResponse.\nAll parameters collected from forms and intents during the session.\nParameters can be created, updated, or removed by the webhook. To remove a\nparameter from the session, the webhook should explicitly set the parameter\nvalue to null in WebhookResponse. The map is keyed by parameters'\ndisplay names.", + "type": "object" + }, + "session": { + "description": "Always present for WebhookRequest. Ignored for WebhookResponse.\nThe unique identifier of the session. This\nfield can be used by the webhook to identify a user.\nFormat: `projects//locations//agents//sessions/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookRequest": { + "description": "The request message for a webhook call.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookRequest", + "properties": { + "detectIntentResponseId": { + "description": "Always present. The unique identifier of the DetectIntentResponse that\nwill be returned to the API caller.", + "type": "string" + }, + "fulfillmentInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo", + "description": "Always present. Information about the fulfillment that triggered this\nwebhook call." + }, + "intentInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", + "description": "Information about the last matched intent." + }, + "messages": { + "description": "The list of rich message responses to present to the user. Webhook can\nchoose to append or replace this list in\nWebhookResponse.fulfillment_response;", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage" + }, + "type": "array" + }, + "pageInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1PageInfo", + "description": "Information about page status." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom data set in QueryParameters.payload.", + "type": "object" + }, + "sessionInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1SessionInfo", + "description": "Information about session status." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo": { + "description": "Represents fulfillment information communicated to the webhook.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo", + "properties": { + "tag": { + "description": "Always present. The tag used to identify which fulfillment is being\ncalled.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo": { + "description": "Represents intent information communicated to the webhook.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", + "properties": { + "lastMatchedIntent": { + "description": "Always present. The unique identifier of the last matched\nintent. Format: `projects//locations//agents//intents/`.", + "type": "string" + }, + "parameters": { + "additionalProperties": { + "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue" + }, + "description": "Parameters identified as a result of intent matching. This is a map of\nthe name of the identified parameter to the value of the parameter\nidentified from the user's utterance. All parameters defined in the\nmatched intent that are identified will be surfaced here.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue": { + "description": "Represents a value for an intent parameter.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue", + "properties": { + "originalValue": { + "description": "Always present. Original text value extracted from user utterance.", + "type": "string" + }, + "resolvedValue": { + "description": "Always present. Structured value for the parameter extracted from user\nutterance.", + "type": "any" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookResponse": { + "description": "The response message for a webhook call.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookResponse", + "properties": { + "fulfillmentResponse": { + "$ref": "GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse", + "description": "The fulfillment response to send to the user. This field can be omitted by\nthe webhook if it does not intend to send any response to the user." + }, + "pageInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1PageInfo", + "description": "Information about page status. This field can be omitted by the webhook if\nit does not intend to modify page status." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Value to append directly to QueryResult.webhook_payloads.", + "type": "object" + }, + "sessionInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1SessionInfo", + "description": "Information about session status. This field can be omitted by the webhook\nif it does not intend to modify session status." + }, + "targetFlow": { + "description": "The target flow to transition to.\nFormat: `projects//locations//agents//flows/`.", + "type": "string" + }, + "targetPage": { + "description": "The target page to transition to.\nFormat: `projects//locations//agents//flows//pages/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse": { + "description": "Represents a fulfillment response to the user.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse", + "properties": { + "mergeBehavior": { + "description": "Merge behavior for `messages`.", + "enum": [ + "MERGE_BEHAVIOR_UNSPECIFIED", + "APPEND", + "REPLACE" + ], + "enumDescriptions": [ + "Not specified. `APPEND` will be used.", + "`messages` will be appended to the list of messages waiting to be sent\nto the user.", + "`messages` will replace the list of messages waiting to be sent to the\nuser." + ], + "type": "string" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2Agent": { - "description": "Represents a conversational agent.", + "description": "A Dialogflow agent is a virtual agent that handles conversations with your\nend-users. It is a natural language understanding module that understands the\nnuances of human language. Dialogflow translates end-user text or audio\nduring a conversation to structured data that your apps and services can\nunderstand. You design and build a Dialogflow agent to handle the types of\nconversations required for your system.\n\nFor more information about agents, see the\n[Agents\ndocumentation](https://cloud.google.com/dialogflow/docs/agents-overview).", "id": "GoogleCloudDialogflowV2Agent", "properties": { "apiVersion": { @@ -2317,7 +2787,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The collection of parameters associated with this context.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", + "description": "Optional. The collection of parameters associated with this context.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" } }, @@ -2396,7 +2866,7 @@ "id": "GoogleCloudDialogflowV2DetectIntentResponse", "properties": { "outputAudio": { - "description": "The audio data bytes encoded as specified in the request.\nNote: The output audio is generated based on the values of default platform\ntext responses found in the `query_result.fulfillment_messages` field. If\nmultiple default text responses exist, they will be concatenated when\ngenerating audio. If no default platform text responses exist, the\ngenerated audio content will be empty.", + "description": "The audio data bytes encoded as specified in the request.\nNote: The output audio is generated based on the values of default platform\ntext responses found in the `query_result.fulfillment_messages` field. If\nmultiple default text responses exist, they will be concatenated when\ngenerating audio. If no default platform text responses exist, the\ngenerated audio content will be empty.\n\nIn some scenarios, multiple output audio fields may be present in the\nresponse structure. In these cases, only the top-most-level audio output\nhas content.", "format": "byte", "type": "string" }, @@ -2505,6 +2975,46 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2Environment": { + "description": "Represents an agent environment.", + "id": "GoogleCloudDialogflowV2Environment", + "properties": { + "agentVersion": { + "description": "Optional. The agent version loaded into this environment.\nFormat: `projects//agent/versions/`.", + "type": "string" + }, + "description": { + "description": "Optional. The developer-provided description for this environment.\nThe maximum length is 500 characters. If exceeded, the request is rejected.", + "type": "string" + }, + "name": { + "description": "Output only. The unique identifier of this agent environment.\nFormat: `projects//agent/environments/`.\nFor Environment ID, \"-\" is reserved for 'draft' environment.", + "type": "string" + }, + "state": { + "description": "Output only. The state of this environment. This field is read-only, i.e., it cannot be\nset by create and update methods.", + "enum": [ + "STATE_UNSPECIFIED", + "STOPPED", + "LOADING", + "RUNNING" + ], + "enumDescriptions": [ + "Not specified. This value is not used.", + "Stopped.", + "Loading.", + "Running." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The last update time of this environment. This field is read-only, i.e., it\ncannot be set by create and update methods.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2EventInput": { "description": "Events allow for matching intents by event name instead of the natural\nlanguage input. For instance, input `` can trigger a personalized welcome response.\nThe parameter `name` may be used by the agent in the response:\n`\"Hello #welcome_event.name! What can I do for you today?\"`.", "id": "GoogleCloudDialogflowV2EventInput", @@ -2522,7 +3032,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The collection of parameters associated with the event.", + "description": "The collection of parameters associated with the event.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" } }, @@ -2624,7 +3134,7 @@ "type": "object" }, "uri": { - "description": "Required. The fulfillment URI for receiving POST requests.", + "description": "Required. The fulfillment URI for receiving POST requests.\nIt must use https protocol.", "type": "string" }, "username": { @@ -3580,7 +4090,7 @@ "type": "array" }, "value": { - "description": "Optional. The definition of the parameter value. It can be:\n- a constant string,\n- a parameter value defined as `$parameter_name`,\n- an original parameter value defined as `$parameter_name.original`,\n- a parameter value from some context defined as\n `#context_name.parameter_name`.", + "description": "Optional. The definition of the parameter value. It can be:\n\n- a constant string,\n- a parameter value defined as `$parameter_name`,\n- an original parameter value defined as `$parameter_name.original`,\n- a parameter value from some context defined as\n `#context_name.parameter_name`.", "type": "string" } }, @@ -3682,6 +4192,24 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ListEnvironmentsResponse": { + "description": "The response message for Environments.ListEnvironments.", + "id": "GoogleCloudDialogflowV2ListEnvironmentsResponse", + "properties": { + "environments": { + "description": "The list of agent environments. There will be a maximum number of items\nreturned based on the page_size field in the request.", + "items": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2ListIntentsResponse": { "description": "The response message for Intents.ListIntents.", "id": "GoogleCloudDialogflowV2ListIntentsResponse", @@ -3959,7 +4487,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The collection of extracted parameters.", + "description": "The collection of extracted parameters.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" }, "queryText": { @@ -4053,7 +4581,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SentimentAnalysisResult": { - "description": "The result of sentiment analysis as configured by\n`sentiment_analysis_request_config`.", + "description": "The result of sentiment analysis. Sentiment analysis inspects user input\nand identifies the prevailing subjective opinion, especially to determine a\nuser's attitude as positive, negative, or neutral.\nFor Participants.AnalyzeContent, it needs to be configured in\nDetectIntentRequest.query_params. For\nParticipants.StreamingAnalyzeContent, it needs to be configured in\nStreamingDetectIntentRequest.query_params.\nAnd for Participants.AnalyzeContent and\nParticipants.StreamingAnalyzeContent, it needs to be configured in\nConversationProfile.human_agent_assistant_config", "id": "GoogleCloudDialogflowV2SentimentAnalysisResult", "properties": { "queryTextSentiment": { @@ -4100,7 +4628,7 @@ "id": "GoogleCloudDialogflowV2SpeechContext", "properties": { "boost": { - "description": "Optional. Boost for this context compared to other contexts:\n* If the boost is positive, Dialogflow will increase the probability that\n the phrases in this context are recognized over similar sounding phrases.\n* If the boost is unspecified or non-positive, Dialogflow will not apply\n any boost.\n\nDialogflow recommends that you use boosts in the range (0, 20] and that you\nfind a value that fits your use case with binary search.", + "description": "Optional. Boost for this context compared to other contexts:\n\n* If the boost is positive, Dialogflow will increase the probability that\n the phrases in this context are recognized over similar sounding phrases.\n* If the boost is unspecified or non-positive, Dialogflow will not apply\n any boost.\n\nDialogflow recommends that you use boosts in the range (0, 20] and that you\nfind a value that fits your use case with binary search.", "format": "float", "type": "number" }, @@ -4274,21 +4802,21 @@ "properties": { "followupEventInput": { "$ref": "GoogleCloudDialogflowV2EventInput", - "description": "Optional. Makes the platform immediately invoke another `DetectIntent` call\ninternally with the specified event as input.\nWhen this field is set, Dialogflow ignores the `fulfillment_text`,\n`fulfillment_messages`, and `payload` fields." + "description": "Optional. Invokes the supplied events.\nWhen this field is set, Dialogflow ignores the `fulfillment_text`,\n`fulfillment_messages`, and `payload` fields." }, "fulfillmentMessages": { - "description": "Optional. The collection of rich messages to present to the user. This\nvalue is passed directly to `QueryResult.fulfillment_messages`.", + "description": "Optional. The rich response messages intended for the end-user.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.fulfillment_messages sent to the integration or API caller.", "items": { "$ref": "GoogleCloudDialogflowV2IntentMessage" }, "type": "array" }, "fulfillmentText": { - "description": "Optional. The text to be shown on the screen. This value is passed directly\nto `QueryResult.fulfillment_text`.", + "description": "Optional. The text response message intended for the end-user.\nIt is recommended to use `fulfillment_messages.text.text[0]` instead.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.fulfillment_text sent to the integration or API caller.", "type": "string" }, "outputContexts": { - "description": "Optional. The collection of output contexts. This value is passed directly\nto `QueryResult.output_contexts`.", + "description": "Optional. The collection of output contexts that will overwrite currently\nactive contexts for the session and reset their lifespans.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.output_contexts sent to the integration or API caller.", "items": { "$ref": "GoogleCloudDialogflowV2Context" }, @@ -4299,18 +4827,18 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. This field can be used to pass custom data from your webhook to the API\ncaller. Arbitrary JSON objects are supported.\nWhen provided, Dialogflow uses this field to populate\n`QueryResult.webhook_payload` sent to the API caller.\nThis field is also used by the\n[Google Assistant\nintegration](https://cloud.google.com/dialogflow/docs/integrations/aog)\nfor rich response messages.\nSee the format definition at [Google Assistant Dialogflow webhook\nformat](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", + "description": "Optional. This field can be used to pass custom data from your webhook to the\nintegration or API caller. Arbitrary JSON objects are supported.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.webhook_payload sent to the integration or API caller.\nThis field is also used by the\n[Google Assistant\nintegration](https://cloud.google.com/dialogflow/docs/integrations/aog)\nfor rich response messages.\nSee the format definition at [Google Assistant Dialogflow webhook\nformat](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", "type": "object" }, "sessionEntityTypes": { - "description": "Optional. Additional session entity types to replace or extend developer\nentity types with. The entity synonyms apply to all languages and persist\nfor the session of this query. Setting the session entity types inside\nwebhook overwrites the session entity types that have been set through\n`DetectIntentRequest.query_params.session_entity_types`.", + "description": "Optional. Additional session entity types to replace or extend developer\nentity types with. The entity synonyms apply to all languages and persist\nfor the session. Setting this data from a webhook overwrites\nthe session entity types that have been set using `detectIntent`,\n`streamingDetectIntent` or SessionEntityType management methods.", "items": { "$ref": "GoogleCloudDialogflowV2SessionEntityType" }, "type": "array" }, "source": { - "description": "Optional. This value is passed directly to `QueryResult.webhook_source`.", + "description": "Optional. A custom field used to identify the webhook source.\nArbitrary strings are supported.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.webhook_source sent to the integration or API caller.", "type": "string" } }, @@ -4400,7 +4928,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The collection of parameters associated with this context.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", + "description": "Optional. The collection of parameters associated with this context.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" } }, @@ -4495,7 +5023,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The collection of parameters associated with the event.", + "description": "The collection of parameters associated with the event.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" } }, @@ -4574,7 +5102,7 @@ "type": "array" }, "followupIntentInfo": { - "description": "Read-only. Information about all followup intents that have this intent as\na direct or indirect parent. We populate this field only in the output.", + "description": "Output only. Information about all followup intents that have this intent as\na direct or indirect parent. We populate this field only in the output.", "items": { "$ref": "GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo" }, @@ -4607,7 +5135,7 @@ "type": "boolean" }, "name": { - "description": "The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects//agent/intents/`.", + "description": "Optional. The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects//agent/intents/`.", "type": "string" }, "outputContexts": { @@ -4625,11 +5153,11 @@ "type": "array" }, "parentFollowupIntentName": { - "description": "Read-only after creation. The unique identifier of the parent intent in the\nchain of followup intents. You can set this field when creating an intent,\nfor example with CreateIntent or\nBatchUpdateIntents, in order to make this\nintent a followup intent.\n\nIt identifies the parent followup intent.\nFormat: `projects//agent/intents/`.", + "description": "Optional. The unique identifier of the parent intent in the\nchain of followup intents. You can set this field when creating an intent,\nfor example with CreateIntent or\nBatchUpdateIntents, in order to make this\nintent a followup intent.\n\nIt identifies the parent followup intent.\nFormat: `projects//agent/intents/`.", "type": "string" }, "priority": { - "description": "The priority of this intent. Higher numbers represent higher\npriorities.\n\n- If the supplied value is unspecified or 0, the service\n translates the value to 500,000, which corresponds to the\n `Normal` priority in the console.\n- If the supplied value is negative, the intent is ignored\n in runtime detect intent requests.", + "description": "Optional. The priority of this intent. Higher numbers represent higher\npriorities.\n\n- If the supplied value is unspecified or 0, the service\n translates the value to 500,000, which corresponds to the\n `Normal` priority in the console.\n- If the supplied value is negative, the intent is ignored\n in runtime detect intent requests.", "format": "int32", "type": "integer" }, @@ -4638,7 +5166,7 @@ "type": "boolean" }, "rootFollowupIntentName": { - "description": "Read-only. The unique identifier of the root intent in the chain of\nfollowup intents. It identifies the correct followup intents chain for\nthis intent. We populate this field only in the output.\n\nFormat: `projects//agent/intents/`.", + "description": "Output only. The unique identifier of the root intent in the chain of\nfollowup intents. It identifies the correct followup intents chain for\nthis intent.\n\nFormat: `projects//agent/intents/`.", "type": "string" }, "trainingPhrases": { @@ -5227,7 +5755,7 @@ "type": "string" }, "height": { - "description": "Required for cards with vertical orientation. The height of the media\nwithin a rich card with a vertical layout. (https://goo.gl/NeFCjz).\nFor a standalone card with horizontal layout, height is not\ncustomizable, and this field is ignored.", + "description": "Required for cards with vertical orientation. The height of the media\nwithin a rich card with a vertical layout.\nFor a standalone card with horizontal layout, height is not\ncustomizable, and this field is ignored.", "enum": [ "HEIGHT_UNSPECIFIED", "SHORT", @@ -5250,7 +5778,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard": { - "description": "Carousel Rich Business Messaging (RBM) rich card.\n\nRich cards allow you to respond to users with more vivid content, e.g.\nwith media and suggestions.\n\nFor more details about RBM rich cards, please see:\nhttps://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.\nIf you want to show a single card with more control over the layout,\nplease use RbmStandaloneCard instead.", + "description": "Carousel Rich Business Messaging (RBM) rich card.\n\nRich cards allow you to respond to users with more vivid content, e.g.\nwith media and suggestions.\n\nIf you want to show a single card with more control over the layout,\nplease use RbmStandaloneCard instead.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard", "properties": { "cardContents": { @@ -5278,7 +5806,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard": { - "description": "Standalone Rich Business Messaging (RBM) rich card.\n\nRich cards allow you to respond to users with more vivid content, e.g.\nwith media and suggestions.\n\nFor more details about RBM rich cards, please see:\nhttps://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.\nYou can group multiple rich cards into one using RbmCarouselCard but\ncarousel cards will give you less control over the card layout.", + "description": "Standalone Rich Business Messaging (RBM) rich card.\n\nRich cards allow you to respond to users with more vivid content, e.g.\nwith media and suggestions.\n\nYou can group multiple rich cards into one using RbmCarouselCard but\ncarousel cards will give you less control over the card layout.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard", "properties": { "cardContent": { @@ -5344,7 +5872,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial": { - "description": "Opens the user's default dialer app with the specified phone number\nbut does not dial automatically (https://goo.gl/ergbB2).", + "description": "Opens the user's default dialer app with the specified phone number\nbut does not dial automatically.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial", "properties": { "phoneNumber": { @@ -5355,7 +5883,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri": { - "description": "Opens the user's default web browser app to the specified uri\n(https://goo.gl/6GLJD2). If the user has an app installed that is\nregistered as the default handler for the URL, then this app will be\nopened instead, and its icon will be used in the suggested action UI.", + "description": "Opens the user's default web browser app to the specified uri\nIf the user has an app installed that is\nregistered as the default handler for the URL, then this app will be\nopened instead, and its icon will be used in the suggested action UI.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri", "properties": { "uri": { @@ -5366,7 +5894,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation": { - "description": "Opens the device's location chooser so the user can pick a location\nto send back to the agent (https://goo.gl/GXotJW).", + "description": "Opens the device's location chooser so the user can pick a location\nto send back to the agent.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation", "properties": {}, "type": "object" @@ -5651,7 +6179,7 @@ "type": "array" }, "value": { - "description": "Optional. The definition of the parameter value. It can be:\n- a constant string,\n- a parameter value defined as `$parameter_name`,\n- an original parameter value defined as `$parameter_name.original`,\n- a parameter value from some context defined as\n `#context_name.parameter_name`.", + "description": "Optional. The definition of the parameter value. It can be:\n\n- a constant string,\n- a parameter value defined as `$parameter_name`,\n- an original parameter value defined as `$parameter_name.original`,\n- a parameter value from some context defined as\n `#context_name.parameter_name`.", "type": "string" } }, @@ -5776,7 +6304,7 @@ "id": "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata", "properties": { "state": { - "description": "Required. The current state of this operation.", + "description": "Required. Output only. The current state of this operation.", "enum": [ "STATE_UNSPECIFIED", "PENDING", @@ -5888,7 +6416,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The collection of extracted parameters.", + "description": "The collection of extracted parameters.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" }, "queryText": { @@ -5937,7 +6465,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1SentimentAnalysisResult": { - "description": "The result of sentiment analysis as configured by\n`sentiment_analysis_request_config`.", + "description": "The result of sentiment analysis. Sentiment analysis inspects user input\nand identifies the prevailing subjective opinion, especially to determine a\nuser's attitude as positive, negative, or neutral.\nFor Participants.AnalyzeContent, it needs to be configured in\nDetectIntentRequest.query_params. For\nParticipants.StreamingAnalyzeContent, it needs to be configured in\nStreamingDetectIntentRequest.query_params.\nAnd for Participants.AnalyzeContent and\nParticipants.StreamingAnalyzeContent, it needs to be configured in\nConversationProfile.human_agent_assistant_config", "id": "GoogleCloudDialogflowV2beta1SentimentAnalysisResult", "properties": { "queryTextSentiment": { @@ -6019,21 +6547,21 @@ }, "followupEventInput": { "$ref": "GoogleCloudDialogflowV2beta1EventInput", - "description": "Optional. Makes the platform immediately invoke another `DetectIntent` call\ninternally with the specified event as input.\nWhen this field is set, Dialogflow ignores the `fulfillment_text`,\n`fulfillment_messages`, and `payload` fields." + "description": "Optional. Invokes the supplied events.\nWhen this field is set, Dialogflow ignores the `fulfillment_text`,\n`fulfillment_messages`, and `payload` fields." }, "fulfillmentMessages": { - "description": "Optional. The collection of rich messages to present to the user. This\nvalue is passed directly to `QueryResult.fulfillment_messages`.", + "description": "Optional. The rich response messages intended for the end-user.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.fulfillment_messages sent to the integration or API caller.", "items": { "$ref": "GoogleCloudDialogflowV2beta1IntentMessage" }, "type": "array" }, "fulfillmentText": { - "description": "Optional. The text to be shown on the screen. This value is passed directly\nto `QueryResult.fulfillment_text`.", + "description": "Optional. The text response message intended for the end-user.\nIt is recommended to use `fulfillment_messages.text.text[0]` instead.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.fulfillment_text sent to the integration or API caller.", "type": "string" }, "outputContexts": { - "description": "Optional. The collection of output contexts. This value is passed directly\nto `QueryResult.output_contexts`.", + "description": "Optional. The collection of output contexts that will overwrite currently\nactive contexts for the session and reset their lifespans.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.output_contexts sent to the integration or API caller.", "items": { "$ref": "GoogleCloudDialogflowV2beta1Context" }, @@ -6044,18 +6572,34 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. This field can be used to pass custom data from your webhook to the API\ncaller. Arbitrary JSON objects are supported.\nWhen provided, Dialogflow uses this field to populate\n`QueryResult.webhook_payload` sent to the API caller.\nThis field is also used by the\n[Google Assistant\nintegration](https://cloud.google.com/dialogflow/docs/integrations/aog)\nfor rich response messages.\nSee the format definition at [Google Assistant Dialogflow webhook\nformat](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", + "description": "Optional. This field can be used to pass custom data from your webhook to the\nintegration or API caller. Arbitrary JSON objects are supported.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.webhook_payload sent to the integration or API caller.\nThis field is also used by the\n[Google Assistant\nintegration](https://cloud.google.com/dialogflow/docs/integrations/aog)\nfor rich response messages.\nSee the format definition at [Google Assistant Dialogflow webhook\nformat](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", "type": "object" }, "sessionEntityTypes": { - "description": "Optional. Additional session entity types to replace or extend developer\nentity types with. The entity synonyms apply to all languages and persist\nfor the session of this query. Setting the session entity types inside\nwebhook overwrites the session entity types that have been set through\n`DetectIntentRequest.query_params.session_entity_types`.", + "description": "Optional. Additional session entity types to replace or extend developer\nentity types with. The entity synonyms apply to all languages and persist\nfor the session. Setting this data from a webhook overwrites\nthe session entity types that have been set using `detectIntent`,\n`streamingDetectIntent` or SessionEntityType management methods.", "items": { "$ref": "GoogleCloudDialogflowV2beta1SessionEntityType" }, "type": "array" }, "source": { - "description": "Optional. This value is passed directly to `QueryResult.webhook_source`.", + "description": "Optional. A custom field used to identify the webhook source.\nArbitrary strings are supported.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.webhook_source sent to the integration or API caller.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV3alpha1ExportAgentResponse": { + "description": "The response message for Agents.ExportAgent.", + "id": "GoogleCloudDialogflowV3alpha1ExportAgentResponse", + "properties": { + "agentContent": { + "description": "Uncompressed raw byte content for agent.", + "format": "byte", + "type": "string" + }, + "agentUri": { + "description": "The URI to a file containing the exported agent. This field is populated\nonly if `agent_uri` is specified in ExportAgentRequest.", "type": "string" } }, diff --git a/etc/api/dialogflow/v2beta1/dialogflow-api.json b/etc/api/dialogflow/v2beta1/dialogflow-api.json index 06c3f3c4ec..856406d384 100644 --- a/etc/api/dialogflow/v2beta1/dialogflow-api.json +++ b/etc/api/dialogflow/v2beta1/dialogflow-api.json @@ -288,7 +288,7 @@ ] }, "import": { - "description": "Imports the specified agent from a ZIP file.\n\nUploads new intents and entity types without deleting the existing ones.\nIntents and entity types with the same name are replaced with the new\nversions from ImportAgentRequest.\n\n\nOperation ", + "description": "Imports the specified agent from a ZIP file.\n\nUploads new intents and entity types without deleting the existing ones.\nIntents and entity types with the same name are replaced with the new\nversions from ImportAgentRequest. After the import, the imported draft\nagent will be trained automatically (unless disabled in agent settings).\nHowever, once the import is done, training may not be completed yet. Please\ncall TrainAgent and wait for the operation it returns in order to train\nexplicitly.\n\n\nOperation \nAn operation which tracks when importing is complete. It only tracks\nwhen the draft agent is updated not when it is done training.", "flatPath": "v2beta1/projects/{projectsId}/agent:import", "httpMethod": "POST", "id": "dialogflow.projects.agent.import", @@ -317,7 +317,7 @@ ] }, "restore": { - "description": "Restores the specified agent from a ZIP file.\n\nReplaces the current agent version with a new one. All the intents and\nentity types in the older version are deleted.\n\n\nOperation ", + "description": "Restores the specified agent from a ZIP file.\n\nReplaces the current agent version with a new one. All the intents and\nentity types in the older version are deleted. After the restore, the\nrestored draft agent will be trained automatically (unless disabled in\nagent settings). However, once the restore is done, training may not be\ncompleted yet. Please call TrainAgent and wait for the operation it\nreturns in order to train explicitly.\n\n\nOperation \nAn operation which tracks when restoring is complete. It only tracks\nwhen the draft agent is updated not when it is done training.", "flatPath": "v2beta1/projects/{projectsId}/agent:restore", "httpMethod": "POST", "id": "dialogflow.projects.agent.restore", @@ -346,7 +346,7 @@ ] }, "search": { - "description": "Returns the list of agents.\n\nSince there is at most one conversational agent per project, this method is\nuseful primarily for listing all agents across projects the caller has\naccess to. One can achieve that with a wildcard project collection id \"-\".\nRefer to [List\nSub-Collections](https://cloud.google.com/apis/design/design_patterns#list_sub-collections).", + "description": "Returns the list of agents.\nSince there is at most one conversational agent per project, this method is\nuseful primarily for listing all agents across projects the caller has\naccess to. One can achieve that with a wildcard project collection id \"-\".\nRefer to [List\nSub-Collections](https://cloud.google.com/apis/design/design_patterns#list_sub-collections).", "flatPath": "v2beta1/projects/{projectsId}/agent:search", "httpMethod": "GET", "id": "dialogflow.projects.agent.search", @@ -451,7 +451,7 @@ "entityTypes": { "methods": { "batchDelete": { - "description": "Deletes entity types in the specified agent.\n\nOperation ", + "description": "Deletes entity types in the specified agent.\nOperation ", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.batchDelete", @@ -480,7 +480,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple entity types in the specified agent.\n\nOperation ", + "description": "Updates/Creates multiple entity types in the specified agent.\nOperation ", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.batchUpdate", @@ -777,6 +777,45 @@ } }, "environments": { + "methods": { + "list": { + "description": "Returns the list of all non-draft environments of the specified agent.", + "flatPath": "v2beta1/projects/{projectsId}/agent/environments", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.environments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return in a single page. By default 100 and\nat most 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The agent to list all environments from.\nFormat:\n- `projects//agent`\n- `projects//locations//agent", + "location": "path", + "pattern": "^projects/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/environments", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1ListEnvironmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + }, "resources": { "users": { "resources": { @@ -1403,7 +1442,7 @@ "type": "string" }, "name": { - "description": "The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects//agent/intents/`.", + "description": "Optional. The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects//agent/intents/`.", "location": "path", "pattern": "^projects/[^/]+/agent/intents/[^/]+$", "required": true, @@ -1633,7 +1672,7 @@ ], "parameters": { "name": { - "description": "The name of the document to delete.\nFormat: `projects//knowledgeBases//documents/`.", + "description": "Required. The name of the document to delete.\nFormat: `projects//knowledgeBases//documents/`.", "location": "path", "pattern": "^projects/[^/]+/agent/knowledgeBases/[^/]+/documents/[^/]+$", "required": true, @@ -1685,13 +1724,13 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of items to return in a single page. By\ndefault 10 and at most 100.", + "description": "The maximum number of items to return in a single page. By\ndefault 10 and at most 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request.", + "description": "The next_page_token value returned from a previous list request.", "location": "query", "type": "string" }, @@ -1722,7 +1761,7 @@ ], "parameters": { "name": { - "description": "The document resource name.\nThe name must be empty when creating a document.\nFormat: `projects//knowledgeBases//documents/`.", + "description": "Optional. The document resource name.\nThe name must be empty when creating a document.\nFormat: `projects//knowledgeBases//documents/`.", "location": "path", "pattern": "^projects/[^/]+/agent/knowledgeBases/[^/]+/documents/[^/]+$", "required": true, @@ -1757,7 +1796,7 @@ ], "parameters": { "name": { - "description": "The name of the document to reload.\nFormat: `projects//knowledgeBases//documents/`", + "description": "Required. The name of the document to reload.\nFormat: `projects//knowledgeBases//documents/`", "location": "path", "pattern": "^projects/[^/]+/agent/knowledgeBases/[^/]+/documents/[^/]+$", "required": true, @@ -2360,7 +2399,7 @@ ], "parameters": { "name": { - "description": "The name of the document to delete.\nFormat: `projects//knowledgeBases//documents/`.", + "description": "Required. The name of the document to delete.\nFormat: `projects//knowledgeBases//documents/`.", "location": "path", "pattern": "^projects/[^/]+/knowledgeBases/[^/]+/documents/[^/]+$", "required": true, @@ -2412,13 +2451,13 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of items to return in a single page. By\ndefault 10 and at most 100.", + "description": "The maximum number of items to return in a single page. By\ndefault 10 and at most 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request.", + "description": "The next_page_token value returned from a previous list request.", "location": "query", "type": "string" }, @@ -2449,7 +2488,7 @@ ], "parameters": { "name": { - "description": "The document resource name.\nThe name must be empty when creating a document.\nFormat: `projects//knowledgeBases//documents/`.", + "description": "Optional. The document resource name.\nThe name must be empty when creating a document.\nFormat: `projects//knowledgeBases//documents/`.", "location": "path", "pattern": "^projects/[^/]+/knowledgeBases/[^/]+/documents/[^/]+$", "required": true, @@ -2484,7 +2523,7 @@ ], "parameters": { "name": { - "description": "The name of the document to reload.\nFormat: `projects//knowledgeBases//documents/`", + "description": "Required. The name of the document to reload.\nFormat: `projects//knowledgeBases//documents/`", "location": "path", "pattern": "^projects/[^/]+/knowledgeBases/[^/]+/documents/[^/]+$", "required": true, @@ -2629,41 +2668,6 @@ "https://www.googleapis.com/auth/dialogflow" ] }, - "fulfillment": { - "description": "Updates the fulfillment.", - "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/fulfillment", - "httpMethod": "POST", - "id": "dialogflow.projects.locations.agent.fulfillment", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The unique identifier of the fulfillment.\nFormat: `projects//agent/fulfillment`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/agent/fulfillment$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The mask to control which fields get updated. If the mask is not\npresent, all fields will be updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v2beta1/{+name}", - "request": { - "$ref": "GoogleCloudDialogflowV2beta1Fulfillment" - }, - "response": { - "$ref": "GoogleCloudDialogflowV2beta1Fulfillment" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/dialogflow" - ] - }, "getFulfillment": { "description": "Retrieves the fulfillment.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/fulfillment", @@ -2691,7 +2695,7 @@ ] }, "import": { - "description": "Imports the specified agent from a ZIP file.\n\nUploads new intents and entity types without deleting the existing ones.\nIntents and entity types with the same name are replaced with the new\nversions from ImportAgentRequest.\n\n\nOperation ", + "description": "Imports the specified agent from a ZIP file.\n\nUploads new intents and entity types without deleting the existing ones.\nIntents and entity types with the same name are replaced with the new\nversions from ImportAgentRequest. After the import, the imported draft\nagent will be trained automatically (unless disabled in agent settings).\nHowever, once the import is done, training may not be completed yet. Please\ncall TrainAgent and wait for the operation it returns in order to train\nexplicitly.\n\n\nOperation \nAn operation which tracks when importing is complete. It only tracks\nwhen the draft agent is updated not when it is done training.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent:import", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.import", @@ -2720,7 +2724,7 @@ ] }, "restore": { - "description": "Restores the specified agent from a ZIP file.\n\nReplaces the current agent version with a new one. All the intents and\nentity types in the older version are deleted.\n\n\nOperation ", + "description": "Restores the specified agent from a ZIP file.\n\nReplaces the current agent version with a new one. All the intents and\nentity types in the older version are deleted. After the restore, the\nrestored draft agent will be trained automatically (unless disabled in\nagent settings). However, once the restore is done, training may not be\ncompleted yet. Please call TrainAgent and wait for the operation it\nreturns in order to train explicitly.\n\n\nOperation \nAn operation which tracks when restoring is complete. It only tracks\nwhen the draft agent is updated not when it is done training.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent:restore", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.restore", @@ -2748,6 +2752,43 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "search": { + "description": "Returns the list of agents.\nSince there is at most one conversational agent per project, this method is\nuseful primarily for listing all agents across projects the caller has\naccess to. One can achieve that with a wildcard project collection id \"-\".\nRefer to [List\nSub-Collections](https://cloud.google.com/apis/design/design_patterns#list_sub-collections).", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent:search", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.search", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return in a single page. By\ndefault 100 and at most 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project to list agents from.\nFormat: `projects/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/agent:search", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1SearchAgentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "train": { "description": "Trains the specified agent.\n\n\nOperation ", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent:train", @@ -2776,13 +2817,48 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "updateFulfillment": { + "description": "Updates the fulfillment.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/fulfillment", + "httpMethod": "PATCH", + "id": "dialogflow.projects.locations.agent.updateFulfillment", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The unique identifier of the fulfillment.\nFormat: `projects//agent/fulfillment`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/fulfillment$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated. If the mask is not\npresent, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Fulfillment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Fulfillment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } }, "resources": { "entityTypes": { "methods": { "batchDelete": { - "description": "Deletes entity types in the specified agent.\n\nOperation ", + "description": "Deletes entity types in the specified agent.\nOperation ", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.batchDelete", @@ -2811,7 +2887,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple entity types in the specified agent.\n\nOperation ", + "description": "Updates/Creates multiple entity types in the specified agent.\nOperation ", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.batchUpdate", @@ -3108,6 +3184,45 @@ } }, "environments": { + "methods": { + "list": { + "description": "Returns the list of all non-draft environments of the specified agent.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.environments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return in a single page. By default 100 and\nat most 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The agent to list all environments from.\nFormat:\n- `projects//agent`\n- `projects//locations//agent", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/environments", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1ListEnvironmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + }, "resources": { "users": { "resources": { @@ -3734,7 +3849,7 @@ "type": "string" }, "name": { - "description": "The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects//agent/intents/`.", + "description": "Optional. The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects//agent/intents/`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agent/intents/[^/]+$", "required": true, @@ -4339,9 +4454,440 @@ } } }, - "revision": "20200408", + "revision": "20200706", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { + "GoogleCloudDialogflowCxV3beta1ExportAgentResponse": { + "description": "The response message for Agents.ExportAgent.", + "id": "GoogleCloudDialogflowCxV3beta1ExportAgentResponse", + "properties": { + "agentContent": { + "description": "Uncompressed raw byte content for agent.", + "format": "byte", + "type": "string" + }, + "agentUri": { + "description": "The URI to a file containing the exported agent. This field is populated\nonly if `agent_uri` is specified in ExportAgentRequest.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1PageInfo": { + "description": "Represents page information communicated to and from the webhook.", + "id": "GoogleCloudDialogflowCxV3beta1PageInfo", + "properties": { + "currentPage": { + "description": "Always present for WebhookRequest. Ignored for WebhookResponse.\nThe unique identifier of the current page.\nFormat: `projects//locations//agents//flows//pages/`.", + "type": "string" + }, + "formInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfo", + "description": "Optional for both WebhookRequest and WebhookResponse.\nInformation about the form." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1PageInfoFormInfo": { + "description": "Represents form information.", + "id": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfo", + "properties": { + "parameterInfo": { + "description": "Optional for both WebhookRequest and WebhookResponse.\nThe parameters contained in the form. Note that the webhook cannot add\nor remove any form parameter.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo": { + "description": "Represents parameter information.", + "id": "GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo", + "properties": { + "displayName": { + "description": "Always present for WebhookRequest. Required for\nWebhookResponse.\nThe human-readable name of the parameter, unique within the form. This\nfield cannot be modified by the webhook.", + "type": "string" + }, + "justCollected": { + "description": "Optional for WebhookRequest. Ignored for WebhookResponse.\nIndicates if the parameter value was just collected on the last\nconversation turn.", + "type": "boolean" + }, + "required": { + "description": "Optional for both WebhookRequest and WebhookResponse.\nIndicates whether the parameter is required. Optional parameters will\nnot trigger prompts; however, they are filled if the user specifies\nthem. Required parameters must be filled before form filling concludes.", + "type": "boolean" + }, + "state": { + "description": "Always present for WebhookRequest. Required for\nWebhookResponse. The state of the parameter. This field can be set\nto INVALID by\nthe webhook to invalidate the parameter; other values set by the\nwebhook will be ignored.", + "enum": [ + "PARAMETER_STATE_UNSPECIFIED", + "EMPTY", + "INVALID", + "FILLED" + ], + "enumDescriptions": [ + "Not specified. This value should be never used.", + "Indicates that the parameter does not have a value.", + "Indicates that the parameter value is invalid. This field can be used\nby the webhook to invalidate the parameter and ask the server to\ncollect it from the user again.", + "Indicates that the parameter has a value." + ], + "type": "string" + }, + "value": { + "description": "Optional for both WebhookRequest and WebhookResponse.\nThe value of the parameter. This field can be set by the webhook to\nchange the parameter value.", + "type": "any" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessage": { + "description": "Represents a response message that can be returned by a conversational agent.\n\nResponse messages are also used for output audio synthesis. The approach is\nas follows:\n\n* If at least one OutputAudioText response is present, then all\n OutputAudioText responses are linearly concatenated, and the result is used\n for output audio synthesis.\n* If the OutputAudioText responses are a mixture of text and SSML, then the\n concatenated result is treated as SSML; otherwise, the result is treated as\n either text or SSML as appropriate. The agent designer should ideally use\n either text or SSML consistently throughout the bot design.\n* Otherwise, all Text responses are linearly concatenated, and the result is\n used for output audio synthesis.\n\nThis approach allows for more sophisticated user experience scenarios, where\nthe text displayed to the user may differ from what is heard.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessage", + "properties": { + "conversationSuccess": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess", + "description": "Indicates that the conversation succeeded." + }, + "endInteraction": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction", + "description": "Output only. A signal that indicates the interaction with the Dialogflow agent has\nended.\nThis message is generated by Dialogflow only when the conversation\nreaches `END_SESSION` or `END_PAGE` page. It is not supposed to be\ndefined by the user.\nIt's guaranteed that there is at most one such message in each response." + }, + "humanAgentHandoff": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff", + "description": "Hands off conversation to a human agent." + }, + "liveAgentHandoff": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff", + "description": "Hands off conversation to a human agent." + }, + "mixedAudio": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio", + "description": "Output only. An audio response message composed of both the synthesized Dialogflow\nagent responses and responses defined via\nplay_audio.\nThis message is generated by Dialogflow only and not supposed to be\ndefined by the user." + }, + "outputAudioText": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText", + "description": "A text or ssml response that is preferentially used for TTS output audio\nsynthesis, as described in the comment on the ResponseMessage message." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Returns a response containing a custom, platform-specific payload.", + "type": "object" + }, + "playAudio": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio", + "description": "Signal that the client should play an audio clip hosted at a\nclient-specific URI. Dialogflow uses this to construct\nmixed_audio. However, Dialogflow itself\ndoes not try to read or process the URI in any way." + }, + "text": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageText", + "description": "Returns a text response." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue\nthat the customer talked to it about.\n\nDialogflow only uses this to determine which conversations should be\ncounted as successful and doesn't process the metadata in this message in\nany way. Note that Dialogflow also considers conversations that get to the\nconversation end page as successful even if they don't return\nConversationSuccess.\n\nYou may set this, for example:\n* In the entry_fulfillment of a Page if\n entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer\n issue.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess", + "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction": { + "description": "Indicates that interaction with the Dialogflow agent has ended.\nThis message is generated by Dialogflow only and not supposed to be\ndefined by the user.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction", + "properties": {}, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a human agent.\n\nDialogflow only uses this to determine which conversations were handed off\nto a human agent for measurement purposes. What else to do with this signal\nis up to you and your handoff procedures.\n\nYou may set this, for example:\n* In the entry_fulfillment of a Page if\n entering the page indicates something went extremely wrong in the\n conversation.\n* In a webhook response when you determine that the customer issue can only\n be handled by a human.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageHumanAgentHandoff", + "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose\nany structure on this.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\n\nDialogflow only uses this to determine which conversations were handed off\nto a human agent for measurement purposes. What else to do with this signal\nis up to you and your handoff procedures.\n\nYou may set this, for example:\n* In the entry_fulfillment of a Page if\n entering the page indicates something went extremely wrong in the\n conversation.\n* In a webhook response when you determine that the customer issue can only\n be handled by a human.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff", + "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose\nany structure on this.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio": { + "description": "Represents an audio message that is composed of both segments\nsynthesized from the Dialogflow agent prompts and ones hosted externally\nat the specified URIs.\nThe external URIs are specified via\nplay_audio.\nThis message is generated by Dialogflow only and not supposed to be\ndefined by the user.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio", + "properties": { + "segments": { + "description": "Segments this audio response is composed of.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment": { + "description": "Represents one segment of audio.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this segment can be interrupted by the end\nuser's speech and the client should then start the next Dialogflow\nrequest.", + "type": "boolean" + }, + "audio": { + "description": "Raw audio synthesized from the Dialogflow agent's response using\nthe output config specified in the request.", + "format": "byte", + "type": "string" + }, + "uri": { + "description": "Client-specific URI that points to an audio clip accessible to the\nclient. Dialogflow does not impose any validation on it.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio\nsynthesis, as described in the comment on the ResponseMessage message.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText", + "properties": { + "ssml": { + "description": "The SSML text to be synthesized. For more information, see\n[SSML](/speech/text-to-speech/docs/ssml).", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end\nuser's speech and the client can then starts the next Dialogflow\nrequest.", + "type": "boolean" + }, + "audioUri": { + "description": "Required. URI of the audio clip. Dialogflow does not impose any validation on this\nvalue. It is specific to the client that reads it.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1ResponseMessageText": { + "description": "The text response message.", + "id": "GoogleCloudDialogflowCxV3beta1ResponseMessageText", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end\nuser's speech and the client can then starts the next Dialogflow\nrequest.", + "type": "boolean" + }, + "text": { + "description": "Required. A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1SessionInfo": { + "description": "Represents session information communicated to and from the webhook.", + "id": "GoogleCloudDialogflowCxV3beta1SessionInfo", + "properties": { + "parameters": { + "additionalProperties": { + "type": "any" + }, + "description": "Optional for WebhookRequest. Optional for WebhookResponse.\nAll parameters collected from forms and intents during the session.\nParameters can be created, updated, or removed by the webhook. To remove a\nparameter from the session, the webhook should explicitly set the parameter\nvalue to null in WebhookResponse. The map is keyed by parameters'\ndisplay names.", + "type": "object" + }, + "session": { + "description": "Always present for WebhookRequest. Ignored for WebhookResponse.\nThe unique identifier of the session. This\nfield can be used by the webhook to identify a user.\nFormat: `projects//locations//agents//sessions/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookRequest": { + "description": "The request message for a webhook call.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookRequest", + "properties": { + "detectIntentResponseId": { + "description": "Always present. The unique identifier of the DetectIntentResponse that\nwill be returned to the API caller.", + "type": "string" + }, + "fulfillmentInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo", + "description": "Always present. Information about the fulfillment that triggered this\nwebhook call." + }, + "intentInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", + "description": "Information about the last matched intent." + }, + "messages": { + "description": "The list of rich message responses to present to the user. Webhook can\nchoose to append or replace this list in\nWebhookResponse.fulfillment_response;", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage" + }, + "type": "array" + }, + "pageInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1PageInfo", + "description": "Information about page status." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom data set in QueryParameters.payload.", + "type": "object" + }, + "sessionInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1SessionInfo", + "description": "Information about session status." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo": { + "description": "Represents fulfillment information communicated to the webhook.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo", + "properties": { + "tag": { + "description": "Always present. The tag used to identify which fulfillment is being\ncalled.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo": { + "description": "Represents intent information communicated to the webhook.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", + "properties": { + "lastMatchedIntent": { + "description": "Always present. The unique identifier of the last matched\nintent. Format: `projects//locations//agents//intents/`.", + "type": "string" + }, + "parameters": { + "additionalProperties": { + "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue" + }, + "description": "Parameters identified as a result of intent matching. This is a map of\nthe name of the identified parameter to the value of the parameter\nidentified from the user's utterance. All parameters defined in the\nmatched intent that are identified will be surfaced here.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue": { + "description": "Represents a value for an intent parameter.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue", + "properties": { + "originalValue": { + "description": "Always present. Original text value extracted from user utterance.", + "type": "string" + }, + "resolvedValue": { + "description": "Always present. Structured value for the parameter extracted from user\nutterance.", + "type": "any" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookResponse": { + "description": "The response message for a webhook call.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookResponse", + "properties": { + "fulfillmentResponse": { + "$ref": "GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse", + "description": "The fulfillment response to send to the user. This field can be omitted by\nthe webhook if it does not intend to send any response to the user." + }, + "pageInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1PageInfo", + "description": "Information about page status. This field can be omitted by the webhook if\nit does not intend to modify page status." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Value to append directly to QueryResult.webhook_payloads.", + "type": "object" + }, + "sessionInfo": { + "$ref": "GoogleCloudDialogflowCxV3beta1SessionInfo", + "description": "Information about session status. This field can be omitted by the webhook\nif it does not intend to modify session status." + }, + "targetFlow": { + "description": "The target flow to transition to.\nFormat: `projects//locations//agents//flows/`.", + "type": "string" + }, + "targetPage": { + "description": "The target page to transition to.\nFormat: `projects//locations//agents//flows//pages/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse": { + "description": "Represents a fulfillment response to the user.", + "id": "GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse", + "properties": { + "mergeBehavior": { + "description": "Merge behavior for `messages`.", + "enum": [ + "MERGE_BEHAVIOR_UNSPECIFIED", + "APPEND", + "REPLACE" + ], + "enumDescriptions": [ + "Not specified. `APPEND` will be used.", + "`messages` will be appended to the list of messages waiting to be sent\nto the user.", + "`messages` will replace the list of messages waiting to be sent to the\nuser." + ], + "type": "string" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ResponseMessage" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2AnnotatedMessagePart": { "description": "Represents a part of a message possibly annotated with an entity. The part\ncan be an entity or purely a part of the message between two entities or\nmessage start/end.", "id": "GoogleCloudDialogflowV2AnnotatedMessagePart", @@ -4407,7 +4953,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The collection of parameters associated with this context.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", + "description": "Optional. The collection of parameters associated with this context.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" } }, @@ -4541,7 +5087,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The collection of parameters associated with the event.", + "description": "The collection of parameters associated with the event.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" } }, @@ -5397,7 +5943,7 @@ "type": "array" }, "value": { - "description": "Optional. The definition of the parameter value. It can be:\n- a constant string,\n- a parameter value defined as `$parameter_name`,\n- an original parameter value defined as `$parameter_name.original`,\n- a parameter value from some context defined as\n `#context_name.parameter_name`.", + "description": "Optional. The definition of the parameter value. It can be:\n\n- a constant string,\n- a parameter value defined as `$parameter_name`,\n- an original parameter value defined as `$parameter_name.original`,\n- a parameter value from some context defined as\n `#context_name.parameter_name`.", "type": "string" } }, @@ -5608,7 +6154,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The collection of extracted parameters.", + "description": "The collection of extracted parameters.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" }, "queryText": { @@ -5657,7 +6203,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SentimentAnalysisResult": { - "description": "The result of sentiment analysis as configured by\n`sentiment_analysis_request_config`.", + "description": "The result of sentiment analysis. Sentiment analysis inspects user input\nand identifies the prevailing subjective opinion, especially to determine a\nuser's attitude as positive, negative, or neutral.\nFor Participants.AnalyzeContent, it needs to be configured in\nDetectIntentRequest.query_params. For\nParticipants.StreamingAnalyzeContent, it needs to be configured in\nStreamingDetectIntentRequest.query_params.\nAnd for Participants.AnalyzeContent and\nParticipants.StreamingAnalyzeContent, it needs to be configured in\nConversationProfile.human_agent_assistant_config", "id": "GoogleCloudDialogflowV2SentimentAnalysisResult", "properties": { "queryTextSentiment": { @@ -5728,21 +6274,21 @@ "properties": { "followupEventInput": { "$ref": "GoogleCloudDialogflowV2EventInput", - "description": "Optional. Makes the platform immediately invoke another `DetectIntent` call\ninternally with the specified event as input.\nWhen this field is set, Dialogflow ignores the `fulfillment_text`,\n`fulfillment_messages`, and `payload` fields." + "description": "Optional. Invokes the supplied events.\nWhen this field is set, Dialogflow ignores the `fulfillment_text`,\n`fulfillment_messages`, and `payload` fields." }, "fulfillmentMessages": { - "description": "Optional. The collection of rich messages to present to the user. This\nvalue is passed directly to `QueryResult.fulfillment_messages`.", + "description": "Optional. The rich response messages intended for the end-user.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.fulfillment_messages sent to the integration or API caller.", "items": { "$ref": "GoogleCloudDialogflowV2IntentMessage" }, "type": "array" }, "fulfillmentText": { - "description": "Optional. The text to be shown on the screen. This value is passed directly\nto `QueryResult.fulfillment_text`.", + "description": "Optional. The text response message intended for the end-user.\nIt is recommended to use `fulfillment_messages.text.text[0]` instead.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.fulfillment_text sent to the integration or API caller.", "type": "string" }, "outputContexts": { - "description": "Optional. The collection of output contexts. This value is passed directly\nto `QueryResult.output_contexts`.", + "description": "Optional. The collection of output contexts that will overwrite currently\nactive contexts for the session and reset their lifespans.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.output_contexts sent to the integration or API caller.", "items": { "$ref": "GoogleCloudDialogflowV2Context" }, @@ -5753,18 +6299,18 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. This field can be used to pass custom data from your webhook to the API\ncaller. Arbitrary JSON objects are supported.\nWhen provided, Dialogflow uses this field to populate\n`QueryResult.webhook_payload` sent to the API caller.\nThis field is also used by the\n[Google Assistant\nintegration](https://cloud.google.com/dialogflow/docs/integrations/aog)\nfor rich response messages.\nSee the format definition at [Google Assistant Dialogflow webhook\nformat](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", + "description": "Optional. This field can be used to pass custom data from your webhook to the\nintegration or API caller. Arbitrary JSON objects are supported.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.webhook_payload sent to the integration or API caller.\nThis field is also used by the\n[Google Assistant\nintegration](https://cloud.google.com/dialogflow/docs/integrations/aog)\nfor rich response messages.\nSee the format definition at [Google Assistant Dialogflow webhook\nformat](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", "type": "object" }, "sessionEntityTypes": { - "description": "Optional. Additional session entity types to replace or extend developer\nentity types with. The entity synonyms apply to all languages and persist\nfor the session of this query. Setting the session entity types inside\nwebhook overwrites the session entity types that have been set through\n`DetectIntentRequest.query_params.session_entity_types`.", + "description": "Optional. Additional session entity types to replace or extend developer\nentity types with. The entity synonyms apply to all languages and persist\nfor the session. Setting this data from a webhook overwrites\nthe session entity types that have been set using `detectIntent`,\n`streamingDetectIntent` or SessionEntityType management methods.", "items": { "$ref": "GoogleCloudDialogflowV2SessionEntityType" }, "type": "array" }, "source": { - "description": "Optional. This value is passed directly to `QueryResult.webhook_source`.", + "description": "Optional. A custom field used to identify the webhook source.\nArbitrary strings are supported.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.webhook_source sent to the integration or API caller.", "type": "string" } }, @@ -6094,7 +6640,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The collection of parameters associated with this context.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", + "description": "Optional. The collection of parameters associated with this context.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" } }, @@ -6141,7 +6687,7 @@ "type": "array" }, "outputAudio": { - "description": "The audio data bytes encoded as specified in the request.\nNote: The output audio is generated based on the values of default platform\ntext responses found in the `query_result.fulfillment_messages` field. If\nmultiple default text responses exist, they will be concatenated when\ngenerating audio. If no default platform text responses exist, the\ngenerated audio content will be empty.", + "description": "The audio data bytes encoded as specified in the request.\nNote: The output audio is generated based on the values of default platform\ntext responses found in the `query_result.fulfillment_messages` field. If\nmultiple default text responses exist, they will be concatenated when\ngenerating audio. If no default platform text responses exist, the\ngenerated audio content will be empty.\n\nIn some scenarios, multiple output audio fields may be present in the\nresponse structure. In these cases, only the top-most-level audio output\nhas content.", "format": "byte", "type": "string" }, @@ -6180,6 +6726,10 @@ "description": "Required. The display name of the document. The name must be 1024 bytes or\nless; otherwise, the creation request fails.", "type": "string" }, + "enableAutoReload": { + "description": "Optional. If true, we try to automatically reload the document every day\n(at a time picked by the system). If false or unspecified, we don't try\nto automatically reload the document.\n\nCurrently you can only enable automatic reload for documents sourced from\na public url, see `source` field for the source types.\n\nReload status can be tracked in `latest_reload_status`. If a reload\nfails, we will keep the document unchanged.\n\nIf a reload fails with internal errors, the system will try to reload the\ndocument on the next day.\nIf a reload fails with non-retriable errors (e.g. PERMISION_DENIED), the\nsystem will not try to reload the document anymore. You need to manually\nreload the document successfully by calling `ReloadDocument` and clear the\nerrors.", + "type": "boolean" + }, "knowledgeTypes": { "description": "Required. The knowledge type of document content.", "enumDescriptions": [ @@ -6197,12 +6747,16 @@ }, "type": "array" }, + "latestReloadStatus": { + "$ref": "GoogleCloudDialogflowV2beta1DocumentReloadStatus", + "description": "Output only. The time and status of the latest reload.\nThis reload may have been triggered automatically or manually\nand may not have succeeded." + }, "mimeType": { "description": "Required. The MIME type of this document.", "type": "string" }, "name": { - "description": "The document resource name.\nThe name must be empty when creating a document.\nFormat: `projects//knowledgeBases//documents/`.", + "description": "Optional. The document resource name.\nThe name must be empty when creating a document.\nFormat: `projects//knowledgeBases//documents/`.", "type": "string" }, "rawContent": { @@ -6213,6 +6767,22 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1DocumentReloadStatus": { + "description": "The status of a reload attempt.", + "id": "GoogleCloudDialogflowV2beta1DocumentReloadStatus", + "properties": { + "status": { + "$ref": "GoogleRpcStatus", + "description": "Output only. The status of a reload attempt or the initial load." + }, + "time": { + "description": "Output only. The time of a reload attempt.\nThis reload may have been triggered automatically or manually and may\nnot have succeeded.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1EntityType": { "description": "Represents an entity type.\nEntity types serve as a tool for extracting parameter values from natural\nlanguage queries.", "id": "GoogleCloudDialogflowV2beta1EntityType", @@ -6299,6 +6869,46 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1Environment": { + "description": "Represents an agent environment.", + "id": "GoogleCloudDialogflowV2beta1Environment", + "properties": { + "agentVersion": { + "description": "Optional. The agent version loaded into this environment.\nFormat: `projects//agent/versions/`.", + "type": "string" + }, + "description": { + "description": "Optional. The developer-provided description for this environment.\nThe maximum length is 500 characters. If exceeded, the request is rejected.", + "type": "string" + }, + "name": { + "description": "Output only. The unique identifier of this agent environment.\nFormat:\n- `projects//agent/environments/`\n- `projects//locations//agent/environments/`", + "type": "string" + }, + "state": { + "description": "Output only. The state of this environment. This field is read-only, i.e., it cannot be\nset by create and update methods.", + "enum": [ + "STATE_UNSPECIFIED", + "STOPPED", + "LOADING", + "RUNNING" + ], + "enumDescriptions": [ + "Not specified. This value is not used.", + "Stopped.", + "Loading.", + "Running." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The last update time of this environment. This field is read-only, i.e., it\ncannot be set by create and update methods.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1EventInput": { "description": "Events allow for matching intents by event name instead of the natural\nlanguage input. For instance, input `` can trigger a personalized welcome response.\nThe parameter `name` may be used by the agent in the response:\n`\"Hello #welcome_event.name! What can I do for you today?\"`.", "id": "GoogleCloudDialogflowV2beta1EventInput", @@ -6316,7 +6926,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The collection of parameters associated with the event.", + "description": "The collection of parameters associated with the event.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" } }, @@ -6418,7 +7028,7 @@ "type": "object" }, "uri": { - "description": "Required. The fulfillment URI for receiving POST requests.", + "description": "Required. The fulfillment URI for receiving POST requests.\nIt must use https protocol.", "type": "string" }, "username": { @@ -6594,7 +7204,7 @@ "type": "array" }, "followupIntentInfo": { - "description": "Read-only. Information about all followup intents that have this intent as\na direct or indirect parent. We populate this field only in the output.", + "description": "Output only. Information about all followup intents that have this intent as\na direct or indirect parent. We populate this field only in the output.", "items": { "$ref": "GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo" }, @@ -6627,7 +7237,7 @@ "type": "boolean" }, "name": { - "description": "The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects//agent/intents/`.", + "description": "Optional. The unique identifier of this intent.\nRequired for Intents.UpdateIntent and Intents.BatchUpdateIntents\nmethods.\nFormat: `projects//agent/intents/`.", "type": "string" }, "outputContexts": { @@ -6645,11 +7255,11 @@ "type": "array" }, "parentFollowupIntentName": { - "description": "Read-only after creation. The unique identifier of the parent intent in the\nchain of followup intents. You can set this field when creating an intent,\nfor example with CreateIntent or\nBatchUpdateIntents, in order to make this\nintent a followup intent.\n\nIt identifies the parent followup intent.\nFormat: `projects//agent/intents/`.", + "description": "Optional. The unique identifier of the parent intent in the\nchain of followup intents. You can set this field when creating an intent,\nfor example with CreateIntent or\nBatchUpdateIntents, in order to make this\nintent a followup intent.\n\nIt identifies the parent followup intent.\nFormat: `projects//agent/intents/`.", "type": "string" }, "priority": { - "description": "The priority of this intent. Higher numbers represent higher\npriorities.\n\n- If the supplied value is unspecified or 0, the service\n translates the value to 500,000, which corresponds to the\n `Normal` priority in the console.\n- If the supplied value is negative, the intent is ignored\n in runtime detect intent requests.", + "description": "Optional. The priority of this intent. Higher numbers represent higher\npriorities.\n\n- If the supplied value is unspecified or 0, the service\n translates the value to 500,000, which corresponds to the\n `Normal` priority in the console.\n- If the supplied value is negative, the intent is ignored\n in runtime detect intent requests.", "format": "int32", "type": "integer" }, @@ -6658,7 +7268,7 @@ "type": "boolean" }, "rootFollowupIntentName": { - "description": "Read-only. The unique identifier of the root intent in the chain of\nfollowup intents. It identifies the correct followup intents chain for\nthis intent. We populate this field only in the output.\n\nFormat: `projects//agent/intents/`.", + "description": "Output only. The unique identifier of the root intent in the chain of\nfollowup intents. It identifies the correct followup intents chain for\nthis intent.\n\nFormat: `projects//agent/intents/`.", "type": "string" }, "trainingPhrases": { @@ -7261,7 +7871,7 @@ "type": "string" }, "height": { - "description": "Required for cards with vertical orientation. The height of the media\nwithin a rich card with a vertical layout. (https://goo.gl/NeFCjz).\nFor a standalone card with horizontal layout, height is not\ncustomizable, and this field is ignored.", + "description": "Required for cards with vertical orientation. The height of the media\nwithin a rich card with a vertical layout.\nFor a standalone card with horizontal layout, height is not\ncustomizable, and this field is ignored.", "enum": [ "HEIGHT_UNSPECIFIED", "SHORT", @@ -7284,7 +7894,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard": { - "description": "Carousel Rich Business Messaging (RBM) rich card.\n\nRich cards allow you to respond to users with more vivid content, e.g.\nwith media and suggestions.\n\nFor more details about RBM rich cards, please see:\nhttps://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.\nIf you want to show a single card with more control over the layout,\nplease use RbmStandaloneCard instead.", + "description": "Carousel Rich Business Messaging (RBM) rich card.\n\nRich cards allow you to respond to users with more vivid content, e.g.\nwith media and suggestions.\n\nIf you want to show a single card with more control over the layout,\nplease use RbmStandaloneCard instead.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard", "properties": { "cardContents": { @@ -7312,7 +7922,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard": { - "description": "Standalone Rich Business Messaging (RBM) rich card.\n\nRich cards allow you to respond to users with more vivid content, e.g.\nwith media and suggestions.\n\nFor more details about RBM rich cards, please see:\nhttps://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.\nYou can group multiple rich cards into one using RbmCarouselCard but\ncarousel cards will give you less control over the card layout.", + "description": "Standalone Rich Business Messaging (RBM) rich card.\n\nRich cards allow you to respond to users with more vivid content, e.g.\nwith media and suggestions.\n\nYou can group multiple rich cards into one using RbmCarouselCard but\ncarousel cards will give you less control over the card layout.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard", "properties": { "cardContent": { @@ -7378,7 +7988,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial": { - "description": "Opens the user's default dialer app with the specified phone number\nbut does not dial automatically (https://goo.gl/ergbB2).", + "description": "Opens the user's default dialer app with the specified phone number\nbut does not dial automatically.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial", "properties": { "phoneNumber": { @@ -7389,7 +7999,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri": { - "description": "Opens the user's default web browser app to the specified uri\n(https://goo.gl/6GLJD2). If the user has an app installed that is\nregistered as the default handler for the URL, then this app will be\nopened instead, and its icon will be used in the suggested action UI.", + "description": "Opens the user's default web browser app to the specified uri\nIf the user has an app installed that is\nregistered as the default handler for the URL, then this app will be\nopened instead, and its icon will be used in the suggested action UI.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri", "properties": { "uri": { @@ -7400,7 +8010,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation": { - "description": "Opens the device's location chooser so the user can pick a location\nto send back to the agent (https://goo.gl/GXotJW).", + "description": "Opens the device's location chooser so the user can pick a location\nto send back to the agent.", "id": "GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation", "properties": {}, "type": "object" @@ -7685,7 +8295,7 @@ "type": "array" }, "value": { - "description": "Optional. The definition of the parameter value. It can be:\n- a constant string,\n- a parameter value defined as `$parameter_name`,\n- an original parameter value defined as `$parameter_name.original`,\n- a parameter value from some context defined as\n `#context_name.parameter_name`.", + "description": "Optional. The definition of the parameter value. It can be:\n\n- a constant string,\n- a parameter value defined as `$parameter_name`,\n- an original parameter value defined as `$parameter_name.original`,\n- a parameter value from some context defined as\n `#context_name.parameter_name`.", "type": "string" } }, @@ -7829,7 +8439,7 @@ "id": "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata", "properties": { "state": { - "description": "Required. The current state of this operation.", + "description": "Required. Output only. The current state of this operation.", "enum": [ "STATE_UNSPECIFIED", "PENDING", @@ -7912,6 +8522,24 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1ListEnvironmentsResponse": { + "description": "The response message for Environments.ListEnvironments.", + "id": "GoogleCloudDialogflowV2beta1ListEnvironmentsResponse", + "properties": { + "environments": { + "description": "The list of agent environments. There will be a maximum number of items\nreturned based on the page_size field in the request.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1ListIntentsResponse": { "description": "The response message for Intents.ListIntents.", "id": "GoogleCloudDialogflowV2beta1ListIntentsResponse", @@ -8166,7 +8794,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The collection of extracted parameters.", + "description": "The collection of extracted parameters.\n\nDepending on your protocol or client library language, this is a\nmap, associative array, symbol table, dictionary, or JSON object\ncomposed of a collection of (MapKey, MapValue) pairs:\n\n- MapKey type: string\n- MapKey value: parameter name\n- MapValue type:\n - If parameter's entity type is a composite entity: map\n - Else: string or number, depending on parameter value type\n- MapValue value:\n - If parameter's entity type is a composite entity:\n map from composite entity property names to property values\n - Else: parameter value", "type": "object" }, "queryText": { @@ -8203,7 +8831,7 @@ "properties": { "gcsSource": { "$ref": "GoogleCloudDialogflowV2beta1GcsSource", - "description": "Optional. The path for a Cloud Storage source file for reloading document content.\nIf not provided, the Document's existing source will be reloaded." + "description": "The path for a Cloud Storage source file for reloading document content.\nIf not provided, the Document's existing source will be reloaded." } }, "type": "object" @@ -8271,7 +8899,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1SentimentAnalysisResult": { - "description": "The result of sentiment analysis as configured by\n`sentiment_analysis_request_config`.", + "description": "The result of sentiment analysis. Sentiment analysis inspects user input\nand identifies the prevailing subjective opinion, especially to determine a\nuser's attitude as positive, negative, or neutral.\nFor Participants.AnalyzeContent, it needs to be configured in\nDetectIntentRequest.query_params. For\nParticipants.StreamingAnalyzeContent, it needs to be configured in\nStreamingDetectIntentRequest.query_params.\nAnd for Participants.AnalyzeContent and\nParticipants.StreamingAnalyzeContent, it needs to be configured in\nConversationProfile.human_agent_assistant_config", "id": "GoogleCloudDialogflowV2beta1SentimentAnalysisResult", "properties": { "queryTextSentiment": { @@ -8318,7 +8946,7 @@ "id": "GoogleCloudDialogflowV2beta1SpeechContext", "properties": { "boost": { - "description": "Optional. Boost for this context compared to other contexts:\n* If the boost is positive, Dialogflow will increase the probability that\n the phrases in this context are recognized over similar sounding phrases.\n* If the boost is unspecified or non-positive, Dialogflow will not apply\n any boost.\n\nDialogflow recommends that you use boosts in the range (0, 20] and that you\nfind a value that fits your use case with binary search.", + "description": "Optional. Boost for this context compared to other contexts:\n\n* If the boost is positive, Dialogflow will increase the probability that\n the phrases in this context are recognized over similar sounding phrases.\n* If the boost is unspecified or non-positive, Dialogflow will not apply\n any boost.\n\nDialogflow recommends that you use boosts in the range (0, 20] and that you\nfind a value that fits your use case with binary search.", "format": "float", "type": "number" }, @@ -8518,21 +9146,21 @@ }, "followupEventInput": { "$ref": "GoogleCloudDialogflowV2beta1EventInput", - "description": "Optional. Makes the platform immediately invoke another `DetectIntent` call\ninternally with the specified event as input.\nWhen this field is set, Dialogflow ignores the `fulfillment_text`,\n`fulfillment_messages`, and `payload` fields." + "description": "Optional. Invokes the supplied events.\nWhen this field is set, Dialogflow ignores the `fulfillment_text`,\n`fulfillment_messages`, and `payload` fields." }, "fulfillmentMessages": { - "description": "Optional. The collection of rich messages to present to the user. This\nvalue is passed directly to `QueryResult.fulfillment_messages`.", + "description": "Optional. The rich response messages intended for the end-user.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.fulfillment_messages sent to the integration or API caller.", "items": { "$ref": "GoogleCloudDialogflowV2beta1IntentMessage" }, "type": "array" }, "fulfillmentText": { - "description": "Optional. The text to be shown on the screen. This value is passed directly\nto `QueryResult.fulfillment_text`.", + "description": "Optional. The text response message intended for the end-user.\nIt is recommended to use `fulfillment_messages.text.text[0]` instead.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.fulfillment_text sent to the integration or API caller.", "type": "string" }, "outputContexts": { - "description": "Optional. The collection of output contexts. This value is passed directly\nto `QueryResult.output_contexts`.", + "description": "Optional. The collection of output contexts that will overwrite currently\nactive contexts for the session and reset their lifespans.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.output_contexts sent to the integration or API caller.", "items": { "$ref": "GoogleCloudDialogflowV2beta1Context" }, @@ -8543,18 +9171,34 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. This field can be used to pass custom data from your webhook to the API\ncaller. Arbitrary JSON objects are supported.\nWhen provided, Dialogflow uses this field to populate\n`QueryResult.webhook_payload` sent to the API caller.\nThis field is also used by the\n[Google Assistant\nintegration](https://cloud.google.com/dialogflow/docs/integrations/aog)\nfor rich response messages.\nSee the format definition at [Google Assistant Dialogflow webhook\nformat](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", + "description": "Optional. This field can be used to pass custom data from your webhook to the\nintegration or API caller. Arbitrary JSON objects are supported.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.webhook_payload sent to the integration or API caller.\nThis field is also used by the\n[Google Assistant\nintegration](https://cloud.google.com/dialogflow/docs/integrations/aog)\nfor rich response messages.\nSee the format definition at [Google Assistant Dialogflow webhook\nformat](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json)", "type": "object" }, "sessionEntityTypes": { - "description": "Optional. Additional session entity types to replace or extend developer\nentity types with. The entity synonyms apply to all languages and persist\nfor the session of this query. Setting the session entity types inside\nwebhook overwrites the session entity types that have been set through\n`DetectIntentRequest.query_params.session_entity_types`.", + "description": "Optional. Additional session entity types to replace or extend developer\nentity types with. The entity synonyms apply to all languages and persist\nfor the session. Setting this data from a webhook overwrites\nthe session entity types that have been set using `detectIntent`,\n`streamingDetectIntent` or SessionEntityType management methods.", "items": { "$ref": "GoogleCloudDialogflowV2beta1SessionEntityType" }, "type": "array" }, "source": { - "description": "Optional. This value is passed directly to `QueryResult.webhook_source`.", + "description": "Optional. A custom field used to identify the webhook source.\nArbitrary strings are supported.\nWhen provided, Dialogflow uses this field to populate\nQueryResult.webhook_source sent to the integration or API caller.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV3alpha1ExportAgentResponse": { + "description": "The response message for Agents.ExportAgent.", + "id": "GoogleCloudDialogflowV3alpha1ExportAgentResponse", + "properties": { + "agentContent": { + "description": "Uncompressed raw byte content for agent.", + "format": "byte", + "type": "string" + }, + "agentUri": { + "description": "The URI to a file containing the exported agent. This field is populated\nonly if `agent_uri` is specified in ExportAgentRequest.", "type": "string" } }, diff --git a/etc/api/digitalassetlinks/v1/digitalassetlinks-api.json b/etc/api/digitalassetlinks/v1/digitalassetlinks-api.json index 8997db78a3..8ba9897af2 100644 --- a/etc/api/digitalassetlinks/v1/digitalassetlinks-api.json +++ b/etc/api/digitalassetlinks/v1/digitalassetlinks-api.json @@ -184,7 +184,7 @@ } } }, - "revision": "20200331", + "revision": "20200702", "rootUrl": "https://digitalassetlinks.googleapis.com/", "schemas": { "AndroidAppAsset": { diff --git a/etc/api/discovery/v1/discovery-api.json b/etc/api/discovery/v1/discovery-api.json index 517d2a16c8..ea7d8d9dd0 100644 --- a/etc/api/discovery/v1/discovery-api.json +++ b/etc/api/discovery/v1/discovery-api.json @@ -5,7 +5,7 @@ "description": "Provides information about other Google APIs, such as what APIs are available, the resource, and method details for each API.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/discovery/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/9dYEo-wSKRTu3i_EmX4qXGr5keA\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/3tBLUP2-2LOOUkYGKYTP8h3Iv3I\"", "icons": { "x16": "http://www.google.com/images/icons/feature/filing_cabinet_search-g16.png", "x32": "http://www.google.com/images/icons/feature/filing_cabinet_search-g32.png" @@ -116,7 +116,7 @@ } } }, - "revision": "20200402", + "revision": "20200701", "rootUrl": "https://www.googleapis.com/", "schemas": { "DirectoryList": { diff --git a/etc/api/displayvideo/v1/displayvideo-api.json b/etc/api/displayvideo/v1/displayvideo-api.json new file mode 100644 index 0000000000..5a85de95d2 --- /dev/null +++ b/etc/api/displayvideo/v1/displayvideo-api.json @@ -0,0 +1,11825 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/display-video": { + "description": "Create, see, edit, and permanently delete your Display & Video 360 entities and reports" + }, + "https://www.googleapis.com/auth/doubleclickbidmanager": { + "description": "View and manage your reports in DoubleClick Bid Manager" + } + } + } + }, + "basePath": "", + "baseUrl": "https://displayvideo.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Display Video", + "description": "Display & Video 360 API allows users to manage and create campaigns and reports.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/display-video/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "displayvideo:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://displayvideo.mtls.googleapis.com/", + "name": "displayvideo", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "advertisers": { + "methods": { + "bulkEditAdvertiserAssignedTargetingOptions": { + "description": "Bulk edits targeting options under a single advertiser.\nThe operation will delete the assigned targeting options provided in\nBulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and\nthen create the assigned targeting options provided in\nBulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .", + "flatPath": "v1/advertisers/{advertisersId}:bulkEditAdvertiserAssignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}:bulkEditAdvertiserAssignedTargetingOptions", + "request": { + "$ref": "BulkEditAdvertiserAssignedTargetingOptionsRequest" + }, + "response": { + "$ref": "BulkEditAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "bulkListAdvertiserAssignedTargetingOptions": { + "description": "Lists assigned targeting options of an advertiser across targeting types.", + "flatPath": "v1/advertisers/{advertisersId}:bulkListAdvertiserAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option properties.\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by the logical operator `OR`..\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `targetingType`\n\nExamples:\n\n* targetingType with value TARGETING_TYPE_CHANNEL\n`targetingType=\"TARGETING_TYPE_CHANNEL\"`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `targetingType` (default)\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size.\nThe size must be an integer between `1` and `5000`. If unspecified,\nthe default is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid\nvalue is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token that lets the client fetch the next page of results.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to\n`BulkListAdvertiserAssignedTargetingOptions` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}:bulkListAdvertiserAssignedTargetingOptions", + "response": { + "$ref": "BulkListAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a new advertiser.\nReturns the newly created advertiser if successful.\nThis method can take up to 180 seconds to complete.", + "flatPath": "v1/advertisers", + "httpMethod": "POST", + "id": "displayvideo.advertisers.create", + "parameterOrder": [], + "parameters": {}, + "path": "v1/advertisers", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an advertiser.\nDeleting an advertiser will delete all of its child resources, for example,\ncampaigns, insertion orders and line items.\nA deleted advertiser cannot be recovered.", + "flatPath": "v1/advertisers/{advertisersId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.delete", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser we need to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an advertiser.", + "flatPath": "v1/advertisers/{advertisersId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.get", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}", + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists advertisers that are accessible to the current user.\n\nThe order is defined by the order_by\nparameter.\n\nA single partner_id is required.\nCross-partner listing is not supported.", + "flatPath": "v1/advertisers", + "httpMethod": "GET", + "id": "displayvideo.advertisers.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Allows filtering by advertiser properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by `AND` or `OR` logical operators. A\nsequence of restrictions implicitly uses `AND`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `entityStatus`\n\nExamples:\n\n* All active advertisers under a partner:\n`entityStatus=\"ENTITY_STATUS_ACTIVE\"`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `displayName` (default)\n* `entityStatus`\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. For example,\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListAdvertisers` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner that the fetched advertisers should all belong to.\nThe system only supports listing advertisers for one partner at a time.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers", + "response": { + "$ref": "ListAdvertisersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing advertiser.\nReturns the updated advertiser if successful.", + "flatPath": "v1/advertisers/{advertisersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.patch", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "assets": { + "methods": { + "upload": { + "description": "Uploads an asset.\nReturns the ID of the newly uploaded asset if successful.\nThe asset file size should be no more than 10 MB for images, 200 MB for\nZIP files, and 1 GB for videos.", + "flatPath": "v1/advertisers/{advertisersId}/assets", + "httpMethod": "POST", + "id": "displayvideo.advertisers.assets.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1/advertisers/{+advertiserId}/assets" + } + } + }, + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this asset belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/assets", + "request": { + "$ref": "CreateAssetRequest" + }, + "response": { + "$ref": "CreateAssetResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ], + "supportsMediaUpload": true + } + } + }, + "campaigns": { + "methods": { + "create": { + "description": "Creates a new campaign.\nReturns the newly created campaign if successful.", + "flatPath": "v1/advertisers/{advertisersId}/campaigns", + "httpMethod": "POST", + "id": "displayvideo.advertisers.campaigns.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/campaigns", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Permanently deletes a campaign. A deleted campaign cannot be recovered.\nThe campaign should be archived first, i.e. set\nentity_status to `ENTITY_STATUS_ARCHIVED`, to be\nable to delete it.", + "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.campaigns.delete", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "The ID of the campaign we need to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a campaign.", + "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.get", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists campaigns in an advertiser.\n\nThe order is defined by the order_by\nparameter.\nIf a filter by\nentity_status is not specified, campaigns with\n`ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v1/advertisers/{advertisersId}/campaigns", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser to list campaigns for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by campaign properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by `AND` or `OR` logical operators. A\nsequence of restrictions implicitly uses `AND`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `entityStatus`\n\nExamples:\n\n* All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an\nadvertiser:\n`(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR\nentityStatus=\"ENTITY_STATUS_PAUSED\")`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `displayName` (default)\n* `entityStatus`\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token returned from the\nprevious call to `ListCampaigns` method. If not specified, the first page\nof results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/campaigns", + "response": { + "$ref": "ListCampaignsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing campaign.\nReturns the updated campaign if successful.", + "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.campaigns.patch", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "channels": { + "methods": { + "create": { + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v1/advertisers/{advertisersId}/channels", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/channels", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v1/advertisers/{advertisersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.get", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the fetched channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the channel to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/channels/{+channelId}", + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v1/advertisers/{advertisersId}/channels", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channels.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by channel fields.\n\nSupported syntax:\n\n* Filter expressions for channel currently can only contain at most one\n* restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `displayName`\n\nExamples:\n\n* All channels for which the display name contains \"google\":\n`displayName : \"google\"`.\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `displayName` (default)\n* `channelId`\n\nThe default sorting order is ascending. To specify descending order for a\nfield, a suffix \" desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token returned from the\nprevious call to `ListChannels` method. If not specified, the first page\nof results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/channels", + "response": { + "$ref": "ListChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v1/advertisers/{advertisersId}/channels/{channelId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.channels.patch", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/channels/{channelId}", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel.\n\nThe operation will delete the sites provided in\nBulkEditSitesRequest.deleted_sites and then create the sites\nprovided in BulkEditSitesRequest.created_sites.", + "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.bulkEdit", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit", + "request": { + "$ref": "BulkEditSitesRequest" + }, + "response": { + "$ref": "BulkEditSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a site in a channel.", + "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.create", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel in which the site will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a site from a channel.", + "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.channels.sites.delete", + "parameterOrder": [ + "advertiserId", + "channelId", + "urlOrAppId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the site belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists sites in a channel.", + "flatPath": "v1/advertisers/{advertisersId}/channels/{channelsId}/sites", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.sites.list", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the requested sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by site fields.\n\nSupported syntax:\n\n* Filter expressions for site currently can only contain at most one\n* restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `urlOrAppId`\n\nExamples:\n\n* All sites for which the URL or app ID contains \"google\":\n`urlOrAppId : \"google\"`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `urlOrAppId` (default)\n\nThe default sorting order is ascending. To specify descending order for a\nfield, a suffix \" desc\" should be added to the field name. Example:\n`urlOrAppId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\n\nTypically, this is the value of\nnext_page_token returned from the\nprevious call to `ListSites` method. If not specified, the first page\nof results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/channels/{+channelId}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "creatives": { + "methods": { + "create": { + "description": "Creates a new creative.\nReturns the newly created creative if successful.", + "flatPath": "v1/advertisers/{advertisersId}/creatives", + "httpMethod": "POST", + "id": "displayvideo.advertisers.creatives.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a creative.\nReturns error code `NOT_FOUND` if the creative does not exist.\nThe creative should be archived first, i.e. set\nentity_status to `ENTITY_STATUS_ARCHIVED`, before\nit can be deleted.", + "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.creatives.delete", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "The ID of the creative to be deleted.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a creative.", + "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.get", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "Required. The ID of the creative to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}", + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists creatives in an advertiser.\n\nThe order is defined by the order_by\nparameter.\nIf a filter by\nentity_status is not specified, creatives with\n`ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v1/advertisers/{advertisersId}/creatives", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list creatives for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by creative properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restriction for the same field must be combined by `OR`.\n* Restriction for different fields must be combined by `AND`.\n* Between `(` and `)` there can only be restrictions combined by `OR`\nfor the same field.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)` for the following fields:\n - `entityStatus`\n - `creativeType`.\n - `dimensions`\n - `minDuration`\n - `maxDuration`\n - `approvalStatus`\n - `exchangeReviewStatus`\n - `dynamic`\n - `creativeId`\n* The operator must be `HAS (:)` for the following fields:\n - `lineItemIds`\n* For `entityStatus`, `minDuration`, `maxDuration`, and `dynamic` there may\nbe at most one restriction.\n* For `dimensions`, the value is in the form of `\"{width}x{height}\"`.\n* For `exchangeReviewStatus`, the value is in the form of\n`{exchange}-{reviewStatus}`.\n* For `minDuration` and `maxDuration`, the value is in the form of\n`\"{duration}s\"`. Only seconds are supported with millisecond granularity.\n* There may be multiple `lineItemIds` restrictions in order to search\nagainst multiple possible line item IDs.\n* There may be multiple `creativeId` restrictions in order to search\nagainst multiple possible creative IDs.\n\nExamples:\n\n* All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"`\n* All active creatives with 300x400 or 50x100 dimensions:\n`entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\"\nOR dimensions=\"50x100\")`\n* All dynamic creatives that are approved by AdX or\nAppNexus, with a minimum duration of 5 seconds and 200ms.\n`dynamic=\"true\" AND minDuration=\"5.2s\" AND\n(exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\"\nOR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")`\n* All video creatives that are associated with line item ID 1 or 2:\n`creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)`\n* Find creatives by multiple creative IDs:\n`creativeId=1 OR creativeId=2`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `creativeId` (default)\n* `createTime`\n* `mediaDuration`\n* `dimensions` (sorts by width first, then by height)\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name.\nExample: `createTime desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListCreatives` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/creatives", + "response": { + "$ref": "ListCreativesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing creative.\nReturns the updated creative if successful.", + "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.creatives.patch", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "Output only. The unique ID of the creative. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "insertionOrders": { + "methods": { + "create": { + "description": "Creates a new insertion order.\nReturns the newly created insertion order if successful.", + "flatPath": "v1/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "POST", + "id": "displayvideo.advertisers.insertionOrders.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/insertionOrders", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an insertion order.\nReturns error code `NOT_FOUND` if the insertion order does not exist.\nThe insertion order should be archived first, i.e. set\nentity_status to `ENTITY_STATUS_ARCHIVED`,\nto be able to delete it.", + "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.insertionOrders.delete", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "The ID of the insertion order we need to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an insertion order.\nReturns error code `NOT_FOUND` if the insertion order does not exist.", + "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.get", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists insertion orders in an advertiser.\n\nThe order is defined by the order_by\nparameter.\nIf a filter by\nentity_status is not specified, insertion\norders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v1/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list insertion orders for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by insertion order properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by `AND` or `OR` logical operators. A\nsequence of restrictions implicitly uses `AND`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `campaignId`\n - `entityStatus`\n\nExamples:\n\n* All insertion orders under a campaign: `campaignId=\"1234\"`\n* All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders\nunder an advertiser:\n`(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR\nentityStatus=\"ENTITY_STATUS_PAUSED\")`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* \"displayName\" (default)\n* \"entityStatus\"\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token returned\nfrom the previous call to `ListInsertionOrders` method. If not specified,\nthe first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/insertionOrders", + "response": { + "$ref": "ListInsertionOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing insertion order.\nReturns the updated insertion order if successful.", + "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.insertionOrders.patch", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "lineItems": { + "methods": { + "bulkEditLineItemAssignedTargetingOptions": { + "description": "Bulk edits targeting options under a single line item.\nThe operation will delete the assigned targeting options provided in\nBulkEditLineItemAssignedTargetingOptionsRequest.delete_requests and\nthen create the assigned targeting options provided in\nBulkEditLineItemAssignedTargetingOptionsRequest.create_requests .", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkEditLineItemAssignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option will belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkEditLineItemAssignedTargetingOptions", + "request": { + "$ref": "BulkEditLineItemAssignedTargetingOptionsRequest" + }, + "response": { + "$ref": "BulkEditLineItemAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "bulkListLineItemAssignedTargetingOptions": { + "description": "Lists assigned targeting options of a line item across targeting types.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkListLineItemAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option properties.\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by the logical operator `OR` on the same\nfield.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `targetingType`\n - `inheritance`\n\nExamples:\n\n* AssignedTargetingOptions of targeting type\nTARGETING_TYPE_PROXIMITY_LOCATION_LIST or TARGETING_TYPE_CHANNEL\n`targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR\ntargetingType=\"TARGETING_TYPE_CHANNEL\"`\n* AssignedTargetingOptions with inheritance status of NOT_INHERITED or\n INHERITED_FROM_PARTNER\n`inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `targetingType` (default)\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size.\nThe size must be an integer between `1` and `5000`. If unspecified,\nthe default is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid\nvalue is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token that lets the client fetch the next page of results.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to\n`BulkListLineItemAssignedTargetingOptions` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkListLineItemAssignedTargetingOptions", + "response": { + "$ref": "BulkListLineItemAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a new line item.\nReturns the newly created line item if successful.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems", + "request": { + "$ref": "LineItem" + }, + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a line item.\nReturns error code `NOT_FOUND` if the line item does not exist.\nThe line item should be archived first, i.e. set\nentity_status to `ENTITY_STATUS_ARCHIVED`, to be\nable to delete it.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.lineItems.delete", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "The ID of the line item we need to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a line item.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.get", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists line items in an advertiser.\n\nThe order is defined by the order_by\nparameter.\nIf a filter by\nentity_status is not specified, line items with\n`ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list line items for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by line item properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by `AND` or `OR` logical operators. A\nsequence of restrictions implicitly uses `AND`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `campaignId`\n - `insertionOrderId`\n - `entityStatus`\n - `lineItemType`.\n\nExamples:\n\n* All line items under an insertion order: `insertionOrderId=\"1234\"`\n* All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED`\nand `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser:\n`(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR\nentityStatus=\"ENTITY_STATUS_PAUSED\") AND\nlineItemType=\"LINE_ITEM_TYPE_DISPLAY_DEFAULT\"`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* \"displayName\" (default)\n* \"entityStatus\"\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListLineItems` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems", + "response": { + "$ref": "ListLineItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing line item.\nReturns the updated line item if successful.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.lineItems.patch", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Output only. The unique ID of the line item. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "request": { + "$ref": "LineItem" + }, + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to a line item.\nReturns the assigned targeting option if successful.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option will belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from a line item.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to a line item.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this line item that\nidentifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to a line item.", + "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by the logical operator `OR`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `assignedTargetingOptionId`\n - `inheritance`\n\nExamples:\n\n* AssignedTargetingOptions with ID 1 or 2\n`assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"`\n* AssignedTargetingOptions with inheritance status of NOT_INHERITED or\n INHERITED_FROM_PARTNER\n`inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `assignedTargetingOptionId` (default)\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListLineItemAssignedTargetingOptions`\nmethod. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListLineItemAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "locationLists": { + "methods": { + "create": { + "description": "Creates a new location list. Returns the newly created location list if\nsuccessful.", + "flatPath": "v1/advertisers/{advertisersId}/locationLists", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/locationLists", + "request": { + "$ref": "LocationList" + }, + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a location list.", + "flatPath": "v1/advertisers/{advertisersId}/locationLists/{locationListsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.get", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched location list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/locationLists/{+locationListId}", + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists location lists based on a given advertiser id.", + "flatPath": "v1/advertisers/{advertisersId}/locationLists", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched location lists belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by location list fields.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by `AND` or `OR` logical operators. A\nsequence of restrictions implicitly uses `AND`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `locationType`\n\nExamples:\n\n* All regional location list:\n`locationType=\"TARGETING_LOCATION_TYPE_REGIONAL\"`\n* All proximity location list:\n`locationType=\"TARGETING_LOCATION_TYPE_PROXIMITY\"`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `locationListId` (default)\n* `displayName`\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`.\nDefaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an\ninvalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\n\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListLocationLists` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/locationLists", + "response": { + "$ref": "ListLocationListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a location list. Returns the updated location list if successful.", + "flatPath": "v1/advertisers/{advertisersId}/locationLists/{locationListId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.locationLists.patch", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location lists belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Output only. The unique ID of the location list. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/locationLists/{locationListId}", + "request": { + "$ref": "LocationList" + }, + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "assignedLocations": { + "methods": { + "bulkEdit": { + "description": "Bulk edits multiple assignments between locations and a single location\nlist.\n\nThe operation will delete the assigned locations provided in\nBulkEditAssignedLocationsRequest.deleted_assigned_locations and then\ncreate the assigned locations provided in\nBulkEditAssignedLocationsRequest.created_assigned_locations.", + "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which these assignments are assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit", + "request": { + "$ref": "BulkEditAssignedLocationsRequest" + }, + "response": { + "$ref": "BulkEditAssignedLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates an assignment between a location and a location list.", + "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.assignedLocations.create", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list for which the assignment will be created.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "request": { + "$ref": "AssignedLocation" + }, + "response": { + "$ref": "AssignedLocation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes the assignment between a location and a location list.", + "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{assignedLocationsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.locationLists.assignedLocations.delete", + "parameterOrder": [ + "advertiserId", + "locationListId", + "assignedLocationId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "assignedLocationId": { + "description": "Required. The ID of the assigned location to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which this assignment is assigned.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists locations assigned to a location list.", + "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.assignedLocations.list", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by location list assignment fields.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by the logical operator `OR`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `assignedLocationId`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which these assignments are assigned.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `assignedLocationId` (default)\n\nThe default sorting order is ascending. To specify descending order for a\nfield, a suffix \" desc\" should be added to the field name. Example:\n`assignedLocationId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\n\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListAssignedLocations`\nmethod. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "response": { + "$ref": "ListAssignedLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "negativeKeywordLists": { + "methods": { + "create": { + "description": "Creates a new negative keyword list. Returns the newly created negative\nkeyword list if successful.", + "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list will\nbelong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists", + "request": { + "$ref": "NegativeKeywordList" + }, + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a negative keyword list given an advertiser ID and a negative\nkeyword list ID.", + "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.negativeKeywordLists.delete", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the negative keyword list to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a negative keyword list given an advertiser ID and a negative keyword\nlist ID.", + "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.get", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword list\nbelongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the negative keyword list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}", + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists negative keyword lists based on a given advertiser id.", + "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword lists\nbelong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`.\nDefaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an\ninvalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\n\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListNegativeKeywordLists` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists", + "response": { + "$ref": "ListNegativeKeywordListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a negative keyword list. Returns the updated negative keyword list\nif successful.", + "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.negativeKeywordLists.patch", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}", + "request": { + "$ref": "NegativeKeywordList" + }, + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "negativeKeywords": { + "methods": { + "bulkEdit": { + "description": "Bulk edits negative keywords in a single negative keyword list.\n\nThe operation will delete the negative keywords provided in\nBulkEditNegativeKeywordsRequest.deleted_negative_keywords and then\ncreate the negative keywords provided in\nBulkEditNegativeKeywordsRequest.created_negative_keywords.\n\nThis operation is guaranteed to be atomic and will never result in a\npartial success or partial failure.", + "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list\nbelongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the negative keywords\nbelong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit", + "request": { + "$ref": "BulkEditNegativeKeywordsRequest" + }, + "response": { + "$ref": "BulkEditNegativeKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a negative keyword in a negative keyword list.", + "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list\nbelongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list in which the negative keyword\nwill be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords", + "request": { + "$ref": "NegativeKeyword" + }, + "response": { + "$ref": "NegativeKeyword" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a negative keyword from a negative keyword list.", + "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords/{negativeKeywordsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId", + "keywordValue" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list\nbelongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "keywordValue": { + "description": "Required. The keyword value of the negative keyword to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the negative keyword\nbelongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists negative keywords in a negative keyword list.", + "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list\nbelongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by negative keyword fields.\n\nSupported syntax:\n\n* Filter expressions for negative keyword currently can only contain at\nmost one\n* restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `keywordValue`\n\nExamples:\n\n* All negative keywords for which the keyword value contains \"google\":\n`keywordValue : \"google\"`", + "location": "query", + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the requested negative\nkeywords belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `keywordValue` (default)\n\nThe default sorting order is ascending. To specify descending order for a\nfield, a suffix \" desc\" should be added to the field name. Example:\n`keywordValue desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\n\nTypically, this is the value of\nnext_page_token returned\nfrom the previous call to `ListNegativeKeywords` method. If not specified,\nthe first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords", + "response": { + "$ref": "ListNegativeKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to an advertiser.\nReturns the assigned targeting option if successful.", + "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from an advertiser.", + "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to an advertiser.", + "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this advertiser that\nidentifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to an advertiser.", + "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by the logical operator `OR`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `assignedTargetingOptionId`\n\nExamples:\n\n* AssignedTargetingOption with ID 123456\n`assignedTargetingOptionId=\"123456\"`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `assignedTargetingOptionId` (default)\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListAdvertiserAssignedTargetingOptions`\nmethod. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "combinedAudiences": { + "methods": { + "get": { + "description": "Gets a combined audience.", + "flatPath": "v1/combinedAudiences/{combinedAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.combinedAudiences.get", + "parameterOrder": [ + "combinedAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched combined\naudience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "combinedAudienceId": { + "description": "Required. The ID of the combined audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched combined audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/combinedAudiences/{+combinedAudienceId}", + "response": { + "$ref": "CombinedAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists combined audiences.\n\nThe order is defined by the\norder_by parameter.", + "flatPath": "v1/combinedAudiences", + "httpMethod": "GET", + "id": "displayvideo.combinedAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched combined\naudiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by combined audience fields.\n\nSupported syntax:\n\n* Filter expressions for combined audiences currently can only contain at\nmost one restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `displayName`\n\nExamples:\n\n* All combined audiences for which the display name contains \"Google\":\n`displayName : \"Google\"`.\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `combinedAudienceId` (default)\n* `displayName`\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListCombinedAudiences` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched combined audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/combinedAudiences", + "response": { + "$ref": "ListCombinedAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "customLists": { + "methods": { + "get": { + "description": "Gets a custom list.", + "flatPath": "v1/customLists/{customListsId}", + "httpMethod": "GET", + "id": "displayvideo.customLists.get", + "parameterOrder": [ + "customListId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 advertiser that has access to the fetched custom\nlists.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customListId": { + "description": "Required. The ID of the custom list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/customLists/{+customListId}", + "response": { + "$ref": "CustomList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists custom lists.\n\nThe order is defined by the order_by\nparameter.", + "flatPath": "v1/customLists", + "httpMethod": "GET", + "id": "displayvideo.customLists.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 advertiser that has access to the fetched custom\nlists.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by custom list fields.\n\nSupported syntax:\n\n* Filter expressions for custom lists currently can only contain at\nmost one restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `displayName`\n\nExamples:\n\n* All custom lists for which the display name contains \"Google\":\n`displayName : \"Google\"`.\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `customListId` (default)\n* `displayName`\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListCustomLists` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/customLists", + "response": { + "$ref": "ListCustomListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "firstAndThirdPartyAudiences": { + "methods": { + "get": { + "description": "Gets a first and third party audience.", + "flatPath": "v1/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.firstAndThirdPartyAudiences.get", + "parameterOrder": [ + "firstAndThirdPartyAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched first and\nthird party audience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "firstAndThirdPartyAudienceId": { + "description": "Required. The ID of the first and third party audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched first and\nthird party audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}", + "response": { + "$ref": "FirstAndThirdPartyAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists first and third party audiences.\n\nThe order is defined by the\norder_by parameter.", + "flatPath": "v1/firstAndThirdPartyAudiences", + "httpMethod": "GET", + "id": "displayvideo.firstAndThirdPartyAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched first and\nthird party audiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by first and third party audience fields.\n\nSupported syntax:\n\n* Filter expressions for first and third party audiences currently can\nonly contain at most one restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `displayName`\n\nExamples:\n\n* All first and third party audiences for which the display name contains\n\"Google\": `displayName : \"Google\"`.\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `firstAndThirdPartyAudienceId` (default)\n* `displayName`\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListFirstAndThirdPartyAudiences`\nmethod. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched first and\nthird party audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/firstAndThirdPartyAudiences", + "response": { + "$ref": "ListFirstAndThirdPartyAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "floodlightGroups": { + "methods": { + "get": { + "description": "Gets a Floodlight group.", + "flatPath": "v1/floodlightGroups/{floodlightGroupsId}", + "httpMethod": "GET", + "id": "displayvideo.floodlightGroups.get", + "parameterOrder": [ + "floodlightGroupId" + ], + "parameters": { + "floodlightGroupId": { + "description": "Required. The ID of the Floodlight group to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The partner context by which the Floodlight group is being accessed.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/floodlightGroups/{+floodlightGroupId}", + "response": { + "$ref": "FloodlightGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing Floodlight group.\nReturns the updated Floodlight group if successful.", + "flatPath": "v1/floodlightGroups/{floodlightGroupId}", + "httpMethod": "PATCH", + "id": "displayvideo.floodlightGroups.patch", + "parameterOrder": [ + "floodlightGroupId" + ], + "parameters": { + "floodlightGroupId": { + "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The partner context by which the Floodlight group is being accessed.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/floodlightGroups/{floodlightGroupId}", + "request": { + "$ref": "FloodlightGroup" + }, + "response": { + "$ref": "FloodlightGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "googleAudiences": { + "methods": { + "get": { + "description": "Gets a Google audience.", + "flatPath": "v1/googleAudiences/{googleAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.googleAudiences.get", + "parameterOrder": [ + "googleAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched Google audience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "googleAudienceId": { + "description": "Required. The ID of the Google audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched Google audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/googleAudiences/{+googleAudienceId}", + "response": { + "$ref": "GoogleAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists Google audiences.\n\nThe order is defined by the order_by\nparameter.", + "flatPath": "v1/googleAudiences", + "httpMethod": "GET", + "id": "displayvideo.googleAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched Google audiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by Google audience fields.\n\nSupported syntax:\n\n* Filter expressions for Google audiences currently can only contain at\nmost one restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `displayName`\n\nExamples:\n\n* All Google audiences for which the display name contains \"Google\":\n`displayName : \"Google\"`.\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `googleAudienceId` (default)\n* `displayName`\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListGoogleAudiences` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched Google audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/googleAudiences", + "response": { + "$ref": "ListGoogleAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "inventorySourceGroups": { + "methods": { + "create": { + "description": "Creates a new inventory source group. Returns the newly created inventory\nsource group if successful.", + "flatPath": "v1/inventorySourceGroups", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group.\n\nThe parent partner will not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group.\n\nOnly this partner will have write access to this group. Only advertisers\nto which this group is explicitly shared will have read access to this\ngroup.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySourceGroups", + "request": { + "$ref": "InventorySourceGroup" + }, + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an inventory source group.", + "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}", + "httpMethod": "DELETE", + "id": "displayvideo.inventorySourceGroups.delete", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group.\n\nThe parent partner does not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group.\n\nOnly this partner has write access to this group.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an inventory source group.", + "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.get", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source group.\n\nIf an inventory source group is partner-owned, only advertisers to which\nthe group is explicitly shared can access the group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source group.\n\nA partner cannot access an advertiser-owned inventory source group.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}", + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory source groups that are accessible to the current user.\n\nThe order is defined by the\norder_by parameter.", + "flatPath": "v1/inventorySourceGroups", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source group.\n\nIf an inventory source group is partner-owned, only advertisers to which\nthe group is explicitly shared can access the group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by inventory source group properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by the logical operator `OR`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `inventorySourceGroupId`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `displayName` (default)\n* `inventorySourceGroupId`\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. For example,\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListInventorySources` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source group.\n\nA partner cannot access advertiser-owned inventory source groups.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySourceGroups", + "response": { + "$ref": "ListInventorySourceGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an inventory source group. Returns the updated inventory source\ngroup if successful.", + "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupId}", + "httpMethod": "PATCH", + "id": "displayvideo.inventorySourceGroups.patch", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group.\n\nThe parent partner does not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Output only. The unique ID of the inventory source group. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group.\n\nOnly this partner has write access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySourceGroups/{inventorySourceGroupId}", + "request": { + "$ref": "InventorySourceGroup" + }, + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "assignedInventorySources": { + "methods": { + "bulkEdit": { + "description": "Bulk edits multiple assignments between inventory sources and a single\ninventory source group.\n\nThe operation will delete the assigned inventory sources provided in\nBulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources\nand then create the assigned inventory sources provided in\nBulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources.", + "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which the assignments are\nassigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit", + "request": { + "$ref": "BulkEditAssignedInventorySourcesRequest" + }, + "response": { + "$ref": "BulkEditAssignedInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates an assignment between an inventory source and an inventory source\ngroup.", + "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.create", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group.\n\nThe parent partner will not have access to this assigned inventory\nsource.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which the assignment will be\nassigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent inventory source group.\n\nOnly this partner will have write access to this assigned inventory\nsource.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources", + "request": { + "$ref": "AssignedInventorySource" + }, + "response": { + "$ref": "AssignedInventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes the assignment between an inventory source and an inventory source\ngroup.", + "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources/{assignedInventorySourcesId}", + "httpMethod": "DELETE", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.delete", + "parameterOrder": [ + "inventorySourceGroupId", + "assignedInventorySourceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group.\n\nThe parent partner does not have access to this assigned inventory\nsource.", + "format": "int64", + "location": "query", + "type": "string" + }, + "assignedInventorySourceId": { + "description": "Required. The ID of the assigned inventory source to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which this assignment is assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent inventory source group.\n\nOnly this partner has write access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory sources assigned to an inventory source group.", + "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.list", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the assignment.\n\nIf the parent inventory source group is partner-owned, only advertisers\nto which the parent group is explicitly shared can access the assigned\ninventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned inventory source fields.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by the logical operator `OR`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `assignedInventorySourceId`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which these assignments are\nassigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `assignedInventorySourceId` (default)\n\nThe default sorting order is ascending. To specify descending order for a\nfield, a suffix \" desc\" should be added to the field name. Example:\n`assignedInventorySourceId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\n\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListAssignedInventorySources`\nmethod. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the assignment.\n\nIf the parent inventory source group is advertiser-owned, the assignment\ncannot be accessed via a partner.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources", + "response": { + "$ref": "ListAssignedInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "inventorySources": { + "methods": { + "get": { + "description": "Gets an inventory source.", + "flatPath": "v1/inventorySources/{inventorySourcesId}", + "httpMethod": "GET", + "id": "displayvideo.inventorySources.get", + "parameterOrder": [ + "inventorySourceId" + ], + "parameters": { + "inventorySourceId": { + "description": "Required. The ID of the inventory source to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the DV360 partner to which the fetched inventory source\nis permissioned.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySources/{+inventorySourceId}", + "response": { + "$ref": "InventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory sources that are accessible to the current user.\n\nThe order is defined by the\norder_by parameter.\nIf a filter by\nentity_status is not\nspecified, inventory sources with entity status `ENTITY_STATUS_ARCHIVED`\nwill not be included in the results.", + "flatPath": "v1/inventorySources", + "httpMethod": "GET", + "id": "displayvideo.inventorySources.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by inventory source properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by `AND` or `OR` logical operators. A\nsequence of restrictions implicitly uses `AND`.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `EQUALS (=)`.\n* Supported fields:\n - `status.entityStatus`\n - `commitment`\n - `deliveryMethod`\n - `rateDetails.rateType`\n - `exchange`\n\nExamples:\n\n* All active inventory sources:\n`status.entityStatus=\"ENTITY_STATUS_ACTIVE\"`\n* Inventory sources belonging to Google Ad Manager or Rubicon exchanges:\n`exchange=\"EXCHANGE_GOOGLE_AD_MANAGER\" OR exchange=\"EXCHANGE_RUBICON\"`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `displayName` (default)\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name. For example,\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListInventorySources` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/inventorySources", + "response": { + "$ref": "ListInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "media": { + "methods": { + "download": { + "description": "Downloads media. Download is supported on the URI `/download/{resource_name=**}?alt=media.`\n\n**Note**: Download requests will not be successful without including `alt=media` query string.", + "flatPath": "download/{downloadId}", + "httpMethod": "GET", + "id": "displayvideo.media.download", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Name of the media that is being downloaded. See\nReadRequest.resource_name.", + "location": "path", + "pattern": "^.*$", + "required": true, + "type": "string" + } + }, + "path": "download/{+resourceName}", + "response": { + "$ref": "GoogleBytestreamMedia" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ], + "supportsMediaDownload": true + } + } + }, + "partners": { + "resources": { + "channels": { + "methods": { + "create": { + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v1/partners/{partnersId}/channels", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.create", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/partners/{+partnerId}/channels", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v1/partners/{partnersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.get", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the channel to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/partners/{+partnerId}/channels/{+channelId}", + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v1/partners/{partnersId}/channels", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.list", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channels.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by channel fields.\n\nSupported syntax:\n\n* Filter expressions for channel currently can only contain at most one\n* restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `displayName`\n\nExamples:\n\n* All channels for which the display name contains \"google\":\n`displayName : \"google\"`.\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `displayName` (default)\n* `channelId`\n\nThe default sorting order is ascending. To specify descending order for a\nfield, a suffix \" desc\" should be added to the field name. Example:\n`displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token returned from the\nprevious call to `ListChannels` method. If not specified, the first page\nof results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/partners/{+partnerId}/channels", + "response": { + "$ref": "ListChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v1/partners/{partnersId}/channels/{channelId}", + "httpMethod": "PATCH", + "id": "displayvideo.partners.channels.patch", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/partners/{+partnerId}/channels/{channelId}", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel.\n\nThe operation will delete the sites provided in\nBulkEditSitesRequest.deleted_sites and then create the sites\nprovided in BulkEditSitesRequest.created_sites.", + "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.sites.bulkEdit", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit", + "request": { + "$ref": "BulkEditSitesRequest" + }, + "response": { + "$ref": "BulkEditSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a site in a channel.", + "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.sites.create", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel in which the site will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/partners/{partnerId}/channels/{+channelId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a site from a channel.", + "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites/{sitesId}", + "httpMethod": "DELETE", + "id": "displayvideo.partners.channels.sites.delete", + "parameterOrder": [ + "partnerId", + "channelId", + "urlOrAppId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the site belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists sites in a channel.", + "flatPath": "v1/partners/{partnersId}/channels/{channelsId}/sites", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.sites.list", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the requested sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by site fields.\n\nSupported syntax:\n\n* Filter expressions for site currently can only contain at most one\n* restriction.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be `CONTAINS (:)`.\n* Supported fields:\n - `urlOrAppId`\n\nExamples:\n\n* All sites for which the URL or app ID contains \"google\":\n`urlOrAppId : \"google\"`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `urlOrAppId` (default)\n\nThe default sorting order is ascending. To specify descending order for a\nfield, a suffix \" desc\" should be added to the field name. Example:\n`urlOrAppId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\n\nTypically, this is the value of\nnext_page_token returned from the\nprevious call to `ListSites` method. If not specified, the first page\nof results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/partners/{+partnerId}/channels/{+channelId}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "sdfdownloadtasks": { + "methods": { + "create": { + "description": "Creates an SDF Download Task. Returns an\nOperation.\n\nAn SDF Download Task is a long-running, asynchronous operation. The\nmetadata type of this operation is\nSdfDownloadTaskMetadata. If the request is successful, the\nresponse type of the operation is\nSdfDownloadTask. The response will not include the download files,\nwhich must be retrieved with\nmedia.download. The state of\noperation can be retrieved with\nsdfdownloadtask.operations.get.\n\nAny errors can be found in the\nerror.message. Note\nthat error.details is expected to be\nempty.", + "flatPath": "v1/sdfdownloadtasks", + "httpMethod": "POST", + "id": "displayvideo.sdfdownloadtasks.create", + "parameterOrder": [], + "parameters": {}, + "path": "v1/sdfdownloadtasks", + "request": { + "$ref": "CreateSdfDownloadTaskRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.", + "flatPath": "v1/sdfdownloadtasks/operations/{operationsId}", + "httpMethod": "GET", + "id": "displayvideo.sdfdownloadtasks.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^sdfdownloadtasks/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ] + } + } + } + } + }, + "targetingTypes": { + "resources": { + "targetingOptions": { + "methods": { + "get": { + "description": "Gets a single targeting option.", + "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions/{targetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.targetingTypes.targetingOptions.get", + "parameterOrder": [ + "targetingType", + "targetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The Advertiser this request is being made in the context of.", + "format": "int64", + "location": "query", + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The ID of the of targeting option to retrieve.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. The type of targeting option to retrieve.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}", + "response": { + "$ref": "TargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists targeting options of a given type.", + "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions", + "httpMethod": "GET", + "id": "displayvideo.targetingTypes.targetingOptions.list", + "parameterOrder": [ + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The Advertiser this request is being made in the context of.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by targeting option properties.\n\nSupported syntax:\n\n* Filter expressions are made up of one or more restrictions.\n* Restrictions can be combined by `OR` logical operators.\n* A restriction has the form of `{field} {operator} {value}`.\n* The operator must be \"=\" (equal sign).\n* Supported fields:\n - `targetingOptionId`\n\nThe length of this field should be no more than 500 characters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list.\nAcceptable values are:\n\n* `targetingOptionId` (default)\n\nThe default sorting order is ascending. To specify descending order for\na field, a suffix \"desc\" should be added to the field name.\nExample: `targetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will\ndefault to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value\nis specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nnext_page_token\nreturned from the previous call to `ListTargetingOptions` method.\nIf not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. The type of targeting option to be listed.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/targetingTypes/{+targetingType}/targetingOptions", + "response": { + "$ref": "ListTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + }, + "revision": "20200707", + "rootUrl": "https://displayvideo.googleapis.com/", + "schemas": { + "ActiveViewVideoViewabilityMetricConfig": { + "description": "Configuration for custom Active View video viewability metrics.", + "id": "ActiveViewVideoViewabilityMetricConfig", + "properties": { + "displayName": { + "description": "Required. The display name of the custom metric.", + "type": "string" + }, + "minimumDuration": { + "description": "The minimum visible video duration required (in seconds) in order for an\nimpression to be recorded.\n\nYou must specify\nminimum_duration,\nminimum_quartile\nor both. If both are specified, an impression meets the metric criteria if\neither requirement is met (whichever happens first).", + "enum": [ + "VIDEO_DURATION_UNSPECIFIED", + "VIDEO_DURATION_SECONDS_NONE", + "VIDEO_DURATION_SECONDS_0", + "VIDEO_DURATION_SECONDS_1", + "VIDEO_DURATION_SECONDS_2", + "VIDEO_DURATION_SECONDS_3", + "VIDEO_DURATION_SECONDS_4", + "VIDEO_DURATION_SECONDS_5", + "VIDEO_DURATION_SECONDS_6", + "VIDEO_DURATION_SECONDS_7", + "VIDEO_DURATION_SECONDS_8", + "VIDEO_DURATION_SECONDS_9", + "VIDEO_DURATION_SECONDS_10", + "VIDEO_DURATION_SECONDS_11", + "VIDEO_DURATION_SECONDS_12", + "VIDEO_DURATION_SECONDS_13", + "VIDEO_DURATION_SECONDS_14", + "VIDEO_DURATION_SECONDS_15", + "VIDEO_DURATION_SECONDS_30", + "VIDEO_DURATION_SECONDS_45", + "VIDEO_DURATION_SECONDS_60" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "No duration value.", + "0 seconds.", + "1 second.", + "2 seconds.", + "3 seconds.", + "4 seconds.", + "5 seconds.", + "6 seconds.", + "7 seconds.", + "8 seconds.", + "9 seconds.", + "10 seconds.", + "11 seconds.", + "12 seconds.", + "13 seconds.", + "14 seconds.", + "15 seconds.", + "30 seconds.", + "45 seconds.", + "60 seconds." + ], + "type": "string" + }, + "minimumQuartile": { + "description": "The minimum visible video duration required, based on the video quartiles,\nin order for an impression to be recorded.\n\nYou must specify\nminimum_duration,\nminimum_quartile\nor both. If both are specified, an impression meets the metric criteria if\neither requirement is met (whichever happens first).", + "enum": [ + "VIDEO_DURATION_QUARTILE_UNSPECIFIED", + "VIDEO_DURATION_QUARTILE_NONE", + "VIDEO_DURATION_QUARTILE_FIRST", + "VIDEO_DURATION_QUARTILE_SECOND", + "VIDEO_DURATION_QUARTILE_THIRD", + "VIDEO_DURATION_QUARTILE_FOURTH" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "No quartile value.", + "First quartile.", + "Second quartile (midpoint).", + "Third quartile.", + "Fourth quartile (completion)." + ], + "type": "string" + }, + "minimumViewability": { + "description": "Required. The minimum percentage of the video ad's pixels visible on the screen in\norder for an impression to be recorded.", + "enum": [ + "VIEWABILITY_PERCENT_UNSPECIFIED", + "VIEWABILITY_PERCENT_0", + "VIEWABILITY_PERCENT_25", + "VIEWABILITY_PERCENT_50", + "VIEWABILITY_PERCENT_75", + "VIEWABILITY_PERCENT_100" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "0% viewable.", + "25% viewable.", + "50% viewable.", + "75% viewable.", + "100% viewable." + ], + "type": "string" + }, + "minimumVolume": { + "description": "Required. The minimum percentage of the video ad's volume required in order for an\nimpression to be recorded.", + "enum": [ + "VIDEO_VOLUME_PERCENT_UNSPECIFIED", + "VIDEO_VOLUME_PERCENT_0", + "VIDEO_VOLUME_PERCENT_10" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "0% volume.", + "10% volume." + ], + "type": "string" + } + }, + "type": "object" + }, + "Adloox": { + "description": "Details of Adloox settings.", + "id": "Adloox", + "properties": { + "excludedAdlooxCategories": { + "description": "Adloox's brand safety settings.", + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any Adloox option.", + "Adult content (hard).", + "Adult content (soft).", + "Illegal content.", + "Borderline content.", + "Discriminatory content.", + "Violent content & weapons.", + "Low viewability domains.", + "Fraud." + ], + "items": { + "enum": [ + "ADLOOX_UNSPECIFIED", + "ADULT_CONTENT_HARD", + "ADULT_CONTENT_SOFT", + "ILLEGAL_CONTENT", + "BORDERLINE_CONTENT", + "DISCRIMINATORY_CONTENT", + "VIOLENT_CONTENT_WEAPONS", + "LOW_VIEWABILITY_DOMAINS", + "FRAUD" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Advertiser": { + "description": "A single advertiser in Display & Video 360 (DV360).", + "id": "Advertiser", + "properties": { + "adServerConfig": { + "$ref": "AdvertiserAdServerConfig", + "description": "Required. Immutable. Ad server related settings of the advertiser." + }, + "advertiserId": { + "description": "Output only. The unique ID of the advertiser. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "creativeConfig": { + "$ref": "AdvertiserCreativeConfig", + "description": "Required. Creative related settings of the advertiser." + }, + "dataAccessConfig": { + "$ref": "AdvertiserDataAccessConfig", + "description": "Settings that control how advertiser data may be accessed." + }, + "displayName": { + "description": "Required. The display name of the advertiser.\n\nMust be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not insertion orders and line items of the\nadvertiser can spend their budgets and bid on inventory.\n\n* Accepted values are `ENTITY_STATUS_ACTIVE` and\n`ENTITY_STATUS_SCHEDULED_FOR_DELETION`.\n* If set to\n`ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30\ndays from when it was first scheduled for deletion.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An\nentity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "generalConfig": { + "$ref": "AdvertiserGeneralConfig", + "description": "Required. General settings of the advertiser." + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Integration details of the advertiser.\nOnly integrationCode is currently\napplicable to advertiser. Other fields of IntegrationDetails are not\nsupported and will be ignored if provided." + }, + "name": { + "description": "Output only. The resource name of the advertiser.", + "type": "string" + }, + "partnerId": { + "description": "Required. Immutable. The unique ID of the partner that the advertiser belongs to.", + "format": "int64", + "type": "string" + }, + "servingConfig": { + "$ref": "AdvertiserTargetingConfig", + "description": "Targeting settings related to ad serving of the advertiser." + }, + "updateTime": { + "description": "Output only. The timestamp when the advertiser was last updated. Assigned by the system.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserAdServerConfig": { + "description": "Ad server related settings of an advertiser.", + "id": "AdvertiserAdServerConfig", + "properties": { + "cmHybridConfig": { + "$ref": "CmHybridConfig", + "description": "The configuration for advertisers that use both Campaign Manager (CM) and\nthird-party ad servers." + }, + "thirdPartyOnlyConfig": { + "$ref": "ThirdPartyOnlyConfig", + "description": "The configuration for advertisers that use third-party ad servers\nonly." + } + }, + "type": "object" + }, + "AdvertiserCreativeConfig": { + "description": "Creatives related settings of an advertiser.", + "id": "AdvertiserCreativeConfig", + "properties": { + "dynamicCreativeEnabled": { + "description": "Whether or not the advertiser is enabled for dynamic creatives.", + "type": "boolean" + }, + "iasClientId": { + "description": "An ID for configuring campaign monitoring provided by Integral Ad Service\n(IAS). The DV360 system will append an IAS \"Campaign Monitor\" tag\ncontaining this ID to the creative tag.", + "format": "int64", + "type": "string" + }, + "obaComplianceDisabled": { + "description": "Whether or not to use DV360's Online Behavioral Advertising (OBA)\ncompliance.\n\nWarning: Changing OBA settings may cause the audit status of your creatives\nto be reset by some ad exchanges, making them ineligible to serve until\nthey are re-approved.", + "type": "boolean" + }, + "videoCreativeDataSharingAuthorized": { + "description": "By setting this field to `true`, you, on behalf of your company,\nauthorize Google to use video creatives associated with this Display &\nVideo 360 advertiser to provide reporting and features related to the\nadvertiser's television campaigns.\n\nApplicable only when the advertiser has a\nCM hybrid ad server\nconfiguration.", + "type": "boolean" + } + }, + "type": "object" + }, + "AdvertiserDataAccessConfig": { + "description": "Settings that control how advertiser related data may be accessed.", + "id": "AdvertiserDataAccessConfig", + "properties": { + "sdfConfig": { + "$ref": "AdvertiserSdfConfig", + "description": "Structured Data Files (SDF) settings for the advertiser.\n\nIf not specified, the SDF settings of the parent partner are used." + } + }, + "type": "object" + }, + "AdvertiserGeneralConfig": { + "description": "General settings of an advertiser.", + "id": "AdvertiserGeneralConfig", + "properties": { + "currencyCode": { + "description": "Required. Immutable. Advertiser's currency in ISO 4217 format.\n\nAccepted codes and the currencies they represent are:\n\nCurrency Code : Currency Name\n\n* `ARS` : Argentine Peso\n* `AUD` : Australian Dollar\n* `BRL` : Brazilian Real\n* `CAD` : Canadian Dollar\n* `CHF` : Swiss Franc\n* `CLP` : Chilean Peso\n* `CNY` : Chinese Yuan\n* `COP` : Colombian Peso\n* `CZK` : Czech Koruna\n* `DKK` : Danish Krone\n* `EGP` : Egyption Pound\n* `EUR` : Euro\n* `GBP` : British Pound\n* `HKD` : Hong Kong Dollar\n* `HUF` : Hungarian Forint\n* `IDR` : Indonesian Rupiah\n* `ILS` : Israeli Shekel\n* `INR` : Indian Rupee\n* `JPY` : Japanese Yen\n* `KRW` : South Korean Won\n* `MXN` : Mexican Pesos\n* `MYR` : Malaysian Ringgit\n* `NGN` : Nigerian Naira\n* `NOK` : Norwegian Krone\n* `NZD` : New Zealand Dollar\n* `PEN` : Peruvian Nuevo Sol\n* `PLN` : Polish Zloty\n* `RON` : New Romanian Leu\n* `RUB` : Russian Ruble\n* `SEK` : Swedish Krona\n* `TRY` : Turkish Lira\n* `TWD` : New Taiwan Dollar\n* `USD` : US Dollar\n* `ZAR` : South African Rand", + "type": "string" + }, + "domainUrl": { + "description": "Required. The domain URL of the advertiser's primary website.\nThe system will send this information to publishers that require website\nURL to associate a campaign with an advertiser.\n\nProvide a URL with no path or query string, beginning with `http:` or\n`https:`.\nFor example, http://www.example.com", + "type": "string" + }, + "timeZone": { + "description": "Output only. The standard TZ database name of the advertiser's time zone.\nFor example, `America/New_York`.\n\nSee more at:\nhttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n\nFor CM hybrid advertisers, the time zone is the same as that of the\nassociated CM account; for third-party only advertisers, the time zone is\nthe same as that of the parent partner.", + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserSdfConfig": { + "description": "Structured Data Files (SDF) settings of an advertiser.", + "id": "AdvertiserSdfConfig", + "properties": { + "overridePartnerSdfConfig": { + "description": "Whether or not this advertiser overrides the SDF configuration of its\nparent partner.\n\nBy default, an advertiser inherits the SDF configuration from the parent\npartner. To override the partner configuration, set this field to `true`\nand provide the new configuration in\nsdfConfig.", + "type": "boolean" + }, + "sdfConfig": { + "$ref": "SdfConfig", + "description": "The SDF configuration for the advertiser.\n\n* Required when\noverridePartnerSdfConfig\nis `true`.\n* Output only when\noverridePartnerSdfConfig\nis `false`." + } + }, + "type": "object" + }, + "AdvertiserTargetingConfig": { + "description": "Targeting settings related to ad serving of an advertiser.", + "id": "AdvertiserTargetingConfig", + "properties": { + "exemptTvFromViewabilityTargeting": { + "description": "Whether or not connected TV devices are exempt from viewability targeting\nfor all video line items under the advertiser.", + "type": "boolean" + } + }, + "type": "object" + }, + "AgeRangeAssignedTargetingOptionDetails": { + "description": "Represents a targetable age range. This will be populated in the details\nfield of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_AGE_RANGE`.", + "id": "AgeRangeAssignedTargetingOptionDetails", + "properties": { + "ageRange": { + "description": "Output only. The age range of an audience. We only support targeting a continuous age\nrange of an audience. Thus, the age range represented in this field can be\n1) targeted solely, or, 2) part of a larger continuous age range. The reach\nof a continuous age range targeting can be expanded by also targeting an\naudience of an unknown age.", + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "AGE_RANGE_18_24", + "AGE_RANGE_25_34", + "AGE_RANGE_35_44", + "AGE_RANGE_45_54", + "AGE_RANGE_55_64", + "AGE_RANGE_65_PLUS", + "AGE_RANGE_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when age range is not specified in this version. This enum is\na placeholder for default value and does not represent a real age range\noption.", + "The age range of the audience is 18 to 24.", + "The age range of the audience is 25 to 34.", + "The age range of the audience is 35 to 44.", + "The age range of the audience is 45 to 54.", + "The age range of the audience is 55 to 64.", + "The age range of the audience is 65 and up.", + "The age range of the audience is unknown." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_AGE_RANGE`.", + "type": "string" + } + }, + "type": "object" + }, + "AgeRangeTargetingOptionDetails": { + "description": "Represents a targetable age range. This will be populated in the\nage_range_details field when\ntargeting_type is\n`TARGETING_TYPE_AGE_RANGE`.", + "id": "AgeRangeTargetingOptionDetails", + "properties": { + "ageRange": { + "description": "Output only. The age range of an audience.", + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "AGE_RANGE_18_24", + "AGE_RANGE_25_34", + "AGE_RANGE_35_44", + "AGE_RANGE_45_54", + "AGE_RANGE_55_64", + "AGE_RANGE_65_PLUS", + "AGE_RANGE_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when age range is not specified in this version. This enum is\na placeholder for default value and does not represent a real age range\noption.", + "The age range of the audience is 18 to 24.", + "The age range of the audience is 25 to 34.", + "The age range of the audience is 35 to 44.", + "The age range of the audience is 45 to 54.", + "The age range of the audience is 55 to 64.", + "The age range of the audience is 65 and up.", + "The age range of the audience is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppAssignedTargetingOptionDetails": { + "description": "Details for assigned app targeting option. This will be populated in the\ndetails field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_APP`.", + "id": "AppAssignedTargetingOptionDetails", + "properties": { + "appId": { + "description": "Required. The ID of the app.\n\nAndroid's Play store app uses bundle ID, for example\n`com.google.android.gm`. Apple's App store app ID uses 9 digit string, for\nexample `422689480`.", + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the app.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppCategoryAssignedTargetingOptionDetails": { + "description": "Details for assigned app category targeting option. This will be\npopulated in the\napp_category_details field of\nan AssignedTargetingOption when\ntargeting_type\nis `TARGETING_TYPE_APP_CATEGORY`.", + "id": "AppCategoryAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the app category.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_APP_CATEGORY`.", + "type": "string" + } + }, + "type": "object" + }, + "AppCategoryTargetingOptionDetails": { + "description": "Represents a targetable collection of apps. A collection lets you target\ndynamic groups of related apps that are maintained by the platform, for\nexample `All Apps/Google Play/Games`. This will be populated in the\napp_category_details field when\ntargeting_type is\n`TARGETING_TYPE_APP_CATEGORY`.", + "id": "AppCategoryTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The name of the app collection.", + "type": "string" + } + }, + "type": "object" + }, + "Asset": { + "description": "A single asset.", + "id": "Asset", + "properties": { + "content": { + "description": "The asset content.\nFor uploaded assets, the content is the serving path.", + "type": "string" + }, + "mediaId": { + "description": "Media ID of the uploaded asset. This is a unique identifier for the asset.\nThis ID can be passed to other API calls, e.g.\nCreateCreative to associate\nthe asset with a creative.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AssetAssociation": { + "description": "Asset association for the creative.", + "id": "AssetAssociation", + "properties": { + "asset": { + "$ref": "Asset", + "description": "The associated asset." + }, + "role": { + "description": "The role of this asset for the creative.", + "enum": [ + "ASSET_ROLE_UNSPECIFIED", + "ASSET_ROLE_MAIN", + "ASSET_ROLE_BACKUP", + "ASSET_ROLE_POLITE_LOAD", + "ASSET_ROLE_HEADLINE", + "ASSET_ROLE_LONG_HEADLINE", + "ASSET_ROLE_BODY", + "ASSET_ROLE_LONG_BODY", + "ASSET_ROLE_CAPTION_URL", + "ASSET_ROLE_CALL_TO_ACTION", + "ASSET_ROLE_ADVERTISER_NAME", + "ASSET_ROLE_PRICE", + "ASSET_ROLE_ANDROID_APP_ID", + "ASSET_ROLE_IOS_APP_ID", + "ASSET_ROLE_RATING", + "ASSET_ROLE_ICON", + "ASSET_ROLE_COVER_IMAGE" + ], + "enumDescriptions": [ + "Asset role is not specified or is unknown in this version.", + "The asset is the main asset of the creative.", + "The asset is a backup asset of the creative.", + "The asset is a polite load asset of the creative.", + "Headline of a native creative.\n\nThe content must be UTF-8 encoded with a length of no more\nthan 25 characters.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long headline of a native creative.\n\nThe content must be UTF-8 encoded with a length of no more\nthan 50 characters.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "Body text of a native creative.\n\nThe content must be UTF-8 encoded with a length of no more\nthan 90 characters.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long body text of a native creative.\n\nThe content must be UTF-8 encoded with a length of no more\nthan 150 characters.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "A short, friendly version of the landing page URL to show in the creative.\nThis URL gives people an idea of where they'll arrive after they click on\nthe creative.\n\nThe content must be UTF-8 encoded with a length of no more\nthan 30 characters.\n\nFor example, if the landing page URL is 'http://www.example.com/page',\nthe caption URL can be 'example.com'.\nThe protocol (http://) is optional, but the URL can't contain spaces or\nspecial characters.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text to use on the call-to-action button of a native creative.\n\nThe content must be UTF-8 encoded with a length of no more\nthan 15 characters.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text that identifies the advertiser or brand name.\n\nThe content must be UTF-8 encoded with a length of no more\nthan 25 characters.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "The purchase price of your app in the Google play store or iOS app store\n(for example, $5.99).\n\nNote that this value is not automatically synced with the actual value\nlisted in the store. It will always be the one provided when save the\ncreative.\n\nThe content must be UTF-8 encoded with a length of no more\nthan 15 characters.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`", + "The ID of an Android app in the Google play store.\n\nYou can find this ID in the App\u2019s Google Play Store URL after \u2018id\u2019. For\nexample, in\nhttps://play.google.com/store/apps/details?id=com.company.appname the\nidentifier is com.company.appname.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`", + "The ID of an iOS app in the Apple app store.\n\nThis ID number can be found in the Apple App Store URL as the string of\nnumbers directly after \"id\". For example, in\nhttps://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is\n422689480.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`", + "The rating of an app in the Google play store or iOS app store.\n\nNote that this value is not automatically synced with the actual rating\nin the store. It will always be the one provided when save the creative.\n\nThis role is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`", + "The icon of a creative.\n\nThis role is only supported and required in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`", + "The cover image of a native video creative.\n\nThis role is only supported and required in following\ncreative_type:\n\n* `CREATIVE_TYPE_VIDEO`" + ], + "type": "string" + } + }, + "type": "object" + }, + "AssignedInventorySource": { + "description": "An assignment between a targetable inventory source and an inventory source\ngroup.", + "id": "AssignedInventorySource", + "properties": { + "assignedInventorySourceId": { + "description": "Output only. The unique ID of the assigned inventory source. The ID is only\nunique within a given inventory source group. It may be reused in other\ncontexts.", + "format": "int64", + "type": "string" + }, + "inventorySourceId": { + "description": "Required. The ID of the inventory source entity being targeted.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the assigned inventory source.", + "type": "string" + } + }, + "type": "object" + }, + "AssignedLocation": { + "description": "An assignment between a location list and a relevant targeting option.\nCurrently, geo region targeting options are the only supported option for\nassignment.", + "id": "AssignedLocation", + "properties": { + "assignedLocationId": { + "description": "Output only. The unique ID of the assigned location. The ID is only unique within a\nlocation list. It may be reused in other contexts.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the assigned location.", + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The ID of the targeting option assigned to the location list. Must be of\ntype TARGETING_TYPE_GEO_REGION.", + "type": "string" + } + }, + "type": "object" + }, + "AssignedTargetingOption": { + "description": "A single assigned targeting option, which defines the state of a targeting\noption for an entity with targeting settings.", + "id": "AssignedTargetingOption", + "properties": { + "ageRangeDetails": { + "$ref": "AgeRangeAssignedTargetingOptionDetails", + "description": "Age range details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_AGE_RANGE`." + }, + "appCategoryDetails": { + "$ref": "AppCategoryAssignedTargetingOptionDetails", + "description": "App category details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_APP_CATEGORY`." + }, + "appDetails": { + "$ref": "AppAssignedTargetingOptionDetails", + "description": "App details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_APP`." + }, + "assignedTargetingOptionId": { + "description": "Output only. The unique ID of the assigned targeting option. The ID is only unique\nwithin a given line item and targeting type. It may be reused in other\ncontexts.", + "type": "string" + }, + "audienceGroupDetails": { + "$ref": "AudienceGroupAssignedTargetingOptionDetails", + "description": "Audience targeting details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_AUDIENCE_GROUP`.\nYou can only target one audience group option per line item." + }, + "authorizedSellerStatusDetails": { + "$ref": "AuthorizedSellerStatusAssignedTargetingOptionDetails", + "description": "Authorized seller status details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.\n\nYou can only target one authorized seller status option per line item.\n\nIf a line item doesn't have an authorized seller status option, all\nauthorized sellers indicated as DIRECT or RESELLER in the ads.txt file\nare targeted by default." + }, + "browserDetails": { + "$ref": "BrowserAssignedTargetingOptionDetails", + "description": "Browser details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_BROWSER`." + }, + "carrierAndIspDetails": { + "$ref": "CarrierAndIspAssignedTargetingOptionDetails", + "description": "Carrier and ISP details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_CARRIER_AND_ISP`." + }, + "categoryDetails": { + "$ref": "CategoryAssignedTargetingOptionDetails", + "description": "Category details. This field will be populated when the TargetingType is\n`TARGETING_TYPE_CATEGORY`.\n\nTargeting a category will also target its subcategories. If a category is\nexcluded from targeting and a subcategory is included, the exclusion will\ntake precedence." + }, + "channelDetails": { + "$ref": "ChannelAssignedTargetingOptionDetails", + "description": "Channel details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_CHANNEL`." + }, + "contentInstreamPositionDetails": { + "$ref": "ContentInstreamPositionAssignedTargetingOptionDetails", + "description": "Content instream position details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`." + }, + "contentOutstreamPositionDetails": { + "$ref": "ContentOutstreamPositionAssignedTargetingOptionDetails", + "description": "Content outstream position details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`." + }, + "dayAndTimeDetails": { + "$ref": "DayAndTimeAssignedTargetingOptionDetails", + "description": "Day and time details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_DAY_AND_TIME`." + }, + "deviceMakeModelDetails": { + "$ref": "DeviceMakeModelAssignedTargetingOptionDetails", + "description": "Device make and model details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_DEVICE_MAKE_MODEL`." + }, + "deviceTypeDetails": { + "$ref": "DeviceTypeAssignedTargetingOptionDetails", + "description": "Device Type details. This field will be populated when the\nTargetingType is\n`TARGETING_TYPE_DEVICE_TYPE`." + }, + "digitalContentLabelExclusionDetails": { + "$ref": "DigitalContentLabelAssignedTargetingOptionDetails", + "description": "Digital content label details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.\n\nDigital content labels are targeting exclusions. Advertiser level digital\ncontent label exclusions, if set, are always applied in serving (even\nthough they aren't visible in line item settings). Line item settings can\nexclude content labels in addition to advertiser exclusions, but can't\noverride them. A line item won't serve if all the digital content labels\nare excluded." + }, + "environmentDetails": { + "$ref": "EnvironmentAssignedTargetingOptionDetails", + "description": "Environment details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_ENVIRONMENT`." + }, + "exchangeDetails": { + "$ref": "ExchangeAssignedTargetingOptionDetails", + "description": "Exchange details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_EXCHANGE`." + }, + "genderDetails": { + "$ref": "GenderAssignedTargetingOptionDetails", + "description": "Gender details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_GENDER`." + }, + "geoRegionDetails": { + "$ref": "GeoRegionAssignedTargetingOptionDetails", + "description": "Geographic region details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_GEO_REGION`." + }, + "householdIncomeDetails": { + "$ref": "HouseholdIncomeAssignedTargetingOptionDetails", + "description": "Household income details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_HOUSEHOLD_INCOME`." + }, + "inheritance": { + "description": "Output only. The inheritance status of the assigned targeting option.", + "enum": [ + "INHERITANCE_UNSPECIFIED", + "NOT_INHERITED", + "INHERITED_FROM_PARTNER", + "INHERITED_FROM_ADVERTISER" + ], + "enumDescriptions": [ + "The inheritance is unspecified or unknown.", + "The assigned targeting option is not inherited from higher level entity.", + "The assigned targeting option is inherited from partner targeting\nsettings.", + "The assigned targeting option is inherited from advertiser targeting\nsettings." + ], + "type": "string" + }, + "inventorySourceDetails": { + "$ref": "InventorySourceAssignedTargetingOptionDetails", + "description": "Inventory source details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_INVENTORY_SOURCE`." + }, + "inventorySourceGroupDetails": { + "$ref": "InventorySourceGroupAssignedTargetingOptionDetails", + "description": "Inventory source group details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`." + }, + "keywordDetails": { + "$ref": "KeywordAssignedTargetingOptionDetails", + "description": "Keyword details. This field will be populated when the TargetingType is\n`TARGETING_TYPE_KEYWORD`.\n\nA maximum of 5000 direct negative keywords can be assigned to a\nline item. No limit on number of positive keywords that can be assigned." + }, + "languageDetails": { + "$ref": "LanguageAssignedTargetingOptionDetails", + "description": "Language details. This field will be populated when the TargetingType is\n`TARGETING_TYPE_LANGUAGE`." + }, + "name": { + "description": "Output only. The resource name for this assigned targeting option.", + "type": "string" + }, + "negativeKeywordListDetails": { + "$ref": "NegativeKeywordListAssignedTargetingOptionDetails", + "description": "Keyword details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.\n\nA maximum of 4 negative keyword lists can be assigned to a line item." + }, + "onScreenPositionDetails": { + "$ref": "OnScreenPositionAssignedTargetingOptionDetails", + "description": "On screen position details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_ON_SCREEN_POSITION`." + }, + "operatingSystemDetails": { + "$ref": "OperatingSystemAssignedTargetingOptionDetails", + "description": "Operating system details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_OPERATING_SYSTEM`." + }, + "parentalStatusDetails": { + "$ref": "ParentalStatusAssignedTargetingOptionDetails", + "description": "Parental status details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_PARENTAL_STATUS`." + }, + "proximityLocationListDetails": { + "$ref": "ProximityLocationListAssignedTargetingOptionDetails", + "description": "Proximity location list details. This field will be populated when the\nTargetingType is\n`TARGETING_TYPE_PROXIMITY_LOCATION_LIST`." + }, + "regionalLocationListDetails": { + "$ref": "RegionalLocationListAssignedTargetingOptionDetails", + "description": "Regional location list details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`." + }, + "sensitiveCategoryExclusionDetails": { + "$ref": "SensitiveCategoryAssignedTargetingOptionDetails", + "description": "Sensitive category details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.\n\nSensitive categories are targeting exclusions. Advertiser level sensitive\ncategory exclusions, if set, are always applied in serving (even though\nthey aren't visible in line item settings). Line item settings can\nexclude sensitive categories in addition to advertiser exclusions, but\ncan't override them." + }, + "subExchangeDetails": { + "$ref": "SubExchangeAssignedTargetingOptionDetails", + "description": "Sub-exchange details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_SUB_EXCHANGE`." + }, + "targetingType": { + "description": "Output only. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location\nlist.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a\nparent).", + "Target video or audio ads in a specific content instream position (for\nexample, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences.\nSingleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or\nDoubleVerify).", + "Filter web sites by specific digital content label ratings (for example,\nDL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider\n(ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or\nSamsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts &\nentertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges." + ], + "type": "string" + }, + "thirdPartyVerifierDetails": { + "$ref": "ThirdPartyVerifierAssignedTargetingOptionDetails", + "description": "Third party verification details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`." + }, + "urlDetails": { + "$ref": "UrlAssignedTargetingOptionDetails", + "description": "URL details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_URL`." + }, + "userRewardedContentDetails": { + "$ref": "UserRewardedContentAssignedTargetingOptionDetails", + "description": "User rewarded content details. This field will be populated when the\nTargetingType is\n`TARGETING_TYPE_USER_REWARDED_CONTENT`." + }, + "videoPlayerSizeDetails": { + "$ref": "VideoPlayerSizeAssignedTargetingOptionDetails", + "description": "Video player size details. This field will be populated when the\nTargetingType is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`." + }, + "viewabilityDetails": { + "$ref": "ViewabilityAssignedTargetingOptionDetails", + "description": "Viewability details. This field will be populated when the TargetingType\nis `TARGETING_TYPE_VIEWABILITY`.\n\nYou can only target one viewability option per line item." + } + }, + "type": "object" + }, + "AudienceGroupAssignedTargetingOptionDetails": { + "description": "Assigned audience group targeting option details. This will be populated in\nthe details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_AUDIENCE_GROUP`.\nThe relation between each group is UNION, except for\nexcluded_first_and_third_party_audience_group and\nexcluded_google_audience_group, of which COMPLEMENT is UNION'ed with other\ngroups.", + "id": "AudienceGroupAssignedTargetingOptionDetails", + "properties": { + "excludedFirstAndThirdPartyAudienceGroup": { + "$ref": "FirstAndThirdPartyAudienceGroup", + "description": "The first and third party audience ids and recencies of the excluded\nfirst and third party audience group. Used for negative targeting. Its\nCOMPLEMENT is used to UNION other audience groups." + }, + "excludedGoogleAudienceGroup": { + "$ref": "GoogleAudienceGroup", + "description": "The Google audience ids of the excluded Google audience group.\nUsed for negative targeting. It's COMPLEMENT is used to UNION other\naudience groups.\nOnly contains Affinity, In-market and Installed-apps type Google audiences.\nAll items are logically \u2018OR\u2019 of each other." + }, + "includedCombinedAudienceGroup": { + "$ref": "CombinedAudienceGroup", + "description": "The combined audience ids of the included combined audience group.\nContains combined audience ids only." + }, + "includedCustomListGroup": { + "$ref": "CustomListGroup", + "description": "The custom list ids of the included custom list group.\nContains custom list ids only." + }, + "includedFirstAndThirdPartyAudienceGroups": { + "description": "The first and third party audience ids and recencies of included first\nand third party audience groups. Each first and third party audience group\ncontains first and third party audience ids only.\nThe relation between each first and third party audience group is\nINTERSECTION, and the result is UNION'ed with other audience groups.\nRepeated groups with same settings will be ignored.", + "items": { + "$ref": "FirstAndThirdPartyAudienceGroup" + }, + "type": "array" + }, + "includedGoogleAudienceGroup": { + "$ref": "GoogleAudienceGroup", + "description": "The Google audience ids of the included Google audience group.\nContains Google audience ids only." + } + }, + "type": "object" + }, + "AudioVideoOffset": { + "description": "The length an audio or a video has been played.", + "id": "AudioVideoOffset", + "properties": { + "percentage": { + "description": "The offset in percentage of the audio or video duration.", + "format": "int64", + "type": "string" + }, + "seconds": { + "description": "The offset in seconds from the start of the audio or video.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AuthorizedSellerStatusAssignedTargetingOptionDetails": { + "description": "Represents an assigned authorized seller status. This will be populated in\nthe details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.", + "id": "AuthorizedSellerStatusAssignedTargetingOptionDetails", + "properties": { + "authorizedSellerStatus": { + "description": "Output only. The authorized seller status to target.", + "enum": [ + "AUTHORIZED_SELLER_STATUS_UNSPECIFIED", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" + ], + "enumDescriptions": [ + "Default value when authorized seller status is not specified in this\nversion. This enum is a placeholder for default value and does not\nrepresent a real authorized seller status option.", + "Only authorized sellers that directly own the inventory being monetized, as\nindicated by a DIRECT declaration in the ads.txt file.", + "All authorized sellers, including publishers that have not posted an\nads.txt file. Display & Video 360 automatically disallows unauthorized\nsellers." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.", + "type": "string" + } + }, + "type": "object" + }, + "AuthorizedSellerStatusTargetingOptionDetails": { + "description": "Represents a targetable authorized seller status. This will be populated in\nthe\nauthorized_seller_status_details\nfield when targeting_type is\n`TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.", + "id": "AuthorizedSellerStatusTargetingOptionDetails", + "properties": { + "authorizedSellerStatus": { + "description": "Output only. The authorized seller status.", + "enum": [ + "AUTHORIZED_SELLER_STATUS_UNSPECIFIED", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" + ], + "enumDescriptions": [ + "Default value when authorized seller status is not specified in this\nversion. This enum is a placeholder for default value and does not\nrepresent a real authorized seller status option.", + "Only authorized sellers that directly own the inventory being monetized, as\nindicated by a DIRECT declaration in the ads.txt file.", + "All authorized sellers, including publishers that have not posted an\nads.txt file. Display & Video 360 automatically disallows unauthorized\nsellers." + ], + "type": "string" + } + }, + "type": "object" + }, + "BiddingStrategy": { + "description": "Settings that control the bid strategy.\nBid strategy determines the bid price.", + "id": "BiddingStrategy", + "properties": { + "fixedBid": { + "$ref": "FixedBidStrategy", + "description": "A strategy that uses a fixed bid price." + }, + "maximizeSpendAutoBid": { + "$ref": "MaximizeSpendBidStrategy", + "description": "A strategy that automatically adjusts the bid to optimize to your\nperformance goal while spending the full budget.\n\nAt insertion order level, the\nmarkup_type of line items\ncannot be set to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition,\nwhen\nperformance_goal_type\nis one of:\n\n* `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`\n* `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`\n* `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` ,\n\nthe line_item_type\nof the insertion order line items must be either:\n\n* `LINE_ITEM_TYPE_DISPLAY_DEFAULT`\n* `LINE_ITEM_TYPE_VIDEO_DEFAULT` ,\n\nand when\nperformance_goal_type\nis either:\n\n* `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA`\n* `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN`\n\nthe line_item_type\nof the insertion order line items must be `LINE_ITEM_TYPE_VIDEO_DEFAULT`." + }, + "performanceGoalAutoBid": { + "$ref": "PerformanceGoalBidStrategy", + "description": "A strategy that automatically adjusts the bid to meet or beat a specified\nperformance goal. It is to be used only for a line item entity." + } + }, + "type": "object" + }, + "BrowserAssignedTargetingOptionDetails": { + "description": "Details for assigned browser targeting option. This will be populated in\nthe details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_BROWSER`.", + "id": "BrowserAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the browser.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. All assigned browser\ntargeting options on the same line item must have the same value for this\nfield.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_BROWSER`.", + "type": "string" + } + }, + "type": "object" + }, + "BrowserTargetingOptionDetails": { + "description": "Represents a targetable browser. This will be populated in the\nbrowser_details field when\ntargeting_type is\n`TARGETING_TYPE_BROWSER`.", + "id": "BrowserTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the browser.", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditAdvertiserAssignedTargetingOptionsRequest": { + "description": "Request message for\nBulkEditAdvertiserAssignedTargetingOptions.", + "id": "BulkEditAdvertiserAssignedTargetingOptionsRequest", + "properties": { + "createRequests": { + "description": "The assigned targeting options to create in batch, specified as a list of\n`CreateAssignedTargetingOptionsRequest`.", + "items": { + "$ref": "CreateAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "deleteRequests": { + "description": "The assigned targeting options to delete in batch, specified as a list of\n`DeleteAssignedTargetingOptionsRequest`.", + "items": { + "$ref": "DeleteAssignedTargetingOptionsRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAdvertiserAssignedTargetingOptionsResponse": { + "id": "BulkEditAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "createdAssignedTargetingOptions": { + "description": "The list of assigned targeting options that have been successfully created.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedInventorySourcesRequest": { + "description": "Request message for AssignedInventorySourceService.BulkEdit.", + "id": "BulkEditAssignedInventorySourcesRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group.\n\nThe parent partner does not have access to these assigned inventory\nsources.", + "format": "int64", + "type": "string" + }, + "createdAssignedInventorySources": { + "description": "The assigned inventory sources to create in bulk, specified as a list of\nAssignedInventorySources.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + }, + "deletedAssignedInventorySources": { + "description": "The IDs of the assigned inventory sources to delete in bulk, specified as a\nlist of\nassigned_inventory_source_ids.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group.\n\nOnly this partner has write access to these assigned inventory sources.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditAssignedInventorySourcesResponse": { + "description": "Response message for AssignedInventorySourceService.BulkEdit.", + "id": "BulkEditAssignedInventorySourcesResponse", + "properties": { + "assignedInventorySources": { + "description": "The list of assigned inventory sources that have been successfully created.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedLocationsRequest": { + "description": "Request message for AssignedLocationService.BulkEditAssignedLocations.", + "id": "BulkEditAssignedLocationsRequest", + "properties": { + "createdAssignedLocations": { + "description": "The assigned locations to create in bulk, specified as a list of\nAssignedLocations.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + }, + "deletedAssignedLocations": { + "description": "The IDs of the assigned locations to delete in bulk, specified as a list of\nassigned_location_ids.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedLocationsResponse": { + "description": "Response message for AssignedLocationService.BulkEditAssignedLocations.", + "id": "BulkEditAssignedLocationsResponse", + "properties": { + "assignedLocations": { + "description": "The list of assigned locations that have been successfully created.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditLineItemAssignedTargetingOptionsRequest": { + "description": "Request message for\nBulkEditLineItemAssignedTargetingOptions.", + "id": "BulkEditLineItemAssignedTargetingOptionsRequest", + "properties": { + "createRequests": { + "description": "The assigned targeting options to create in batch, specified as a list of\n`CreateAssignedTargetingOptionsRequest`.", + "items": { + "$ref": "CreateAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "deleteRequests": { + "description": "The assigned targeting options to delete in batch, specified as a list of\n`DeleteAssignedTargetingOptionsRequest`.", + "items": { + "$ref": "DeleteAssignedTargetingOptionsRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditLineItemAssignedTargetingOptionsResponse": { + "id": "BulkEditLineItemAssignedTargetingOptionsResponse", + "properties": { + "createdAssignedTargetingOptions": { + "description": "The list of assigned targeting options that have been successfully created.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditNegativeKeywordsRequest": { + "description": "Request message for NegativeKeywordService.BulkEditNegativeKeywords.", + "id": "BulkEditNegativeKeywordsRequest", + "properties": { + "createdNegativeKeywords": { + "description": "The negative keywords to create in batch, specified as a list of\nNegativeKeywords.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + }, + "deletedNegativeKeywords": { + "description": "The negative keywords to delete in batch, specified as a list of\nkeyword_values.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditNegativeKeywordsResponse": { + "description": "Response message for NegativeKeywordService.BulkEditNegativeKeywords.", + "id": "BulkEditNegativeKeywordsResponse", + "properties": { + "negativeKeywords": { + "description": "The list of negative keywords that have been successfully created.\n\nThis list will be absent if empty.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditSitesRequest": { + "description": "Request message for SiteService.BulkEditSites.", + "id": "BulkEditSitesRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "type": "string" + }, + "createdSites": { + "description": "The sites to create in batch, specified as a list of Sites.", + "items": { + "$ref": "Site" + }, + "type": "array" + }, + "deletedSites": { + "description": "The sites to delete in batch, specified as a list of site\nurl_or_app_ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditSitesResponse": { + "description": "Response message for SiteService.BulkEditSites.", + "id": "BulkEditSitesResponse", + "properties": { + "sites": { + "description": "The list of sites that have been successfully created.\n\nThis list will be absent if empty.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkListAdvertiserAssignedTargetingOptionsResponse": { + "id": "BulkListAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be\nspecified as the\npageToken\nin a subsequent BulkListAdvertiserAssignedTargetingOptionsRequest to\nfetch the next page of results. This token will be absent if there are no\nmore\nassigned_targeting_options\nto return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListLineItemAssignedTargetingOptionsResponse": { + "id": "BulkListLineItemAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be\nspecified as the\npageToken in\na subsequent BulkListLineItemAssignedTargetingOptionsRequest to fetch\nthe next page of results. This token will be absent if there are no more\nassigned_targeting_options\nto return.", + "type": "string" + } + }, + "type": "object" + }, + "Campaign": { + "description": "A single campaign.", + "id": "Campaign", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "type": "string" + }, + "campaignFlight": { + "$ref": "CampaignFlight", + "description": "Required. The planned spend and duration of the campaign." + }, + "campaignGoal": { + "$ref": "CampaignGoal", + "description": "Required. The goal of the campaign." + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the campaign.\n\nMust be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not the insertion orders under this campaign\ncan spend their budgets and bid on inventory.\n\n* Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and\n`ENTITY_STATUS_PAUSED`.\n* For\nCreateCampaign method,\n`ENTITY_STATUS_ARCHIVED` is not allowed.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An\nentity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The frequency cap setting of the campaign." + }, + "name": { + "description": "Output only. The resource name of the campaign.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the campaign was last updated. Assigned by the system.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "CampaignFlight": { + "description": "Settings that track the planned spend and duration of a campaign.", + "id": "CampaignFlight", + "properties": { + "plannedDates": { + "$ref": "DateRange", + "description": "Required. The dates that the campaign is expected to run. They are resolved\nrelative to the parent advertiser's time zone.\n\n* The dates specified here will not affect serving. They are used to\ngenerate alerts and warnings. For example, if the flight date of any child\ninsertion order is outside the range of these dates, the user interface\nwill show a warning.\n* `start_date` is required and must be the current date or later.\n* `end_date` is optional. If specified, it must be the `start_date` or\nlater.\n* Any specified date must be before the year 2037." + }, + "plannedSpendAmountMicros": { + "description": "The amount the campaign is expected to spend for its given\nplanned_dates. This will not limit serving,\nbut will be used for tracking spend in the DV360 UI.\n\nThe amount is in micros. Must be greater than or equal to 0. For example,\n500000000 represents 500 standard units of the currency.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CampaignGoal": { + "description": "Settings that control the goal of a campaign.", + "id": "CampaignGoal", + "properties": { + "campaignGoalType": { + "description": "Required. The type of the campaign goal.", + "enum": [ + "CAMPAIGN_GOAL_TYPE_UNSPECIFIED", + "CAMPAIGN_GOAL_TYPE_APP_INSTALL", + "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS", + "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION", + "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" + ], + "enumDescriptions": [ + "Goal value is not specified or unknown in this version.", + "Drive app installs or engagements.", + "Raise awareness of a brand or product.", + "Drive offline or in-store sales.", + "Drive online action or visits." + ], + "type": "string" + }, + "performanceGoal": { + "$ref": "PerformanceGoal", + "description": "Required. The performance goal of the campaign.\n\nAcceptable values for\nperformance_goal_type are:\n\n* `PERFORMANCE_GOAL_TYPE_CPM`\n* `PERFORMANCE_GOAL_TYPE_CPC`\n* `PERFORMANCE_GOAL_TYPE_CPA`\n* `PERFORMANCE_GOAL_TYPE_CPIAVC`\n* `PERFORMANCE_GOAL_TYPE_CTR`\n* `PERFORMANCE_GOAL_TYPE_VIEWABILITY`\n* `PERFORMANCE_GOAL_TYPE_OTHER`" + } + }, + "type": "object" + }, + "CarrierAndIspAssignedTargetingOptionDetails": { + "description": "Details for assigned carrier and ISP targeting option. This will be populated\nin the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_CARRIER_AND_ISP`.", + "id": "CarrierAndIspAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the carrier or ISP.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. All assigned carrier\nand ISP targeting options on the same line item must have the same value\nfor this field.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`.", + "type": "string" + } + }, + "type": "object" + }, + "CarrierAndIspTargetingOptionDetails": { + "description": "Represents a targetable carrier or ISP. This will be populated in the\ncarrier_and_isp_details field of\na TargetingOption when\ntargeting_type is\n`TARGETING_TYPE_CARRIER_AND_ISP`.", + "id": "CarrierAndIspTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the carrier or ISP.", + "type": "string" + }, + "type": { + "description": "Output only. The type indicating if it's carrier or ISP.", + "enum": [ + "CARRIER_AND_ISP_TYPE_UNSPECIFIED", + "CARRIER_AND_ISP_TYPE_ISP", + "CARRIER_AND_ISP_TYPE_CARRIER" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Indicates this targeting resource refers to an ISP.", + "Indicates this targeting resource refers to a mobile carrier." + ], + "type": "string" + } + }, + "type": "object" + }, + "CategoryAssignedTargetingOptionDetails": { + "description": "Assigned category targeting option details. This will be populated in the\ncategory_details field when\ntargeting_type is\n`TARGETING_TYPE_CATEGORY`.", + "id": "CategoryAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the category.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_CATEGORY`.", + "type": "string" + } + }, + "type": "object" + }, + "CategoryTargetingOptionDetails": { + "description": "Represents a targetable category. This will be populated in the\ncategory_details field of a\nTargetingOption when targeting_type is\n`TARGETING_TYPE_CATEGORY`.", + "id": "CategoryTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the category.", + "type": "string" + } + }, + "type": "object" + }, + "Channel": { + "description": "A single channel. Channels are custom groups of related websites and apps.", + "id": "Channel", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channel.", + "format": "int64", + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the channel.\nMust be UTF-8 encoded with a maximum length of 240 bytes.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the channel.", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ChannelAssignedTargetingOptionDetails": { + "description": "Details for assigned channel targeting option. This will be populated in\nthe details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_CHANNEL`.", + "id": "ChannelAssignedTargetingOptionDetails", + "properties": { + "channelId": { + "description": "Required. ID of the channel. Should refer to the channel ID\nfield on a\n[Partner-owned channel](partners.channels#Channel.FIELDS.channel_id) or\n[advertiser-owned channel](advertisers.channels#Channel.FIELDS.channel_id)\nresource.", + "format": "int64", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. For advertiser\nlevel assigned targeting option, this field must be true.", + "type": "boolean" + } + }, + "type": "object" + }, + "CmHybridConfig": { + "description": "Settings for advertisers that use both Campaign Manager (CM) and third-party\nad servers.", + "id": "CmHybridConfig", + "properties": { + "cmAccountId": { + "description": "Required. Immutable. Account ID of the CM Floodlight configuration linked with the DV360\nadvertiser.", + "format": "int64", + "type": "string" + }, + "cmFloodlightConfigId": { + "description": "Required. Immutable. ID of the CM Floodlight configuration linked with the DV360 advertiser.", + "format": "int64", + "type": "string" + }, + "cmFloodlightLinkingAuthorized": { + "description": "Required. Immutable. By setting this field to `true`, you, on behalf of your company,\nauthorize the sharing of information from the given Floodlight\nconfiguration to this Display & Video 360 advertiser.", + "type": "boolean" + }, + "cmSyncableSiteIds": { + "description": "A list of CM sites whose placements will be synced to DV360 as creatives.\n\nIf absent or empty in\nCreateAdvertiser method, the system\nwill automatically create a CM site.\n\nRemoving sites from this list may cause DV360 creatives synced from CM to\nbe deleted. At least one site must be specified.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "dv360ToCmCostReportingEnabled": { + "description": "Whether or not to report DV360 cost to CM.", + "type": "boolean" + }, + "dv360ToCmDataSharingEnabled": { + "description": "Whether or not to include DV360 data in CM data transfer reports.", + "type": "boolean" + } + }, + "type": "object" + }, + "CmTrackingAd": { + "description": "A Campaign Manager tracking ad.", + "id": "CmTrackingAd", + "properties": { + "cmAdId": { + "description": "The ad ID of the campaign manager tracking Ad.", + "format": "int64", + "type": "string" + }, + "cmCreativeId": { + "description": "The creative ID of the campaign manager tracking Ad.", + "format": "int64", + "type": "string" + }, + "cmPlacementId": { + "description": "The placement ID of the campaign manager tracking Ad.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CombinedAudience": { + "description": "Describes a combined audience resource.", + "id": "CombinedAudience", + "properties": { + "combinedAudienceId": { + "description": "Output only. The unique ID of the combined audience. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the combined audience.\n.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the combined audience.", + "type": "string" + } + }, + "type": "object" + }, + "CombinedAudienceGroup": { + "description": "Details of combined audience group.\nAll combined audience targeting settings are logically \u2018OR\u2019 of each other.", + "id": "CombinedAudienceGroup", + "properties": { + "settings": { + "description": "Required. All combined audience targeting settings in combined audience group.\nRepeated settings with same id will be ignored.\nThe number of combined audience settings should be no more than five, error\nwill be thrown otherwise.", + "items": { + "$ref": "CombinedAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "CombinedAudienceTargetingSetting": { + "description": "Details of combined audience targeting setting.", + "id": "CombinedAudienceTargetingSetting", + "properties": { + "combinedAudienceId": { + "description": "Required. Combined audience id of combined audience targeting setting.\nThis id is combined_audience_id.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ContentInstreamPositionAssignedTargetingOptionDetails": { + "description": "Assigned content instream position targeting option details. This will be\npopulated in the\ncontent_instream_position_details\nfield when\ntargeting_type is\n`TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.", + "id": "ContentInstreamPositionAssignedTargetingOptionDetails", + "properties": { + "contentInstreamPosition": { + "description": "Output only. The content instream position for video or audio ads.", + "enum": [ + "CONTENT_INSTREAM_POSITION_UNSPECIFIED", + "CONTENT_INSTREAM_POSITION_PRE_ROLL", + "CONTENT_INSTREAM_POSITION_MID_ROLL", + "CONTENT_INSTREAM_POSITION_POST_ROLL" + ], + "enumDescriptions": [ + "Content instream position is not specified in this version. This enum is a\nplace holder for a default value and does not represent a real in stream ad\nposition.", + "Ads that play before streaming content.", + "Ads that play between the beginning and end of streaming content.", + "Ads that play at the end of streaming content." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.", + "type": "string" + } + }, + "type": "object" + }, + "ContentInstreamPositionTargetingOptionDetails": { + "description": "Represents a targetable content instream position, which could be used by\nvideo and audio ads. This will be populated in the\ncontent_instream_position_details\nfield when targeting_type is\n`TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.", + "id": "ContentInstreamPositionTargetingOptionDetails", + "properties": { + "contentInstreamPosition": { + "description": "Output only. The content instream position.", + "enum": [ + "CONTENT_INSTREAM_POSITION_UNSPECIFIED", + "CONTENT_INSTREAM_POSITION_PRE_ROLL", + "CONTENT_INSTREAM_POSITION_MID_ROLL", + "CONTENT_INSTREAM_POSITION_POST_ROLL" + ], + "enumDescriptions": [ + "Content instream position is not specified in this version. This enum is a\nplace holder for a default value and does not represent a real in stream ad\nposition.", + "Ads that play before streaming content.", + "Ads that play between the beginning and end of streaming content.", + "Ads that play at the end of streaming content." + ], + "type": "string" + } + }, + "type": "object" + }, + "ContentOutstreamPositionAssignedTargetingOptionDetails": { + "description": "Assigned content outstream position targeting option details. This will be\npopulated in the\ncontent_outstream_position_details\nfield when\ntargeting_type is\n`TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.", + "id": "ContentOutstreamPositionAssignedTargetingOptionDetails", + "properties": { + "contentOutstreamPosition": { + "description": "Output only. The content outstream position.", + "enum": [ + "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", + "CONTENT_OUTSTREAM_POSITION_UNKNOWN", + "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", + "CONTENT_OUTSTREAM_POSITION_IN_BANNER", + "CONTENT_OUTSTREAM_POSITION_IN_FEED", + "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" + ], + "enumDescriptions": [ + "Content outstream position is not specified in this version. This enum is a\nplace holder for a default value and does not represent a real content\noutstream position.", + "The ad position is unknown in the content outstream.", + "Ads that appear between the paragraphs of your pages.", + "Ads that display on the top and the sides of a page.", + "Ads that appear in a scrollable stream of content. A feed is typically\neditorial (e.g. a list of articles or news) or listings (e.g. a list of\nproducts or services).", + "Ads shown before or between content loads." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.", + "type": "string" + } + }, + "type": "object" + }, + "ContentOutstreamPositionTargetingOptionDetails": { + "description": "Represents a targetable content outstream position, which could be used by\ndisplay and video ads. This will be populated in the\ncontent_outstream_position_details\nfield when targeting_type is\n`TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.", + "id": "ContentOutstreamPositionTargetingOptionDetails", + "properties": { + "contentOutstreamPosition": { + "description": "Output only. The content outstream position.", + "enum": [ + "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", + "CONTENT_OUTSTREAM_POSITION_UNKNOWN", + "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", + "CONTENT_OUTSTREAM_POSITION_IN_BANNER", + "CONTENT_OUTSTREAM_POSITION_IN_FEED", + "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" + ], + "enumDescriptions": [ + "Content outstream position is not specified in this version. This enum is a\nplace holder for a default value and does not represent a real content\noutstream position.", + "The ad position is unknown in the content outstream.", + "Ads that appear between the paragraphs of your pages.", + "Ads that display on the top and the sides of a page.", + "Ads that appear in a scrollable stream of content. A feed is typically\neditorial (e.g. a list of articles or news) or listings (e.g. a list of\nproducts or services).", + "Ads shown before or between content loads." + ], + "type": "string" + } + }, + "type": "object" + }, + "ConversionCountingConfig": { + "description": "Settings that control how conversions are counted.\n\nAll post-click conversions will be counted. A percentage value can be set\nfor post-view conversions counting.", + "id": "ConversionCountingConfig", + "properties": { + "floodlightActivityConfigs": { + "description": "The Floodlight activity configs used to track conversions.\n\nThe number of conversions counted is the sum of all of the conversions\ncounted by all of the Floodlight activity IDs specified in this field.", + "items": { + "$ref": "TrackingFloodlightActivityConfig" + }, + "type": "array" + }, + "postViewCountPercentageMillis": { + "description": "The percentage of post-view conversions to count, in millis (1/1000 of a\npercent). Must be between 0 and 100000 inclusive.\n\nFor example, to track 50% of the post-click conversions, set a value of\n50000.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CounterEvent": { + "description": "Counter event of the creative.", + "id": "CounterEvent", + "properties": { + "name": { + "description": "Required. The name of the counter event.", + "type": "string" + }, + "reportingName": { + "description": "Required. The name used to identify this counter event in reports.", + "type": "string" + } + }, + "type": "object" + }, + "CreateAssetRequest": { + "description": "A request message for CreateAsset.", + "id": "CreateAssetRequest", + "properties": { + "filename": { + "description": "Required. The filename of the asset, including the file extension.\n\nThe filename must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + } + }, + "type": "object" + }, + "CreateAssetResponse": { + "description": "A response message for CreateAsset.", + "id": "CreateAssetResponse", + "properties": { + "asset": { + "$ref": "Asset", + "description": "The uploaded asset, if successful." + } + }, + "type": "object" + }, + "CreateAssignedTargetingOptionsRequest": { + "description": "A request listing which assigned targeting options of a given targeting type\nshould be created and added.", + "id": "CreateAssignedTargetingOptionsRequest", + "properties": { + "assignedTargetingOptions": { + "description": "Required. The assigned targeting options to create and add.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location\nlist.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a\nparent).", + "Target video or audio ads in a specific content instream position (for\nexample, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences.\nSingleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or\nDoubleVerify).", + "Filter web sites by specific digital content label ratings (for example,\nDL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider\n(ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or\nSamsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts &\nentertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges." + ], + "type": "string" + } + }, + "type": "object" + }, + "CreateSdfDownloadTaskRequest": { + "description": "Request message for [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "CreateSdfDownloadTaskRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser to download SDF for.", + "format": "int64", + "type": "string" + }, + "idFilter": { + "$ref": "IdFilter", + "description": "Filters on entities by their entity IDs." + }, + "inventorySourceFilter": { + "$ref": "InventorySourceFilter", + "description": "Filters on Inventory Sources by their IDs." + }, + "parentEntityFilter": { + "$ref": "ParentEntityFilter", + "description": "Filters on selected file types. The entities in each file are filtered\n by a chosen set of filter entities. The filter entities must be the same\n type as, or a parent type of, the selected file types." + }, + "partnerId": { + "description": "The ID of the partner to download SDF for.", + "format": "int64", + "type": "string" + }, + "version": { + "description": "Required. The SDF version of the downloaded file. If set to\n`SDF_VERSION_UNSPECIFIED`, this will default to the version specified by\nthe advertiser or partner identified by `root_id`. An advertiser inherits\nits SDF version from its partner unless configured otherwise.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2" + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2;" + ], + "type": "string" + } + }, + "type": "object" + }, + "Creative": { + "description": "A single Creative.", + "id": "Creative", + "properties": { + "additionalDimensions": { + "description": "Additional dimensions.\nApplicable when creative_type is one of:\n\n* `CREATIVE_TYPE_STANDARD`\n* `CREATIVE_TYPE_EXPANDABLE`\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_TEMPLATED_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_LIGHTBOX`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_PUBLISHER_HOSTED`\n\nIf this field is specified, width_pixels and\nheight_pixels are both required and must be\ngreater than or equal to 0.", + "items": { + "$ref": "Dimensions" + }, + "type": "array" + }, + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "type": "string" + }, + "appendedTag": { + "description": "Third-party HTML tracking tag to be appended to the creative tag.", + "type": "string" + }, + "assets": { + "description": "Required. Assets associated to this creative.\nAssets can be associated to the creative in one of following roles:\n\n* `ASSET_ROLE_UNSPECIFIED`\n* `ASSET_ROLE_MAIN`\n* `ASSET_ROLE_BACKUP`\n* `ASSET_ROLE_POLITE_LOAD`", + "items": { + "$ref": "AssetAssociation" + }, + "type": "array" + }, + "cmPlacementId": { + "description": "Output only. The unique ID of the Campaign Manager placement associated with the\ncreative.\nThis field is only applicable for creatives that are synced from Campaign\nManager.", + "format": "int64", + "type": "string" + }, + "cmTrackingAd": { + "$ref": "CmTrackingAd", + "description": "The Campaign Manager tracking ad associated with the creative.\n\nOptional for the following creative_type when\ncreated by an advertiser that uses both Campaign Manager and third-party ad\nserving:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n\nOutput only for other cases." + }, + "companionCreativeIds": { + "description": "The IDs of companion creatives for a video creative.\n\nYou can assign existing display creatives (with image or HTML5 assets)\nto serve surrounding the publisher's video player. Companions display\naround the video player while the video is playing and remain after the\nvideo has completed.\n\nCreatives contain additional dimensions\ncan not be companion creatives.\n\nThis field is only supported for following\ncreative_type:\n\n* `CREATIVE_TYPE_AUDIO`\n* `CREATIVE_TYPE_VIDEO`", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "counterEvents": { + "description": "Counter events for a rich media creative.\nCounters track the number of times that a user interacts with any part of a\nrich media creative in a specified way (mouse-overs, mouse-outs, clicks,\ntaps, data loading, keyboard entries, etc.).\nAny event that can be captured in the creative can be recorded as a\ncounter.\nLeave it empty or unset for creatives containing image assets only.", + "items": { + "$ref": "CounterEvent" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The timestamp when the creative was created. Assigned by\nthe system.", + "format": "google-datetime", + "type": "string" + }, + "creativeAttributes": { + "description": "Output only. A list of attributes of the creative that is generated by the system.", + "enumDescriptions": [ + "The creative attribute is not specified or is unknown in this version.", + "The creative is a VAST creative.", + "The creative is a linear VPAID creative.", + "The creative is a non-linear VPAID creative." + ], + "items": { + "enum": [ + "CREATIVE_ATTRIBUTE_UNSPECIFIED", + "CREATIVE_ATTRIBUTE_VAST", + "CREATIVE_ATTRIBUTE_VPAID_LINEAR", + "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" + ], + "type": "string" + }, + "type": "array" + }, + "creativeId": { + "description": "Output only. The unique ID of the creative. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "creativeType": { + "description": "Required. Immutable. The type of the creative.", + "enum": [ + "CREATIVE_TYPE_UNSPECIFIED", + "CREATIVE_TYPE_STANDARD", + "CREATIVE_TYPE_EXPANDABLE", + "CREATIVE_TYPE_VIDEO", + "CREATIVE_TYPE_NATIVE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_SITE_SQUARE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", + "CREATIVE_TYPE_LIGHTBOX", + "CREATIVE_TYPE_NATIVE_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", + "CREATIVE_TYPE_AUDIO", + "CREATIVE_TYPE_PUBLISHER_HOSTED", + "CREATIVE_TYPE_NATIVE_VIDEO", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Standard display creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is one of the following:\n\n* `HOSTING_SOURCE_HOSTED`\n* `HOSTING_SOURCE_THIRD_PARTY`", + "Expandable creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_THIRD_PARTY`", + "Video creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is one of the following:\n\n* `HOSTING_SOURCE_HOSTED`\n* `HOSTING_SOURCE_THIRD_PARTY`", + "Native creative rendered by publishers with assets from advertiser.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile creative (banner).\n\nCreate and update methods are **not** supported for this creative type.", + "Square native creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Interstitial creative including both display and video.\n\nCreate and update methods are **not** supported for this creative type.", + "Responsive and expandable Lightbox creative.\n\nCreate and update methods are **not** supported for this creative type.", + "Native app install creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Square native app install creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Audio creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Publisher hosted creative.\n\nCreate and update methods are **not** supported for this creative type.", + "Native video creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile video creative.\n\nCreate and update methods are **not** supported for this creative type." + ], + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "Required. Primary dimensions of the creative.\nApplicable to all creative types. The value of\nwidth_pixels and\nheight_pixels defaults to `0`\nwhen creative_type is one of:\n\n* `CREATIVE_TYPE_VIDEO`\n* `CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL`\n* `CREATIVE_TYPE_AUDIO`\n* `CREATIVE_TYPE_NATIVE_VIDEO`\n* `CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO`" + }, + "displayName": { + "description": "Required. The display name of the creative.\n\nMust be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "dynamic": { + "description": "Output only. Indicates whether the creative is dynamic.", + "type": "boolean" + }, + "entityStatus": { + "description": "Required. Controls whether or not the creative can serve.\n\nAccepted values are:\n\n* `ENTITY_STATUS_ACTIVE`\n* `ENTITY_STATUS_ARCHIVED`\n* `ENTITY_STATUS_PAUSED`", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An\nentity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "exitEvents": { + "description": "Required. Exit events for this creative.\nAn exit (also known as a click tag) is any area in your creative that\nsomeone can click or tap to open an advertiser's landing page.\nEvery creative must include at least one exit.\nYou can add an exit to your creative in any of the following ways:\n\n* Use Google Web Designer's tap area.\n* Define a JavaScript variable called \"clickTag\".\n* Use the Enabler (Enabler.exit()) to track exits in rich media formats.", + "items": { + "$ref": "ExitEvent" + }, + "type": "array" + }, + "expandOnHover": { + "description": "Optional. Indicates the creative will automatically expand on hover.\n\nOptional and only valid for third-party expandable creatives.\nThird-party expandable creatives are creatives with following hosting\nsource:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "expandingDirection": { + "description": "Optional. Specifies the expanding direction of the creative.\n\nRequired and only valid for third-party expandable creatives.\n\nThird-party expandable creatives are creatives with following hosting\nsource:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_EXPANDABLE`", + "enum": [ + "EXPANDING_DIRECTION_UNSPECIFIED", + "EXPANDING_DIRECTION_NONE", + "EXPANDING_DIRECTION_UP", + "EXPANDING_DIRECTION_DOWN", + "EXPANDING_DIRECTION_LEFT", + "EXPANDING_DIRECTION_RIGHT", + "EXPANDING_DIRECTION_UP_AND_LEFT", + "EXPANDING_DIRECTION_UP_AND_RIGHT", + "EXPANDING_DIRECTION_DOWN_AND_LEFT", + "EXPANDING_DIRECTION_DOWN_AND_RIGHT", + "EXPANDING_DIRECTION_UP_OR_DOWN", + "EXPANDING_DIRECTION_LEFT_OR_RIGHT", + "EXPANDING_DIRECTION_ANY_DIAGONAL" + ], + "enumDescriptions": [ + "The expanding direction is not specified.", + "Does not expand in any direction.", + "Expands up.", + "Expands down.", + "Expands left.", + "Expands right.", + "Expands up and to the left side.", + "Expands up and to the right side.", + "Expands down and to the left side.", + "Expands down and to the right side.", + "Expands either up or down.", + "Expands to either the left or the right side.", + "Can expand in any diagonal direction." + ], + "type": "string" + }, + "hostingSource": { + "description": "Required. Indicates where the creative is hosted.", + "enum": [ + "HOSTING_SOURCE_UNSPECIFIED", + "HOSTING_SOURCE_CM", + "HOSTING_SOURCE_THIRD_PARTY", + "HOSTING_SOURCE_HOSTED", + "HOSTING_SOURCE_RICH_MEDIA" + ], + "enumDescriptions": [ + "Hosting source is not specified or is unknown in this version.", + "A creative synced from Campaign Manager.\n\nCreate and update methods are **not** supported for this hosting type.", + "A creative hosted by a third-party ad server (3PAS).\n\nCreate and update methods are supported for this hosting type if the\ncreative_type is one of the following:\n\n* `CREATIVE_TYPE_EXPANDABLE`\n* `CREATIVE_TYPE_STANDARD`\n* `CREATIVE_TYPE_VIDEO`", + "A creative created in DV360 and hosted by Campaign Manager.\n\nCreate and update methods are supported for this hosting type if the\ncreative_type is one of the following:\n\n* `CREATIVE_TYPE_AUDIO`\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`\n* `CREATIVE_TYPE_STANDARD`\n* `CREATIVE_TYPE_VIDEO`", + "A rich media creative created in Studio and hosted by Campaign Manager.\n\nCreate and update methods are **not** supported for this hosting type." + ], + "type": "string" + }, + "html5Video": { + "description": "Output only. Indicates the third-party VAST tag creative requires HTML5 Video support.\n\nOutput only and only valid for third-party VAST tag creatives.\n\nThird-party VAST tag creatives are creatives with following\nhosting_source:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_VIDEO`", + "type": "boolean" + }, + "iasCampaignMonitoring": { + "description": "Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled.\nTo enable this for the creative, make sure the\nAdvertiser.creative_config.ias_client_id\nhas been set to your IAS client ID.", + "type": "boolean" + }, + "integrationCode": { + "description": "ID information used to link this creative to an external system.\nMust be UTF-8 encoded with a length of no more than 10,000 characters.", + "type": "string" + }, + "jsTrackerUrl": { + "description": "JavaScript measurement URL from supported third-party verification\nproviders (ComScore, DoubleVerify, IAS, Moat). HTML script tags are not\nsupported.\n\nThis field is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "type": "string" + }, + "lineItemIds": { + "description": "Output only. The IDs of the line items this creative is associated with.\n\nTo associate a creative to a line item, use\nLineItem.creative_ids instead.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "mediaDuration": { + "description": "Output only. Media duration of the creative.\nApplicable when creative_type\nis one of:\n\n* `CREATIVE_TYPE_VIDEO`\n* `CREATIVE_TYPE_AUDIO`\n* `CREATIVE_TYPE_NATIVE_VIDEO`\n* `CREATIVE_TYPE_PUBLISHER_HOSTED`", + "format": "google-duration", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the creative.", + "type": "string" + }, + "notes": { + "description": "User notes for this creative.\nMust be UTF-8 encoded with a length of no more than 20,000 characters.", + "type": "string" + }, + "obaIcon": { + "$ref": "ObaIcon", + "description": "Specifies the OBA icon for a video creative.\n\nThis field is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_VIDEO`" + }, + "progressOffset": { + "$ref": "AudioVideoOffset", + "description": "Amount of time to play the video before counting a view.\n\nThis field is required when skippable is true.\n\nThis field is only supported for the following\ncreative_type:\n\n* `CREATIVE_TYPE_VIDEO`" + }, + "requireHtml5": { + "description": "Optional. Indicates that the creative relies on HTML5 to render properly.\n\nOptional and only valid for third-party tag creatives.\nThird-party tag creatives are creatives with following\nhosting_source:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_STANDARD`\n* `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "requireMraid": { + "description": "Optional. Indicates that the creative requires MRAID (Mobile Rich Media Ad Interface\nDefinitions system).\n\nSet this if the creative relies on mobile gestures for interactivity, such\nas swiping or tapping.\n\nOptional and only valid for third-party tag creatives.\n\nThird-party tag creatives are creatives with following\nhosting_source:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_STANDARD`\n* `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "requirePingForAttribution": { + "description": "Optional. Indicates that the creative will wait for a return ping for attribution.\n\nOnly valid when using a Campaign Manager tracking ad with a third-party ad\nserver parameter and the ${DC_DBM_TOKEN} macro.\n\nOptional and only valid for third-party tag creatives or third-party VAST\ntag creatives.\n\nThird-party tag creatives are creatives with following\nhosting_source:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_STANDARD`\n* `CREATIVE_TYPE_EXPANDABLE`\n\nThird-party VAST tag creatives are creatives with following\nhosting_source:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_VIDEO`", + "type": "boolean" + }, + "reviewStatus": { + "$ref": "ReviewStatusInfo", + "description": "Output only. The current status of the creative review process." + }, + "skipOffset": { + "$ref": "AudioVideoOffset", + "description": "Amount of time to play the video before the skip button appears.\n\nThis field is required when skippable is true.\n\nThis field is only supported for the following\ncreative_type:\n\n* `CREATIVE_TYPE_VIDEO`" + }, + "skippable": { + "description": "Whether the user can choose to skip a video creative.\n\nThis field is only supported for the following\ncreative_type:\n\n* `CREATIVE_TYPE_VIDEO`", + "type": "boolean" + }, + "thirdPartyTag": { + "description": "Optional. The original third-party tag used for the creative.\n\nRequired and only valid for third-party tag creatives.\n\nThird-party tag creatives are creatives with following\nhosting_source:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_STANDARD`\n* `CREATIVE_TYPE_EXPANDABLE`", + "type": "string" + }, + "thirdPartyUrls": { + "description": "Tracking URLs from third parties to track interactions with a video\ncreative.\n\nThis field is only supported for the following\ncreative_type:\n\n* `CREATIVE_TYPE_AUDIO`\n* `CREATIVE_TYPE_VIDEO`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "items": { + "$ref": "ThirdPartyUrl" + }, + "type": "array" + }, + "timerEvents": { + "description": "Timer custom events for a rich media creative.\nTimers track the time during which a user views and interacts with a\nspecified part of a rich media creative.\nA creative can have multiple timer events, each timed independently.\nLeave it empty or unset for creatives containing image assets only.", + "items": { + "$ref": "TimerEvent" + }, + "type": "array" + }, + "trackerUrls": { + "description": "Tracking URLs for analytics providers or third-party ad technology vendors.\n\nThe URLs must start with https (except on inventory that doesn't require\nSSL compliance).\nIf using macros in your URL, use only macros supported by Display & Video\n360.\n\nStandard URLs only, no IMG or SCRIPT tags.\n\nThis field is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_NATIVE`\n* `CREATIVE_TYPE_NATIVE_SITE_SQUARE`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL`\n* `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`\n* `CREATIVE_TYPE_NATIVE_VIDEO`", + "items": { + "type": "string" + }, + "type": "array" + }, + "transcodes": { + "description": "Output only. Audio/Video transcodes.\n\nDisplay & Video 360 transcodes the main asset into a number of alternative\nversions that use different file formats or have different properties\n(resolution, audio bit rate, and video bit rate), each designed for\nspecific video players or bandwidths.\n\nThese transcodes give a publisher's system more options to choose from for\neach impression on your video and ensures that the appropriate file serves\nbased on the viewer\u2019s connection and screen size.\n\nThis field is only supported in following\ncreative_type:\n\n* `CREATIVE_TYPE_VIDEO`\n* `CREATIVE_TYPE_NATIVE_VIDEO`\n* `CREATIVE_TYPE_AUDIO`", + "items": { + "$ref": "Transcode" + }, + "type": "array" + }, + "universalAdId": { + "$ref": "UniversalAdId", + "description": "Optional. An optional creative identifier provided by a registry that is unique\nacross all platforms.\n\nUniversal Ad ID is part of the VAST 4.0 standard. It can be modified after\nthe creative is created.\n\nThis field is only supported for the following\ncreative_type:\n\n* `CREATIVE_TYPE_VIDEO`" + }, + "updateTime": { + "description": "Output only. The timestamp when the creative was last updated. Assigned by\nthe system.", + "format": "google-datetime", + "type": "string" + }, + "vastTagUrl": { + "description": "Optional. The URL of the VAST tag for a third-party VAST tag creative.\n\nRequired and only valid for third-party VAST tag creatives.\n\nThird-party VAST tag creatives are creatives with following\nhosting_source:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_VIDEO`", + "type": "string" + }, + "vpaid": { + "description": "Output only. Indicates the third-party VAST tag creative requires VPAID (Digital Video\nPlayer-Ad Interface).\n\nOutput only and only valid for third-party VAST tag creatives.\n\nThird-party VAST tag creatives are creatives with following\nhosting_source:\n\n* `HOSTING_SOURCE_THIRD_PARTY`\n\ncombined with following creative_type:\n\n* `CREATIVE_TYPE_VIDEO`", + "type": "boolean" + } + }, + "type": "object" + }, + "CreativeConfig": { + "description": "Creative requirements configuration for the inventory source.", + "id": "CreativeConfig", + "properties": { + "creativeType": { + "description": "The type of creative that can be assigned to the inventory source.", + "enum": [ + "CREATIVE_TYPE_UNSPECIFIED", + "CREATIVE_TYPE_STANDARD", + "CREATIVE_TYPE_EXPANDABLE", + "CREATIVE_TYPE_VIDEO", + "CREATIVE_TYPE_NATIVE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_SITE_SQUARE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", + "CREATIVE_TYPE_LIGHTBOX", + "CREATIVE_TYPE_NATIVE_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", + "CREATIVE_TYPE_AUDIO", + "CREATIVE_TYPE_PUBLISHER_HOSTED", + "CREATIVE_TYPE_NATIVE_VIDEO", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Standard display creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is one of the following:\n\n* `HOSTING_SOURCE_HOSTED`\n* `HOSTING_SOURCE_THIRD_PARTY`", + "Expandable creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_THIRD_PARTY`", + "Video creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is one of the following:\n\n* `HOSTING_SOURCE_HOSTED`\n* `HOSTING_SOURCE_THIRD_PARTY`", + "Native creative rendered by publishers with assets from advertiser.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile creative (banner).\n\nCreate and update methods are **not** supported for this creative type.", + "Square native creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Interstitial creative including both display and video.\n\nCreate and update methods are **not** supported for this creative type.", + "Responsive and expandable Lightbox creative.\n\nCreate and update methods are **not** supported for this creative type.", + "Native app install creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Square native app install creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Audio creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Publisher hosted creative.\n\nCreate and update methods are **not** supported for this creative type.", + "Native video creative.\n\nCreate and update methods are supported for this creative type if the\nhosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile video creative.\n\nCreate and update methods are **not** supported for this creative type." + ], + "type": "string" + }, + "displayCreativeConfig": { + "$ref": "InventorySourceDisplayCreativeConfig", + "description": "The configuration for display creatives.\nApplicable when creative_type is\n`CREATIVE_TYPE_STANDARD`." + }, + "videoCreativeConfig": { + "$ref": "InventorySourceVideoCreativeConfig", + "description": "The configuration for video creatives.\nApplicable when creative_type is\n`CREATIVE_TYPE_VIDEO`." + } + }, + "type": "object" + }, + "CustomList": { + "description": "Describes a custom list entity, such as a custom affinity or custom intent\naudience list.", + "id": "CustomList", + "properties": { + "customListId": { + "description": "Output only. The unique ID of the custom list. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the custom list.\n.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the custom list.", + "type": "string" + } + }, + "type": "object" + }, + "CustomListGroup": { + "description": "Details of custom list group.\nAll custom list targeting settings are logically \u2018OR\u2019 of each other.", + "id": "CustomListGroup", + "properties": { + "settings": { + "description": "Required. All custom list targeting settings in custom list group.\nRepeated settings with same id will be ignored.", + "items": { + "$ref": "CustomListTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomListTargetingSetting": { + "description": "Details of custom list targeting setting.", + "id": "CustomListTargetingSetting", + "properties": { + "customListId": { + "description": "Required. Custom id of custom list targeting setting.\nThis id is custom_list_id.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day\nand time zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. This can represent:\n\n* A full date, with non-zero year, month and day values\n* A month and day value, with a zero year, e.g. an anniversary\n* A year on its own, with zero month and day values\n* A year and month value, with a zero day, e.g. a credit card expiration date\n\nRelated types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "id": "Date", + "properties": { + "day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateRange": { + "description": "A date range.", + "id": "DateRange", + "properties": { + "endDate": { + "$ref": "Date", + "description": "The upper bound of the date range, inclusive. Must specify a positive value\nfor `year`, `month`, and `day`." + }, + "startDate": { + "$ref": "Date", + "description": "The lower bound of the date range, inclusive. Must specify a positive value\nfor `year`, `month`, and `day`." + } + }, + "type": "object" + }, + "DayAndTimeAssignedTargetingOptionDetails": { + "description": "Representation of a segment of time defined on a specific day of the week and\nwith a start and end time.\nThe time represented by `start_hour` must be before the time represented by\n`end_hour`.", + "id": "DayAndTimeAssignedTargetingOptionDetails", + "properties": { + "dayOfWeek": { + "description": "Required. The day of the week for this day and time targeting setting.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "endHour": { + "description": "Required. The end hour for day and time targeting. Must be between 1 (1 hour after\nstart of day) and 24 (end of day).", + "format": "int32", + "type": "integer" + }, + "startHour": { + "description": "Required. The start hour for day and time targeting. Must be between 0 (start of day)\nand 23 (1 hour before end of day).", + "format": "int32", + "type": "integer" + }, + "timeZoneResolution": { + "description": "Required. The mechanism used to determine which timezone to use for this day and time\ntargeting setting.", + "enum": [ + "TIME_ZONE_RESOLUTION_UNSPECIFIED", + "TIME_ZONE_RESOLUTION_END_USER", + "TIME_ZONE_RESOLUTION_ADVERTISER" + ], + "enumDescriptions": [ + "Time zone resolution is either unspecific or unknown.", + "Times are resolved in the time zone of the user that saw the ad.", + "Times are resolved in the time zone of the advertiser that served the ad." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeleteAssignedTargetingOptionsRequest": { + "description": "A request listing which assigned targeting options of a given targeting type\nshould be deleted.", + "id": "DeleteAssignedTargetingOptionsRequest", + "properties": { + "assignedTargetingOptionIds": { + "description": "Required. The assigned targeting option IDs to delete.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location\nlist.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a\nparent).", + "Target video or audio ads in a specific content instream position (for\nexample, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences.\nSingleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or\nDoubleVerify).", + "Filter web sites by specific digital content label ratings (for example,\nDL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider\n(ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or\nSamsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts &\nentertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeviceMakeModelAssignedTargetingOptionDetails": { + "description": "Assigned device make and model targeting option details. This will be\npopulated in the\ndevice_make_model_details\nfield when\ntargeting_type is\n`TARGETING_TYPE_DEVICE_MAKE_MODEL`.", + "id": "DeviceMakeModelAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the device make and model.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_DEVICE_MAKE_MODEL`.", + "type": "string" + } + }, + "type": "object" + }, + "DeviceMakeModelTargetingOptionDetails": { + "description": "Represents a targetable device make and model. This will be populated in the\ndevice_make_model_details\nfield of a TargetingOption when\ntargeting_type is\n`TARGETING_TYPE_DEVICE_MAKE_MODEL`.", + "id": "DeviceMakeModelTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the device make and model.", + "type": "string" + } + }, + "type": "object" + }, + "DeviceTypeAssignedTargetingOptionDetails": { + "description": "Targeting details for device type. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_DEVICE_TYPE`.", + "id": "DeviceTypeAssignedTargetingOptionDetails", + "properties": { + "deviceType": { + "description": "Output only. The display name of the device type.", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "DEVICE_TYPE_COMPUTER", + "DEVICE_TYPE_CONNECTED_TV", + "DEVICE_TYPE_SMART_PHONE", + "DEVICE_TYPE_TABLET" + ], + "enumDescriptions": [ + "Default value when device type is not specified in this version. This\nenum is a placeholder for default value and does not represent a real\ndevice type option.", + "The device type is computer.", + "The device type is connected TV.", + "The device type is smart phone..", + "The device type is tablet." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. ID of the device type.", + "type": "string" + } + }, + "type": "object" + }, + "DeviceTypeTargetingOptionDetails": { + "description": "Represents a targetable device type. This will be populated in the\ndevice_type_details field of a\nTargetingOption when targeting_type is\n`TARGETING_TYPE_DEVICE_TYPE`.", + "id": "DeviceTypeTargetingOptionDetails", + "properties": { + "deviceType": { + "description": "Output only. The device type that is used to be targeted.", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "DEVICE_TYPE_COMPUTER", + "DEVICE_TYPE_CONNECTED_TV", + "DEVICE_TYPE_SMART_PHONE", + "DEVICE_TYPE_TABLET" + ], + "enumDescriptions": [ + "Default value when device type is not specified in this version. This\nenum is a placeholder for default value and does not represent a real\ndevice type option.", + "The device type is computer.", + "The device type is connected TV.", + "The device type is smart phone..", + "The device type is tablet." + ], + "type": "string" + } + }, + "type": "object" + }, + "DigitalContentLabelAssignedTargetingOptionDetails": { + "description": "Targeting details for digital content label. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.", + "id": "DigitalContentLabelAssignedTargetingOptionDetails", + "properties": { + "contentRatingTier": { + "description": "Output only. The display name of the digital content label rating tier.", + "enum": [ + "CONTENT_RATING_TIER_UNSPECIFIED", + "CONTENT_RATING_TIER_UNRATED", + "CONTENT_RATING_TIER_GENERAL", + "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", + "CONTENT_RATING_TIER_TEENS", + "CONTENT_RATING_TIER_MATURE" + ], + "enumDescriptions": [ + "Content label is not specified in this version. This enum is a place\nholder for a default value and does not represent a real content rating.", + "Content that has not been labeled.", + "Content suitable for general audiences.", + "Content suitable for most audiences with parental guidance.", + "Content suitable for teen and older audiences.", + "Content suitable only for mature audiences." + ], + "type": "string" + }, + "excludedTargetingOptionId": { + "description": "Required. ID of the digital content label to be EXCLUDED.", + "type": "string" + } + }, + "type": "object" + }, + "DigitalContentLabelTargetingOptionDetails": { + "description": "Represents a targetable digital content label rating tier. This will be\npopulated in the\ndigital_content_label_details\nfield of the TargetingOption when\ntargeting_type is\n`TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.", + "id": "DigitalContentLabelTargetingOptionDetails", + "properties": { + "contentRatingTier": { + "description": "Output only. An enum for the content label brand safety tiers.", + "enum": [ + "CONTENT_RATING_TIER_UNSPECIFIED", + "CONTENT_RATING_TIER_UNRATED", + "CONTENT_RATING_TIER_GENERAL", + "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", + "CONTENT_RATING_TIER_TEENS", + "CONTENT_RATING_TIER_MATURE" + ], + "enumDescriptions": [ + "Content label is not specified in this version. This enum is a place\nholder for a default value and does not represent a real content rating.", + "Content that has not been labeled.", + "Content suitable for general audiences.", + "Content suitable for most audiences with parental guidance.", + "Content suitable for teen and older audiences.", + "Content suitable only for mature audiences." + ], + "type": "string" + } + }, + "type": "object" + }, + "Dimensions": { + "description": "Dimensions.", + "id": "Dimensions", + "properties": { + "heightPixels": { + "description": "The height in pixels.", + "format": "int32", + "type": "integer" + }, + "widthPixels": { + "description": "The width in pixels.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DoubleVerify": { + "description": "Details of DoubleVerify settings.", + "id": "DoubleVerify", + "properties": { + "appStarRating": { + "$ref": "DoubleVerifyAppStarRating", + "description": "Avoid bidding on apps with the star ratings." + }, + "avoidedAgeRatings": { + "description": "Avoid bidding on apps with the age rating.", + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any age rating\noptions.", + "Apps with unknown age rating.", + "Apps rated for Everyone (4+).", + "Apps rated for Everyone (9+).", + "Apps rated for Teens (12+).", + "Apps rated for Mature (17+).", + "Apps rated for Adults Only (18+)." + ], + "items": { + "enum": [ + "AGE_RATING_UNSPECIFIED", + "APP_AGE_RATE_UNKNOWN", + "APP_AGE_RATE_4_PLUS", + "APP_AGE_RATE_9_PLUS", + "APP_AGE_RATE_12_PLUS", + "APP_AGE_RATE_17_PLUS", + "APP_AGE_RATE_18_PLUS" + ], + "type": "string" + }, + "type": "array" + }, + "brandSafetyCategories": { + "$ref": "DoubleVerifyBrandSafetyCategories", + "description": "DV Brand Safety Controls." + }, + "displayViewability": { + "$ref": "DoubleVerifyDisplayViewability", + "description": "Display viewability settings (applicable to display line items only)." + }, + "fraudInvalidTraffic": { + "$ref": "DoubleVerifyFraudInvalidTraffic", + "description": "Avoid Sites and Apps with historical Fraud & IVT Rates." + }, + "videoViewability": { + "$ref": "DoubleVerifyVideoViewability", + "description": "Video viewability settings (applicable to video line items only)." + } + }, + "type": "object" + }, + "DoubleVerifyAppStarRating": { + "description": "Details of DoubleVerify star ratings settings.", + "id": "DoubleVerifyAppStarRating", + "properties": { + "avoidInsufficientStarRating": { + "description": "Avoid bidding on apps with insufficient star ratings.", + "type": "boolean" + }, + "avoidedStarRating": { + "description": "Avoid bidding on apps with the star ratings.", + "enum": [ + "APP_STAR_RATE_UNSPECIFIED", + "APP_STAR_RATE_1_POINT_5_LESS", + "APP_STAR_RATE_2_LESS", + "APP_STAR_RATE_2_POINT_5_LESS", + "APP_STAR_RATE_3_LESS", + "APP_STAR_RATE_3_POINT_5_LESS", + "APP_STAR_RATE_4_LESS", + "APP_STAR_RATE_4_POINT_5_LESS" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any app star\nrating options.", + "Official Apps with rating < 1.5 Stars.", + "Official Apps with rating < 2 Stars.", + "Official Apps with rating < 2.5 Stars.", + "Official Apps with rating < 3 Stars.", + "Official Apps with rating < 3.5 Stars.", + "Official Apps with rating < 4 Stars.", + "Official Apps with rating < 4.5 Stars." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyBrandSafetyCategories": { + "description": "Settings for brand safety controls.", + "id": "DoubleVerifyBrandSafetyCategories", + "properties": { + "avoidUnknownBrandSafetyCategory": { + "description": "Unknown or unrateable.", + "type": "boolean" + }, + "avoidedHighSeverityCategories": { + "description": "Brand safety high severity avoidance categories.", + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any high\nseverity categories.", + "Adult Content: Pornography, Mature Topics & Nudity.", + "Copyright Infringement.", + "Drugs/Alcohol/Controlled Substances: Substance Abuse.", + "Extreme Graphic/Explicit Violence/Weapons.", + "Hate/Profanity.", + "Illegal Activities: Criminal Skills.", + "Incentivized/Malware/Clutter." + ], + "items": { + "enum": [ + "HIGHER_SEVERITY_UNSPECIFIED", + "ADULT_CONTENT_PORNOGRAPHY", + "COPYRIGHT_INFRINGEMENT", + "SUBSTANCE_ABUSE", + "GRAPHIC_VIOLENCE_WEAPONS", + "HATE_PROFANITY", + "CRIMINAL_SKILLS", + "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" + ], + "type": "string" + }, + "type": "array" + }, + "avoidedMediumSeverityCategories": { + "description": "Brand safety medium severity avoidance categories.", + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any medium\nseverity categories.", + "Ad Servers.", + "Adult Content: Swimsuit.", + "Controversial Subjects: Alternative Lifestyles.", + "Controversial Subjects: Celebrity Gossip.", + "Controversial Subjects: Gambling.", + "Controversial Subjects: Occult.", + "Controversial Subjects: Sex Education.", + "Disaster: Aviation.", + "Disaster: Man-made.", + "Disaster: Natural.", + "Disaster: Terrorist Events.", + "Disaster: Vehicle.", + "Drugs/Alcohol/Controlled Substances: Alcohol.", + "Drugs/Alcohol/Controlled Substances: Smoking.", + "Negative News: Financial.", + "Non-Std Content: Non-English.", + "Non-Std Content: Parking Page.", + "Unmoderated UGC: Forums, Images & Video.", + "Controversial Subjects: Inflammatory Politics and News.", + "Negative News: Pharmaceutical." + ], + "items": { + "enum": [ + "MEDIUM_SEVERITY_UNSPECIFIED", + "AD_SERVERS", + "ADULT_CONTENT_SWIMSUIT", + "ALTERNATIVE_LIFESTYLES", + "CELEBRITY_GOSSIP", + "GAMBLING", + "OCCULT", + "SEX_EDUCATION", + "DISASTER_AVIATION", + "DISASTER_MAN_MADE", + "DISASTER_NATURAL", + "DISASTER_TERRORIST_EVENTS", + "DISASTER_VEHICLE", + "ALCOHOL", + "SMOKING", + "NEGATIVE_NEWS_FINANCIAL", + "NON_ENGLISH", + "PARKING_PAGE", + "UNMODERATED_UGC", + "INFLAMMATORY_POLITICS_AND_NEWS", + "NEGATIVE_NEWS_PHARMACEUTICAL" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DoubleVerifyDisplayViewability": { + "description": "Details of DoubleVerify display viewability settings.", + "id": "DoubleVerifyDisplayViewability", + "properties": { + "iab": { + "description": "Target web and app inventory to maximize IAB viewable rate.", + "enum": [ + "IAB_VIEWED_RATE_UNSPECIFIED", + "IAB_VIEWED_RATE_80_PERCENT_HIGHER", + "IAB_VIEWED_RATE_75_PERCENT_HIGHER", + "IAB_VIEWED_RATE_70_PERCENT_HIGHER", + "IAB_VIEWED_RATE_65_PERCENT_HIGHER", + "IAB_VIEWED_RATE_60_PERCENT_HIGHER", + "IAB_VIEWED_RATE_55_PERCENT_HIGHER", + "IAB_VIEWED_RATE_50_PERCENT_HIGHER", + "IAB_VIEWED_RATE_40_PERCENT_HIGHER", + "IAB_VIEWED_RATE_30_PERCENT_HIGHER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any IAB viewed\nrate options.", + "Target web and app inventory to maximize IAB viewable rate 80% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 75% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 70% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 65% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 60% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 55% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 50% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 40% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 30% or\nhigher." + ], + "type": "string" + }, + "viewableDuring": { + "description": "Target web and app inventory to maximize 100% viewable duration.", + "enum": [ + "AVERAGE_VIEW_DURATION_UNSPECIFIED", + "AVERAGE_VIEW_DURATION_5_SEC", + "AVERAGE_VIEW_DURATION_10_SEC", + "AVERAGE_VIEW_DURATION_15_SEC" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any average view\nduration options.", + "Target web and app inventory to maximize 100% viewable duration 5\nseconds or more.", + "Target web and app inventory to maximize 100% viewable duration 10\nseconds or more.", + "Target web and app inventory to maximize 100% viewable duration 15\nseconds or more." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyFraudInvalidTraffic": { + "description": "DoubleVerify Fraud & Invalid Traffic settings.", + "id": "DoubleVerifyFraudInvalidTraffic", + "properties": { + "avoidInsufficientOption": { + "description": "Insufficient Historical Fraud & IVT Stats.", + "type": "boolean" + }, + "avoidedFraudOption": { + "description": "Avoid Sites and Apps with historical Fraud & IVT.", + "enum": [ + "FRAUD_UNSPECIFIED", + "AD_IMPRESSION_FRAUD_100", + "AD_IMPRESSION_FRAUD_50", + "AD_IMPRESSION_FRAUD_25", + "AD_IMPRESSION_FRAUD_10", + "AD_IMPRESSION_FRAUD_8", + "AD_IMPRESSION_FRAUD_6", + "AD_IMPRESSION_FRAUD_4", + "AD_IMPRESSION_FRAUD_2" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any fraud and\ninvalid traffic options.", + "100% Fraud & IVT.", + "50% or Higher Fraud & IVT.", + "25% or Higher Fraud & IVT.", + "10% or Higher Fraud & IVT.", + "8% or Higher Fraud & IVT.", + "6% or Higher Fraud & IVT.", + "4% or Higher Fraud & IVT.", + "2% or Higher Fraud & IVT." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyVideoViewability": { + "description": "Details of DoubleVerify video viewability settings.", + "id": "DoubleVerifyVideoViewability", + "properties": { + "playerImpressionRate": { + "description": "Target inventory to maximize impressions with 400x300 or greater player\nsize.", + "enum": [ + "PLAYER_SIZE_400X300_UNSPECIFIED", + "PLAYER_SIZE_400X300_95", + "PLAYER_SIZE_400X300_70", + "PLAYER_SIZE_400X300_25", + "PLAYER_SIZE_400X300_5" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any impressions\noptions.", + "Sites with 95%+ of impressions.", + "Sites with 70%+ of impressions.", + "Sites with 25%+ of impressions.", + "Sites with 5%+ of impressions." + ], + "type": "string" + }, + "videoIab": { + "description": "Target web inventory to maximize IAB viewable rate.", + "enum": [ + "VIDEO_IAB_UNSPECIFIED", + "IAB_VIEWABILITY_80_PERCENT_HIGHER", + "IAB_VIEWABILITY_75_PERCENT_HIGHER", + "IAB_VIEWABILITY_70_PERCENT_HIGHER", + "IAB_VIEWABILITY_65_PERCENT_HIHGER", + "IAB_VIEWABILITY_60_PERCENT_HIGHER", + "IAB_VIEWABILITY_55_PERCENT_HIHGER", + "IAB_VIEWABILITY_50_PERCENT_HIGHER", + "IAB_VIEWABILITY_40_PERCENT_HIHGER", + "IAB_VIEWABILITY_30_PERCENT_HIHGER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video IAB\nviewable rate options.", + "Target web and app inventory to maximize IAB viewable rate 80% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 75% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 70% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 65% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 60% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 55% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 50% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 40% or\nhigher.", + "Target web and app inventory to maximize IAB viewable rate 30% or\nhigher." + ], + "type": "string" + }, + "videoViewableRate": { + "description": "Target web inventory to maximize fully viewable rate.", + "enum": [ + "VIDEO_VIEWABLE_RATE_UNSPECIFIED", + "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video\nviewable rate options.", + "Target web inventory to maximize fully viewable rate 40% or higher.", + "Target web inventory to maximize fully viewable rate 35% or higher.", + "Target web inventory to maximize fully viewable rate 30% or higher.", + "Target web inventory to maximize fully viewable rate 25% or higher.", + "Target web inventory to maximize fully viewable rate 20% or higher.", + "Target web inventory to maximize fully viewable rate 10% or higher." + ], + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EnvironmentAssignedTargetingOptionDetails": { + "description": "Assigned environment targeting option details. This will be populated\nin the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_ENVIRONMENT`.", + "id": "EnvironmentAssignedTargetingOptionDetails", + "properties": { + "environment": { + "description": "Output only. The serving environment.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_WEB_OPTIMIZED", + "ENVIRONMENT_WEB_NOT_OPTIMIZED", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value when environment is not specified in this version. This enum\nis a placeholder for default value and does not represent a real\nenvironment option.", + "Target inventory displayed in browsers. This includes inventory that was\ndesigned for the device it was viewed on, such as mobile websites viewed on\na mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be\ndeleted prior to the deletion of this targeting option.", + "Target inventory displayed in browsers. This includes inventory that was\nnot designed for the device but viewed on it, such as websites optimized\nfor desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should\nbe targeted prior to the addition of this targeting option.", + "Target inventory displayed in apps." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_ENVIRONMENT` (e.g., \"508010\"\nfor targeting the `ENVIRONMENT_WEB_OPTIMIZED` option).", + "type": "string" + } + }, + "type": "object" + }, + "EnvironmentTargetingOptionDetails": { + "description": "Represents a targetable environment. This will be populated in the\nenvironment_details field of a\nTargetingOption when targeting_type is\n`TARGETING_TYPE_ENVIRONMENT`.", + "id": "EnvironmentTargetingOptionDetails", + "properties": { + "environment": { + "description": "Output only. The serving environment.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_WEB_OPTIMIZED", + "ENVIRONMENT_WEB_NOT_OPTIMIZED", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value when environment is not specified in this version. This enum\nis a placeholder for default value and does not represent a real\nenvironment option.", + "Target inventory displayed in browsers. This includes inventory that was\ndesigned for the device it was viewed on, such as mobile websites viewed on\na mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be\ndeleted prior to the deletion of this targeting option.", + "Target inventory displayed in browsers. This includes inventory that was\nnot designed for the device but viewed on it, such as websites optimized\nfor desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should\nbe targeted prior to the addition of this targeting option.", + "Target inventory displayed in apps." + ], + "type": "string" + } + }, + "type": "object" + }, + "ExchangeAssignedTargetingOptionDetails": { + "description": "Details for assigned exchange targeting option. This will be populated in\nthe details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_EXCHANGE`.", + "id": "ExchangeAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_EXCHANGE`.", + "type": "string" + } + }, + "type": "object" + }, + "ExchangeReviewStatus": { + "description": "Exchange review status for the creative.", + "id": "ExchangeReviewStatus", + "properties": { + "exchange": { + "description": "The exchange reviewing the creative.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX", + "Open8", + "Triton.", + "TripleLift", + "Taboola", + "InMobi.", + "Smaato", + "Aja.", + "Nexstar Digital.", + "Waze." + ], + "type": "string" + }, + "status": { + "description": "Status of the exchange review.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + } + }, + "type": "object" + }, + "ExchangeTargetingOptionDetails": { + "description": "Represents a targetable exchange. This will be populated in the\nexchange_details field\nof a TargetingOption when\ntargeting_type is\n`TARGETING_TYPE_EXCHANGE`.", + "id": "ExchangeTargetingOptionDetails", + "properties": { + "exchange": { + "description": "Output only. The type of exchange.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX", + "Open8", + "Triton.", + "TripleLift", + "Taboola", + "InMobi.", + "Smaato", + "Aja.", + "Nexstar Digital.", + "Waze." + ], + "type": "string" + } + }, + "type": "object" + }, + "ExitEvent": { + "description": "Exit event of the creative.", + "id": "ExitEvent", + "properties": { + "name": { + "description": "The name of the click tag of the exit event.\n\nThe name must be unique within one creative.\n\nLeave it empty or unset for creatives containing image assets only.", + "type": "string" + }, + "reportingName": { + "description": "The name used to identify this event in reports.\nLeave it empty or unset for creatives containing image assets only.", + "type": "string" + }, + "type": { + "description": "Required. The type of the exit event.", + "enum": [ + "EXIT_EVENT_TYPE_UNSPECIFIED", + "EXIT_EVENT_TYPE_DEFAULT", + "EXIT_EVENT_TYPE_BACKUP" + ], + "enumDescriptions": [ + "Exit event type is not specified or is unknown in this version.", + "The exit event is the default one.", + "The exit event is a backup exit event.\nThere could be multiple backup exit events in a creative." + ], + "type": "string" + }, + "url": { + "description": "Required. The click through URL of the exit event.\nThis is required when type is:\n\n* `EXIT_EVENT_TYPE_DEFAULT`\n* `EXIT_EVENT_TYPE_BACKUP`", + "type": "string" + } + }, + "type": "object" + }, + "FirstAndThirdPartyAudience": { + "description": "Describes a first or third party audience list used for targeting.\nFirst party audiences are created via usage of client data.\nThird party audiences are provided by Third Party data providers and can only\nbe licensed to customers.", + "id": "FirstAndThirdPartyAudience", + "properties": { + "activeDisplayAudienceSize": { + "description": "Output only. The estimated audience size for the Display network in the past month.\n\nIf the size is less than 1000, the number will be hidden and 0 will be\nreturned due to privacy reasons. Otherwise, the number will be rounded off\nto two significant digits.\n\nOnly returned in GET request.", + "format": "int64", + "type": "string" + }, + "audienceSource": { + "description": "Output only. The source of the audience.", + "enum": [ + "AUDIENCE_SOURCE_UNSPECIFIED", + "DISPLAY_VIDEO_360", + "CAMPAIGN_MANAGER", + "AD_MANAGER", + "SEARCH_ADS_360", + "YOUTUBE", + "ADS_DATA_HUB" + ], + "enumDescriptions": [ + "Default value when audience source is not specified or is unknown.", + "Originated from Display & Video 360.", + "Originated from Campaign Manager.", + "Originated from Google Ad Manager.", + "Originated from Search Ads 360.", + "Originated from Youtube.", + "Originated from Ads Data Hub." + ], + "type": "string" + }, + "audienceType": { + "description": "Output only. The type of the audience.", + "enum": [ + "AUDIENCE_TYPE_UNSPECIFIED", + "CUSTOMER_MATCH_CONTACT_INFO", + "CUSTOMER_MATCH_DEVICE_ID", + "CUSTOMER_MATCH_USER_ID", + "ACTIVITY_BASED", + "FREQUENCY_CAP", + "TAG_BASED", + "YOUTUBE_USERS", + "LICENSED" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Audience was generated through matching customers to known contact\ninformation.", + "Audience was generated through matching customers to known Mobile device\nIDs.", + "Audience was generated through matching customers to known User IDs.", + "Audience was created based on campaign activity.", + "Audience was created based on excluding the number of impressions they\nwere served.", + "Audience was created based on custom variables attached to pixel.", + "Audience was created based on past interactions with videos, TrueView\nads, or YouTube channel.", + "Subtype of third party audience type." + ], + "type": "string" + }, + "description": { + "description": "The user-provided description of the audience.\n\nOnly applicable to first party audiences.", + "type": "string" + }, + "displayAudienceSize": { + "description": "Output only. The estimated audience size for the Display network.\n\nIf the size is less than 1000, the number will be hidden and 0 will be\nreturned due to privacy reasons. Otherwise, the number will be rounded off\nto two significant digits.\n\nOnly returned in GET request.", + "format": "int64", + "type": "string" + }, + "displayDesktopAudienceSize": { + "description": "Output only. The estimated desktop audience size in Display network.\n\nIf the size is less than 1000, the number will be hidden and 0 will be\nreturned due to privacy reasons. Otherwise, the number will be rounded off\nto two significant digits.\n\nOnly applicable to first party audiences.\n\nOnly returned in GET request.", + "format": "int64", + "type": "string" + }, + "displayMobileAppAudienceSize": { + "description": "Output only. The estimated mobile app audience size in Display network.\n\nIf the size is less than 1000, the number will be hidden and 0 will be\nreturned due to privacy reasons. Otherwise, the number will be rounded off\nto two significant digits.\n\nOnly applicable to first party audiences.\n\nOnly returned in GET request.", + "format": "int64", + "type": "string" + }, + "displayMobileWebAudienceSize": { + "description": "Output only. The estimated mobile web audience size in Display network.\n\nIf the size is less than 1000, the number will be hidden and 0 will be\nreturned due to privacy reasons. Otherwise, the number will be rounded off\nto two significant digits.\n\nOnly applicable to first party audiences.\n\nOnly returned in GET request.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "The display name of the first and third party audience.", + "type": "string" + }, + "firstAndThirdPartyAudienceId": { + "description": "Output only. The unique ID of the first and third party audience. Assigned by the\nsystem.", + "format": "int64", + "type": "string" + }, + "firstAndThirdPartyAudienceType": { + "description": "Output only. Whether the audience is a first or third party audience.", + "enum": [ + "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED", + "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY", + "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Audience that is created via usage of client data.", + "Audience that is provided by Third Party data providers." + ], + "type": "string" + }, + "gmailAudienceSize": { + "description": "Output only. The estimated audience size for Gmail network.\n\nIf the size is less than 1000, the number will be hidden and 0 will be\nreturned due to privacy reasons. Otherwise, the number will be rounded off\nto two significant digits.\n\nOnly applicable to first party audiences.\n\nOnly returned in GET request.", + "format": "int64", + "type": "string" + }, + "membershipDurationDays": { + "description": "The duration in days that an entry remains in the audience after the\nqualifying event.\n\nOnly applicable to first party audiences.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the first and third party audience.", + "type": "string" + }, + "youtubeAudienceSize": { + "description": "Output only. The estimated audience size for YouTube network.\n\nIf the size is less than 1000, the number will be hidden and 0 will be\nreturned due to privacy reasons. Otherwise, the number will be rounded off\nto two significant digits.\n\nOnly applicable to first party audiences.\n\nOnly returned in GET request.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "FirstAndThirdPartyAudienceGroup": { + "description": "Details of first and third party audience group.\nAll first and third party audience targeting settings are logically \u2018OR\u2019 of\neach other.", + "id": "FirstAndThirdPartyAudienceGroup", + "properties": { + "settings": { + "description": "Required. All first and third party audience targeting settings in first and\nthird party audience group.\nRepeated settings with same id are not allowed.", + "items": { + "$ref": "FirstAndThirdPartyAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "FirstAndThirdPartyAudienceTargetingSetting": { + "description": "Details of first and third party audience targeting setting.", + "id": "FirstAndThirdPartyAudienceTargetingSetting", + "properties": { + "firstAndThirdPartyAudienceId": { + "description": "Required. First and third party audience id of the first and third party audience\ntargeting setting. This id is\nfirst_and_third_party_audience_id.", + "format": "int64", + "type": "string" + }, + "recency": { + "description": "The recency of the first and third party audience targeting setting.\nOnly applicable to first party audiences, otherwise\nwill be ignored. For more info, refer to\nhttps://support.google.com/displayvideo/answer/2949947#recency\nWhen unspecified, no recency limit will be used.", + "enum": [ + "RECENCY_NO_LIMIT", + "RECENCY_1_MINUTE", + "RECENCY_5_MINUTES", + "RECENCY_10_MINUTES", + "RECENCY_15_MINUTES", + "RECENCY_30_MINUTES", + "RECENCY_1_HOUR", + "RECENCY_2_HOURS", + "RECENCY_3_HOURS", + "RECENCY_6_HOURS", + "RECENCY_12_HOURS", + "RECENCY_1_DAY", + "RECENCY_2_DAYS", + "RECENCY_3_DAYS", + "RECENCY_5_DAYS", + "RECENCY_7_DAYS", + "RECENCY_10_DAYS", + "RECENCY_14_DAYS", + "RECENCY_15_DAYS", + "RECENCY_21_DAYS", + "RECENCY_28_DAYS", + "RECENCY_30_DAYS", + "RECENCY_40_DAYS", + "RECENCY_60_DAYS", + "RECENCY_90_DAYS", + "RECENCY_120_DAYS", + "RECENCY_180_DAYS", + "RECENCY_270_DAYS", + "RECENCY_365_DAYS" + ], + "enumDescriptions": [ + "No limit of recency.", + "Recency is 1 minute.", + "Recency is 5 minutes.", + "Recency is 10 minutes.", + "Recency is 15 minutes.", + "Recency is 30 minutes.", + "Recency is 1 hour.", + "Recency is 2 hours.", + "Recency is 3 hours.", + "Recency is 6 hours.", + "Recency is 12 hours.", + "Recency is 1 day.", + "Recency is 2 days.", + "Recency is 3 days.", + "Recency is 5 days.", + "Recency is 7 days.", + "Recency is 10 days.", + "Recency is 14 days.", + "Recency is 15 days.", + "Recency is 21 days.", + "Recency is 28 days.", + "Recency is 30 days.", + "Recency is 40 days.", + "Recency is 60 days.", + "Recency is 90 days.", + "Recency is 120 days.", + "Recency is 180 days.", + "Recency is 270 days.", + "Recency is 365 days." + ], + "type": "string" + } + }, + "type": "object" + }, + "FixedBidStrategy": { + "description": "A strategy that uses a fixed bidding price.", + "id": "FixedBidStrategy", + "properties": { + "bidAmountMicros": { + "description": "The fixed bid amount, in micros of the advertiser's currency.\nFor insertion order entity,\nbid_amount_micros should be set as 0.\nFor line item entity,\nbid_amount_micros must be greater\nthan or equal to billable unit of the given currency and smaller than or\nequal to the upper limit 1000000000.\n\nFor example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightGroup": { + "description": "A single Floodlight group.", + "id": "FloodlightGroup", + "properties": { + "activeViewConfig": { + "$ref": "ActiveViewVideoViewabilityMetricConfig", + "description": "The Active View video viewability metric configuration for the Floodlight\ngroup." + }, + "customVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "User-defined custom variables owned by the Floodlight group.\nUse custom Floodlight variables to create reporting data that is tailored\nto your unique business needs. Custom Floodlight variables use the keys\n`U1=`, `U2=`, and so on, and can take any values that you choose to pass to\nthem. You can use them to track virtually any type of data that you collect\nabout your customers, such as the genre of movie that a customer purchases,\nthe country to which the item is shipped, and so on.\n\nCustom Floodlight variables may not be used to pass any data that could be\nused or recognized as personally identifiable information (PII).\n\nExample:\n`custom_variables {\n fields {\n \"U1\": value { number_value: 123.4 },\n \"U2\": value { string_value: \"MyVariable2\" },\n \"U3\": value { string_value: \"MyVariable3\" }\n }\n}`\n\nAcceptable values for keys are \"U1\" through \"U100\", inclusive. String\nvalues must be less than 64 characters long, and cannot contain the\nfollowing characters: `\"<>`.", + "type": "object" + }, + "displayName": { + "description": "Required. The display name of the Floodlight group.", + "type": "string" + }, + "floodlightGroupId": { + "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "lookbackWindow": { + "$ref": "LookbackWindow", + "description": "Required. The lookback window for the Floodlight group.\nBoth click_days and\nimpression_days are required. Acceptable\nvalues for both are `0` to `90`, inclusive." + }, + "name": { + "description": "Output only. The resource name of the Floodlight group.", + "type": "string" + }, + "webTagType": { + "description": "Required. The web tag type enabled for the Floodlight group.", + "enum": [ + "WEB_TAG_TYPE_UNSPECIFIED", + "WEB_TAG_TYPE_NONE", + "WEB_TAG_TYPE_IMAGE", + "WEB_TAG_TYPE_DYNAMIC" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "No tag type.", + "Image tag.", + "Dynamic tag." + ], + "type": "string" + } + }, + "type": "object" + }, + "FrequencyCap": { + "description": "Settings that control the number of times a user may be shown with the same\nad during a given time period.", + "id": "FrequencyCap", + "properties": { + "maxImpressions": { + "description": "The maximum number of times a user may be shown with the same ad\nduring this period. Must be greater than 0.\n\nApplicable when unlimited is `false`.", + "format": "int32", + "type": "integer" + }, + "timeUnit": { + "description": "The time unit in which the frequency cap will be applied.\n\nApplicable when unlimited is `false`.", + "enum": [ + "TIME_UNIT_UNSPECIFIED", + "TIME_UNIT_LIFETIME", + "TIME_UNIT_MONTHS", + "TIME_UNIT_WEEKS", + "TIME_UNIT_DAYS", + "TIME_UNIT_HOURS", + "TIME_UNIT_MINUTES" + ], + "enumDescriptions": [ + "Time unit value is not specified or is unknown in this version.", + "The frequency cap will be applied to the whole life time of the line\nitem.", + "The frequency cap will be applied to a number of months.", + "The frequency cap will be applied to a number of weeks.", + "The frequency cap will be applied to a number of days.", + "The frequency cap will be applied to a number of hours.", + "The frequency cap will be applied to a number of minutes." + ], + "type": "string" + }, + "timeUnitCount": { + "description": "The number of time_unit the frequency cap will\nlast.\n\nApplicable when unlimited is `false`.\nThe following restrictions apply based on the value of\ntime_unit:\n\n* `TIME_UNIT_LIFETIME` - this field is output only and will\ndefault to 1\n* `TIME_UNIT_MONTHS` - must be between 1 and 2\n* `TIME_UNIT_WEEKS` - must be between 1 and 4\n* `TIME_UNIT_DAYS` - must be between 1 and 6\n* `TIME_UNIT_HOURS` - must be between 1 and 23\n* `TIME_UNIT_MINUTES` - must be between 1 and 59", + "format": "int32", + "type": "integer" + }, + "unlimited": { + "description": "Whether unlimited frequency capping is applied. When this field is set to\n`true`, the remaining frequency cap fields are not applicable.", + "type": "boolean" + } + }, + "type": "object" + }, + "GenderAssignedTargetingOptionDetails": { + "description": "Details for assigned gender targeting option. This will be populated in\nthe details field of an AssignedTargetingOption when\ntargeting_type is\n`TARTGETING_TYPE_GENDER`.", + "id": "GenderAssignedTargetingOptionDetails", + "properties": { + "gender": { + "description": "Output only. The gender of the audience.", + "enum": [ + "GENDER_UNSPECIFIED", + "GENDER_MALE", + "GENDER_FEMALE", + "GENDER_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when gender is not specified in this version. This enum is a\nplace holder for default value and does not represent a real gender option.", + "The audience gender is male.", + "The audience gender is female.", + "The audience gender is unknown." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_GENDER`.", + "type": "string" + } + }, + "type": "object" + }, + "GenderTargetingOptionDetails": { + "description": "Represents a targetable gender. This will be populated in the\ngender_details field of a TargetingOption\nwhen targeting_type is\n`TARGETING_TYPE_GENDER`.", + "id": "GenderTargetingOptionDetails", + "properties": { + "gender": { + "description": "Output only. The gender of an audience.", + "enum": [ + "GENDER_UNSPECIFIED", + "GENDER_MALE", + "GENDER_FEMALE", + "GENDER_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when gender is not specified in this version. This enum is a\nplace holder for default value and does not represent a real gender option.", + "The audience gender is male.", + "The audience gender is female.", + "The audience gender is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "GeoRegionAssignedTargetingOptionDetails": { + "description": "Details for assigned geographic region targeting option. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_GEO_REGION`.", + "id": "GeoRegionAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the geographic region (e.g., \"Ontario, Canada\").", + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of geographic region targeting.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district." + ], + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_GEO_REGION`.", + "type": "string" + } + }, + "type": "object" + }, + "GeoRegionTargetingOptionDetails": { + "description": "Represents a targetable geographic region. This will be populated in the\ngeo_region_details field when\ntargeting_type is\n`TARGETING_TYPE_GEO_REGION`.", + "id": "GeoRegionTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the geographic region (e.g., \"Ontario, Canada\").", + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of geographic region targeting.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAudience": { + "description": "Describes a Google audience resource.\nIncludes Google audience lists.", + "id": "GoogleAudience", + "properties": { + "displayName": { + "description": "Output only. The display name of the Google audience.\n.", + "type": "string" + }, + "googleAudienceId": { + "description": "Output only. The unique ID of the Google audience. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "googleAudienceType": { + "description": "Output only. The type of Google audience.\n.", + "enum": [ + "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED", + "GOOGLE_AUDIENCE_TYPE_AFFINITY", + "GOOGLE_AUDIENCE_TYPE_IN_MARKET", + "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS", + "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Affinity type Google audience.", + "In-Market type Google audience.", + "Installed-apps type Google audience.", + "New-mobile-devices type Google audience." + ], + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the google audience.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAudienceGroup": { + "description": "Details of Google audience group.\nAll Google audience targeting settings are logically \u2018OR\u2019 of each other.", + "id": "GoogleAudienceGroup", + "properties": { + "settings": { + "description": "Required. All Google audience targeting settings in Google audience group.\nRepeated settings with same id will be ignored.", + "items": { + "$ref": "GoogleAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAudienceTargetingSetting": { + "description": "Details of Google audience targeting setting.", + "id": "GoogleAudienceTargetingSetting", + "properties": { + "googleAudienceId": { + "description": "Required. Google audience id of the Google audience targeting setting.\nThis id is google_audience_id.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleBytestreamMedia": { + "description": "Media resource.", + "id": "GoogleBytestreamMedia", + "properties": { + "resourceName": { + "description": "Name of the media resource.", + "type": "string" + } + }, + "type": "object" + }, + "HouseholdIncomeAssignedTargetingOptionDetails": { + "description": "Details for assigned household income targeting option. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_HOUSEHOLD_INCOME`.", + "id": "HouseholdIncomeAssignedTargetingOptionDetails", + "properties": { + "householdIncome": { + "description": "Output only. The household income of the audience.", + "enum": [ + "HOUSEHOLD_INCOME_UNSPECIFIED", + "HOUSEHOLD_INCOME_UNKNOWN", + "HOUSEHOLD_INCOME_LOWER_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", + "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", + "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", + "HOUSEHOLD_INCOME_TOP_10_PERCENT" + ], + "enumDescriptions": [ + "Default value when household income is not specified in this version. This\nenum is a placeholder for default value and does not represent a real\nhousehold income option.", + "The household income of the audience is unknown.", + "The audience is in the lower 50% of U.S. household incomes.", + "The audience is in the top 41-50% of U.S. household incomes.", + "The audience is in the top 31-40% of U.S. household incomes.", + "The audience is in the top 21-30% of U.S. household incomes.", + "The audience is in the top 11-20% of U.S. household incomes.", + "The audience is in the top 10% of U.S. household incomes." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_HOUSEHOLD_INCOME`.", + "type": "string" + } + }, + "type": "object" + }, + "HouseholdIncomeTargetingOptionDetails": { + "description": "Represents a targetable household income. This will be populated in the\nhousehold_income_details field of\na TargetingOption when targeting_type is\n`TARGETING_TYPE_HOUSEHOLD_INCOME`.", + "id": "HouseholdIncomeTargetingOptionDetails", + "properties": { + "householdIncome": { + "description": "Output only. The household income of an audience.", + "enum": [ + "HOUSEHOLD_INCOME_UNSPECIFIED", + "HOUSEHOLD_INCOME_UNKNOWN", + "HOUSEHOLD_INCOME_LOWER_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", + "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", + "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", + "HOUSEHOLD_INCOME_TOP_10_PERCENT" + ], + "enumDescriptions": [ + "Default value when household income is not specified in this version. This\nenum is a placeholder for default value and does not represent a real\nhousehold income option.", + "The household income of the audience is unknown.", + "The audience is in the lower 50% of U.S. household incomes.", + "The audience is in the top 41-50% of U.S. household incomes.", + "The audience is in the top 31-40% of U.S. household incomes.", + "The audience is in the top 21-30% of U.S. household incomes.", + "The audience is in the top 11-20% of U.S. household incomes.", + "The audience is in the top 10% of U.S. household incomes." + ], + "type": "string" + } + }, + "type": "object" + }, + "IdFilter": { + "description": "A filtering option that filters entities by their entity IDs.", + "id": "IdFilter", + "properties": { + "adGroupAdIds": { + "description": "TrueView Ads to download by ID. All IDs must belong to the same\nAdvertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "adGroupIds": { + "description": "TrueView Ad Groups to download by ID. All IDs must belong to the same\nAdvertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "campaignIds": { + "description": "Campaigns to download by ID. All IDs must belong to the same\nAdvertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "insertionOrderIds": { + "description": "Insertion Orders to download by ID. All IDs must belong to the same\nAdvertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "lineItemIds": { + "description": "Line Items to download by ID. All IDs must belong to the same\nAdvertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "mediaProductIds": { + "description": "Media Products to download by ID. All IDs must belong to the same\nAdvertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InsertionOrder": { + "description": "A single insertion order.", + "id": "InsertionOrder", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "type": "string" + }, + "bidStrategy": { + "$ref": "BiddingStrategy", + "description": "Optional. The bidding strategy of the insertion order. By default,\nfixed_bid is set." + }, + "budget": { + "$ref": "InsertionOrderBudget", + "description": "Required. The budget allocation settings of the insertion order." + }, + "campaignId": { + "description": "Required. Immutable. The unique ID of the campaign that the insertion order belongs to.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the insertion order.\n\nMust be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not the insertion order can spend its budget\nand bid on inventory.\n\n* For\nCreateInsertionOrder method,\nonly `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use\nUpdateInsertionOrder method\nand update the status to `ENTITY_STATUS_ACTIVE` after creation.\n* An insertion order cannot be changed back to `ENTITY_STATUS_DRAFT` status\nfrom any other status.\n* An insertion order cannot be set to `ENTITY_STATUS_ACTIVE` if its parent\ncampaign is not active.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An\nentity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The frequency capping setting of the insertion order." + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Additional integration details of the insertion order." + }, + "name": { + "description": "Output only. The resource name of the insertion order.", + "type": "string" + }, + "pacing": { + "$ref": "Pacing", + "description": "Required. The budget spending speed setting of the insertion order." + }, + "partnerCosts": { + "description": "The partner costs associated with the insertion order.\n\nIf absent or empty in\nCreateInsertionOrder\nmethod, the newly created insertion order will inherit partner costs from\nthe partner settings.", + "items": { + "$ref": "PartnerCost" + }, + "type": "array" + }, + "performanceGoal": { + "$ref": "PerformanceGoal", + "description": "Required. Performance goal of the insertion order." + }, + "updateTime": { + "description": "Output only. The timestamp when the insertion order was last updated.\nAssigned by the system.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "InsertionOrderBudget": { + "description": "Settings that control how insertion order budget is allocated.", + "id": "InsertionOrderBudget", + "properties": { + "automationType": { + "description": "The type of automation used to manage bid and budget for\nthe insertion order.\n\nIf this field is unspecified in creation, the value defaults to\n`INSERTION_ORDER_AUTOMATION_TYPE_NONE`.", + "enum": [ + "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED", + "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET", + "INSERTION_ORDER_AUTOMATION_TYPE_NONE", + "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" + ], + "enumDescriptions": [ + "Insertion order automation option is not specified or is unknown in\nthis version.", + "Automatic budget allocation. Allow the system to automatically shift\nbudget to owning line items to optimize performance defined by\nperformance_goal. No automation\non bid settings.", + "No automation of bid or budget on insertion order level.\nBid and budget must be manually configured at the line item level.", + "Allow the system to automatically adjust bids and shift budget to\nowning line items to optimize performance defined by\nperformance_goal." + ], + "type": "string" + }, + "budgetSegments": { + "description": "Required. The list of budget segments. Use a budget segment to specify\na specific budget for a given period of time an insertion order is running.", + "items": { + "$ref": "InsertionOrderBudgetSegment" + }, + "type": "array" + }, + "budgetUnit": { + "description": "Required. Immutable. The budget unit specifies whether the budget is currency based or\nimpression based.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "type": "string" + } + }, + "type": "object" + }, + "InsertionOrderBudgetSegment": { + "description": "Settings that control the budget of a single budget segment.", + "id": "InsertionOrderBudgetSegment", + "properties": { + "budgetAmountMicros": { + "description": "Required. The budget amount the insertion order will spend for the given\ndate_range.\nThe amount is in micros. Must be greater than 0. For example, 500000000\nrepresents 500 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "campaignBudgetId": { + "description": "The ID of the campaign budget linked to this insertion order budget\nsegment.", + "format": "int64", + "type": "string" + }, + "dateRange": { + "$ref": "DateRange", + "description": "Required. The start and end date settings of the budget segment. They are resolved\nrelative to the parent advertiser's time zone.\n\n* When creating a new budget segment, both `start_date` and `end_date`\nmust be in the future.\n* An existing budget segment with a `start_date` in the past has a mutable\n`end_date` but an immutable `start_date`.\n* `end_date` must be the `start_date` or later, both before the year 2037." + }, + "description": { + "description": "The budget segment description. It can be used to enter Purchase Order\ninformation for each budget segment and have that information printed on\nthe invoices.\n\nMust be UTF-8 encoded with a length of no more than 80 characters.", + "type": "string" + } + }, + "type": "object" + }, + "IntegralAdScience": { + "description": "Details of Integral Ad Science settings.", + "id": "IntegralAdScience", + "properties": { + "displayViewability": { + "description": "Display Viewability section (applicable to display line items only).", + "enum": [ + "PERFORMANCE_VIEWABILITY_UNSPECIFIED", + "PERFORMANCE_VIEWABILITY_40", + "PERFORMANCE_VIEWABILITY_50", + "PERFORMANCE_VIEWABILITY_60", + "PERFORMANCE_VIEWABILITY_70" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any display\nviewability options.", + "Target 40% Viewability or Higher.", + "Target 50% Viewability or Higher.", + "Target 60% Viewability or Higher.", + "Target 70% Viewability or Higher." + ], + "type": "string" + }, + "excludeUnrateable": { + "description": "Brand Safety - **Unrateable**.", + "type": "boolean" + }, + "excludedAdFraudRisk": { + "description": "Ad Fraud settings.", + "enum": [ + "SUSPICIOUS_ACTIVITY_UNSPECIFIED", + "SUSPICIOUS_ACTIVITY_HR", + "SUSPICIOUS_ACTIVITY_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any ad fraud\nprevention options.", + "Ad Fraud - Exclude High Risk.", + "Ad Fraud - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedAdultRisk": { + "description": "Brand Safety - **Adult content**.", + "enum": [ + "ADULT_UNSPECIFIED", + "ADULT_HR", + "ADULT_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any adult options.", + "Adult - Exclude High Risk.", + "Adult - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedAlcoholRisk": { + "description": "Brand Safety - **Alcohol**.", + "enum": [ + "ALCOHOL_UNSPECIFIED", + "ALCOHOL_HR", + "ALCOHOL_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any alcohol\noptions.", + "Alcohol - Exclude High Risk.", + "Alcohol - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedDrugsRisk": { + "description": "Brand Safety - **Drugs**.", + "enum": [ + "DRUGS_UNSPECIFIED", + "DRUGS_HR", + "DRUGS_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any drugs options.", + "Drugs - Exclude High Risk.", + "Drugs - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedGamblingRisk": { + "description": "Brand Safety - **Gambling**.", + "enum": [ + "GAMBLING_UNSPECIFIED", + "GAMBLING_HR", + "GAMBLING_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any gambling\noptions.", + "Gambling - Exclude High Risk.", + "Gambling - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedHateSpeechRisk": { + "description": "Brand Safety - **Hate speech**.", + "enum": [ + "HATE_SPEECH_UNSPECIFIED", + "HATE_SPEECH_HR", + "HATE_SPEECH_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any hate speech\noptions.", + "Hate Speech - Exclude High Risk.", + "Hate Speech - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedIllegalDownloadsRisk": { + "description": "Brand Safety - **Illegal downloads**.", + "enum": [ + "ILLEGAL_DOWNLOADS_UNSPECIFIED", + "ILLEGAL_DOWNLOADS_HR", + "ILLEGAL_DOWNLOADS_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any illegal\ndownloads options.", + "Illegal Downloads - Exclude High Risk.", + "Illegal Downloads - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedOffensiveLanguageRisk": { + "description": "Brand Safety - **Offensive language**.", + "enum": [ + "OFFENSIVE_LANGUAGE_UNSPECIFIED", + "OFFENSIVE_LANGUAGE_HR", + "OFFENSIVE_LANGUAGE_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any language\noptions.", + "Offensive Language - Exclude High Risk.", + "Offensive Language - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedViolenceRisk": { + "description": "Brand Safety - **Violence**.", + "enum": [ + "VIOLENCE_UNSPECIFIED", + "VIOLENCE_HR", + "VIOLENCE_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any violence\noptions.", + "Violence - Exclude High Risk.", + "Violence - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "traqScoreOption": { + "description": "True advertising quality (applicable to Display line items only).", + "enum": [ + "TRAQ_UNSPECIFIED", + "TRAQ_250", + "TRAQ_500", + "TRAQ_600", + "TRAQ_700", + "TRAQ_750", + "TRAQ_875", + "TRAQ_1000" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any true\nadvertising quality scores.", + "TRAQ score 250-1000.", + "TRAQ score 500-1000.", + "TRAQ score 600-1000.", + "TRAQ score 700-1000.", + "TRAQ score 750-1000.", + "TRAQ score 875-1000.", + "TRAQ score 1000." + ], + "type": "string" + }, + "videoViewability": { + "description": "Video Viewability Section (applicable to video line items only).", + "enum": [ + "VIDEO_VIEWABILITY_UNSPECIFIED", + "VIDEO_VIEWABILITY_40", + "VIDEO_VIEWABILITY_50", + "VIDEO_VIEWABILITY_60", + "VIDEO_VIEWABILITY_70" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video\nviewability options.", + "40%+ in view (IAB video viewability standard).", + "50%+ in view (IAB video viewability standard).", + "60%+ in view (IAB video viewability standard).", + "70%+ in view (IAB video viewability standard)." + ], + "type": "string" + } + }, + "type": "object" + }, + "IntegrationDetails": { + "description": "Integration details of an entry.", + "id": "IntegrationDetails", + "properties": { + "details": { + "description": "Additional details of the entry in string format.\n\nMust be UTF-8 encoded with a length of no more than 1000 characters.", + "type": "string" + }, + "integrationCode": { + "description": "An external identifier to be associated with the entry.\nThe integration code will show up together with the entry in many\nplaces in the system, for example, reporting.\n\nMust be UTF-8 encoded with a length of no more than 500 characters.", + "type": "string" + } + }, + "type": "object" + }, + "InventorySource": { + "description": "An inventory source.", + "id": "InventorySource", + "properties": { + "commitment": { + "description": "Whether the inventory source has a guaranteed or non-guaranteed delivery.", + "enum": [ + "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED", + "INVENTORY_SOURCE_COMMITMENT_GUARANTEED", + "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" + ], + "enumDescriptions": [ + "The commitment is not specified or is unknown in this version.", + "The commitment is guaranteed delivery.", + "The commitment is non-guaranteed delivery." + ], + "type": "string" + }, + "creativeConfigs": { + "description": "The creative requirements of the inventory source.\n\nNot applicable for auction packages.", + "items": { + "$ref": "CreativeConfig" + }, + "type": "array" + }, + "dealId": { + "description": "The ID in the exchange space that uniquely identifies the inventory source.\n\nMust be unique across buyers within each exchange but not necessarily\nunique across exchanges.", + "type": "string" + }, + "deliveryMethod": { + "description": "The delivery method of the inventory source.\n\n* For non-guaranteed inventory sources, the only acceptable value is\n`INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.\n* For guaranteed inventory sources, acceptable values are\n`INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and\n`INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.", + "enum": [ + "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED", + "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC", + "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" + ], + "enumDescriptions": [ + "The delivery method is not specified or is unknown in this version.", + "The delivery method is programmatic.", + "The delivery method is tag." + ], + "type": "string" + }, + "displayName": { + "description": "The display name of the inventory source.\n\nMust be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "exchange": { + "description": "The exchange to which the inventory source belongs.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX", + "Open8", + "Triton.", + "TripleLift", + "Taboola", + "InMobi.", + "Smaato", + "Aja.", + "Nexstar Digital.", + "Waze." + ], + "type": "string" + }, + "inventorySourceId": { + "description": "Output only. The unique ID of the inventory source. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "inventorySourceType": { + "description": "Denotes the type of the inventory source.", + "enum": [ + "INVENTORY_SOURCE_TYPE_UNSPECIFIED", + "INVENTORY_SOURCE_TYPE_PRIVATE", + "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" + ], + "enumDescriptions": [ + "The inventory source type is not specified or is unknown in this version.", + "Private inventory source.", + "Auction package." + ], + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the inventory source.", + "type": "string" + }, + "publisherName": { + "description": "The publisher/seller name of the inventory source.", + "type": "string" + }, + "rateDetails": { + "$ref": "RateDetails", + "description": "Required. The rate details of the inventory source." + }, + "status": { + "$ref": "InventorySourceStatus", + "description": "The status settings of the inventory source." + }, + "timeRange": { + "$ref": "TimeRange", + "description": "The time range when this inventory source starts and stops serving." + }, + "updateTime": { + "description": "Output only. The timestamp when the inventory source was last updated. Assigned by the\nsystem.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceAssignedTargetingOptionDetails": { + "description": "Targeting details for inventory source. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_INVENTORY_SOURCE`.", + "id": "InventorySourceAssignedTargetingOptionDetails", + "properties": { + "inventorySourceId": { + "description": "Required. ID of the inventory source. Should refer to the\ninventory_source_id field of an\nInventorySource resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceDisplayCreativeConfig": { + "description": "The configuration for display creatives.", + "id": "InventorySourceDisplayCreativeConfig", + "properties": { + "creativeSize": { + "$ref": "Dimensions", + "description": "The size requirements for display creatives that can be assigned to the\ninventory source." + } + }, + "type": "object" + }, + "InventorySourceFilter": { + "description": "A filtering option for filtering on Inventory Source entities.", + "id": "InventorySourceFilter", + "properties": { + "inventorySourceIds": { + "description": "Inventory Sources to download by ID. All IDs must belong to the same\nAdvertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest. Leave empty to download all Inventory\nSources for the selected Advertiser or Partner.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InventorySourceGroup": { + "description": "A collection of targetable inventory sources.", + "id": "InventorySourceGroup", + "properties": { + "displayName": { + "description": "Required. The display name of the inventory source group.\n\nMust be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Output only. The unique ID of the inventory source group. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the inventory source group.", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceGroupAssignedTargetingOptionDetails": { + "description": "Targeting details for inventory source group. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.", + "id": "InventorySourceGroupAssignedTargetingOptionDetails", + "properties": { + "inventorySourceGroupId": { + "description": "Required. ID of the inventory source group. Should refer to the\ninventory_source_group_id\nfield of an InventorySourceGroup resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceStatus": { + "description": "The status related settings of the inventory source.", + "id": "InventorySourceStatus", + "properties": { + "configStatus": { + "description": "Output only. The configuration status of the inventory source.\n\nOnly applicable for guaranteed inventory sources.\nAcceptable values are `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and\n`INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`.\n\nAn inventory source must be configured (fill in the required fields, choose\ncreatives, and select a default campaign) before it can serve.", + "enum": [ + "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED", + "INVENTORY_SOURCE_CONFIG_STATUS_PENDING", + "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" + ], + "enumDescriptions": [ + "The approval status is not specified or is unknown in this version.", + "The beginning state of a guaranteed inventory source. The inventory\nsource in this state needs to be configured.", + "The state after the buyer configures a guaranteed inventory source." + ], + "type": "string" + }, + "entityPauseReason": { + "description": "The user-provided reason for pausing this inventory source.\n\nMust not exceed 100 characters.\n\nOnly applicable when entity_status\nis set to `ENTITY_STATUS_PAUSED`.", + "type": "string" + }, + "entityStatus": { + "description": "Whether or not the inventory source is servable.\n\nAcceptable values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and\n`ENTITY_STATUS_PAUSED`.\nDefault value is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An\nentity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "sellerPauseReason": { + "description": "Output only. The seller-provided reason for pausing this inventory source.\n\nOnly applicable for inventory sources synced directly from the\npublishers and when seller_status\nis set to `ENTITY_STATUS_PAUSED`.", + "type": "string" + }, + "sellerStatus": { + "description": "Output only. The status set by the seller for the inventory source.\n\nOnly applicable for inventory sources synced directly from the\npublishers.\nAcceptable values are `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_PAUSED`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An\nentity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceVideoCreativeConfig": { + "description": "The configuration for video creatives.", + "id": "InventorySourceVideoCreativeConfig", + "properties": { + "duration": { + "description": "The duration requirements for the video creatives that can be assigned to\nthe inventory source.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "KeywordAssignedTargetingOptionDetails": { + "description": "Details for assigned keyword targeting option. This will be populated in the\ndetails field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_KEYWORD`.", + "id": "KeywordAssignedTargetingOptionDetails", + "properties": { + "keyword": { + "description": "Required. The keyword, for example `car insurance`.\n\nPositive keyword cannot be offensive word.\nMust be UTF-8 encoded with a maximum size of 255 bytes. Maximum number\nof characters is 80. Maximum number of words is 10.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + } + }, + "type": "object" + }, + "LanguageAssignedTargetingOptionDetails": { + "description": "Details for assigned language targeting option. This will be populated in the\ndetails field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_LANGUAGE`.", + "id": "LanguageAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the language (e.g., \"French\").", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. All assigned\nlanguage targeting options on the same line item must have the same value\nfor this field.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_LANGUAGE`.", + "type": "string" + } + }, + "type": "object" + }, + "LanguageTargetingOptionDetails": { + "description": "Represents a targetable language. This will be populated in the\nlanguage_details field when\ntargeting_type is\n`TARGETING_TYPE_LANGUAGE`.", + "id": "LanguageTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the language (e.g., \"French\").", + "type": "string" + } + }, + "type": "object" + }, + "LineItem": { + "description": "A single line item.", + "id": "LineItem", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "type": "string" + }, + "bidStrategy": { + "$ref": "BiddingStrategy", + "description": "Required. The bidding strategy of the line item." + }, + "budget": { + "$ref": "LineItemBudget", + "description": "Required. The budget allocation setting of the line item." + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign that the line item belongs to.", + "format": "int64", + "type": "string" + }, + "conversionCounting": { + "$ref": "ConversionCountingConfig", + "description": "The conversion tracking setting of the line item." + }, + "creativeIds": { + "description": "The IDs of the creatives associated with the line item.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "Required. The display name of the line item.\n\nMust be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not the line item can spend its budget and\nbid on inventory.\n\n* For CreateLineItem method, only\n`ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use\nUpdateLineItem method and update the\nstatus to `ENTITY_STATUS_ACTIVE` after creation.\n* A line item cannot be changed back to `ENTITY_STATUS_DRAFT` status from\nany other status.\n* If the line item's parent insertion order is not active, the line item\ncan't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An\nentity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "flight": { + "$ref": "LineItemFlight", + "description": "Required. The start and end time of the line item's flight." + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The frequency capping setting of the line item." + }, + "insertionOrderId": { + "description": "Required. Immutable. The unique ID of the insertion order that the line item belongs to.", + "format": "int64", + "type": "string" + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Integration details of the line item." + }, + "inventorySourceIds": { + "description": "The IDs of the private inventory sources assigned to the line item.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "lineItemId": { + "description": "Output only. The unique ID of the line item. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "lineItemType": { + "description": "Required. Immutable. The type of the line item.", + "enum": [ + "LINE_ITEM_TYPE_UNSPECIFIED", + "LINE_ITEM_TYPE_DISPLAY_DEFAULT", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_VIDEO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Image, HTML5, native, or rich media ads.", + "Display ads that drive installs of an app.", + "Video ads sold on a CPM basis for a variety of environments.", + "Video ads that drive installs of an app.", + "Display ads served on mobile app inventory.", + "Video ads served on mobile app inventory." + ], + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the line item.", + "type": "string" + }, + "pacing": { + "$ref": "Pacing", + "description": "Required. The budget spending speed setting of the line item." + }, + "partnerCosts": { + "description": "The partner costs associated with the line item.\n\nIf absent or empty in CreateLineItem\nmethod, the newly created line item will inherit partner costs from its\nparent insertion order.", + "items": { + "$ref": "PartnerCost" + }, + "type": "array" + }, + "partnerRevenueModel": { + "$ref": "PartnerRevenueModel", + "description": "Required. The partner revenue model setting of the line item." + }, + "updateTime": { + "description": "Output only. The timestamp when the line item was last updated. Assigned by the system.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "LineItemBudget": { + "description": "Settings that control how budget is allocated.", + "id": "LineItemBudget", + "properties": { + "budgetAllocationType": { + "description": "Required. The type of the budget allocation.\n\n`LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when\nautomatic budget allocation is enabled for the parent insertion order.", + "enum": [ + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Automatic budget allocation is enabled for the line item.", + "A fixed max budget amount is allocated for the line item.", + "No budget limit is applied to the line item." + ], + "type": "string" + }, + "budgetUnit": { + "description": "Output only. The budget unit specifies whether the budget is currency based\nor impression based. This value is inherited from the parent insertion\norder.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "type": "string" + }, + "maxAmount": { + "description": "The maximum budget amount the line item will spend. Must be greater than 0.\n\nWhen budget_allocation_type is:\n\n* `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable\nand is set by the system.\n* `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if\nbudget_unit is:\n - `BUDGET_UNIT_CURRENCY`, this field represents maximum budget amount\n to spend, in micros of the advertiser's currency. For example, 1500000\n represents 1.5 standard units of the currency.\n - `BUDGET_UNIT_IMPRESSIONS`, this field represents the maximum number\n of impressions to serve.\n* `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not\napplicable and will be ignored by the system.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "LineItemFlight": { + "description": "Settings that control the active duration of a line item.", + "id": "LineItemFlight", + "properties": { + "dateRange": { + "$ref": "DateRange", + "description": "The flight start and end dates of the line item. They are resolved\nrelative to the parent advertiser's time zone.\n\n* Required when\nflight_date_type is\n`LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output only otherwise.\n* When creating a new flight, both `start_date` and `end_date` must be in\nthe future.\n* An existing flight with a `start_date` in the past has a mutable\n`end_date` but an immutable `start_date`.\n* `end_date` must be the `start_date` or later, both before the year 2037." + }, + "flightDateType": { + "description": "Required. The type of the line item's flight dates.", + "enum": [ + "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED", + "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED", + "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The line item's flight dates are inherited from its parent insertion order.", + "The line item uses its own custom flight dates." + ], + "type": "string" + } + }, + "type": "object" + }, + "ListAdvertiserAssignedTargetingOptionsResponse": { + "description": "Response message for\nListAdvertiserAssignedTargetingOptions.", + "id": "ListAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be\nspecified as the\npageToken in a\nsubsequent ListAdvertiserAssignedTargetingOptionsRequest to fetch the\nnext page of results. This token will be absent if there are no more\nassigned_targeting_options\nto return.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdvertisersResponse": { + "id": "ListAdvertisersResponse", + "properties": { + "advertisers": { + "description": "The list of advertisers.\n\nThis list will be absent if empty.", + "items": { + "$ref": "Advertiser" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListAdvertisers` method to retrieve the\nnext page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAssignedInventorySourcesResponse": { + "description": "Response message for\nAssignedInventorySourceService.ListAssignedInventorySources.", + "id": "ListAssignedInventorySourcesResponse", + "properties": { + "assignedInventorySources": { + "description": "The list of assigned inventory sources.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\n\nPass this value in the\npage_token field\nin the subsequent call to `ListAssignedInventorySources` method to\nretrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAssignedLocationsResponse": { + "description": "Response message for\nAssignedLocationService.ListAssignedLocations.", + "id": "ListAssignedLocationsResponse", + "properties": { + "assignedLocations": { + "description": "The list of assigned locations.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\n\nPass this value in the\npage_token field\nin the subsequent call to `ListAssignedLocations` method to\nretrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCampaignsResponse": { + "id": "ListCampaignsResponse", + "properties": { + "campaigns": { + "description": "The list of campaigns.\n\nThis list will be absent if empty.", + "items": { + "$ref": "Campaign" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the page_token field\nin the subsequent call to `ListCampaigns` method to retrieve the next page\nof results.", + "type": "string" + } + }, + "type": "object" + }, + "ListChannelsResponse": { + "id": "ListChannelsResponse", + "properties": { + "channels": { + "description": "The list of channels.\n\nThis list will be absent if empty.", + "items": { + "$ref": "Channel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the page_token field\nin the subsequent call to `ListChannels` method to retrieve the next page\nof results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCombinedAudiencesResponse": { + "id": "ListCombinedAudiencesResponse", + "properties": { + "combinedAudiences": { + "description": "The list of combined audiences.\n\nThis list will be absent if empty.", + "items": { + "$ref": "CombinedAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListCombinedAudiences` method to retrieve\nthe next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCreativesResponse": { + "id": "ListCreativesResponse", + "properties": { + "creatives": { + "description": "The list of creatives.\n\nThis list will be absent if empty.", + "items": { + "$ref": "Creative" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the page_token field\nin the subsequent call to `ListCreativesRequest` method to retrieve the\nnext page of results.\nIf this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomListsResponse": { + "id": "ListCustomListsResponse", + "properties": { + "customLists": { + "description": "The list of custom lists.\n\nThis list will be absent if empty.", + "items": { + "$ref": "CustomList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListCustomLists` method to retrieve the\nnext page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListFirstAndThirdPartyAudiencesResponse": { + "id": "ListFirstAndThirdPartyAudiencesResponse", + "properties": { + "firstAndThirdPartyAudiences": { + "description": "The list of first and third party audiences. Audience size properties will\nnot be included.\n\nThis list will be absent if empty.", + "items": { + "$ref": "FirstAndThirdPartyAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListFirstAndThirdPartyAudiences` method to\nretrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListGoogleAudiencesResponse": { + "id": "ListGoogleAudiencesResponse", + "properties": { + "googleAudiences": { + "description": "The list of Google audiences.\n\nThis list will be absent if empty.", + "items": { + "$ref": "GoogleAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListGoogleAudiences` method to retrieve\nthe next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInsertionOrdersResponse": { + "id": "ListInsertionOrdersResponse", + "properties": { + "insertionOrders": { + "description": "The list of insertion orders.\n\nThis list will be absent if empty.", + "items": { + "$ref": "InsertionOrder" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the page_token\nfield in the subsequent call to `ListInsertionOrders` method to retrieve\nthe next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInventorySourceGroupsResponse": { + "description": "Response message for InventorySourceGroupService.ListInventorySourceGroups.", + "id": "ListInventorySourceGroupsResponse", + "properties": { + "inventorySourceGroups": { + "description": "The list of inventory source groups.\n\nThis list will be absent if empty.", + "items": { + "$ref": "InventorySourceGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListInventorySourceGroups` method to\nretrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInventorySourcesResponse": { + "id": "ListInventorySourcesResponse", + "properties": { + "inventorySources": { + "description": "The list of inventory sources.\n\nThis list will be absent if empty.", + "items": { + "$ref": "InventorySource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListInventorySources` method to retrieve\nthe next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListLineItemAssignedTargetingOptionsResponse": { + "description": "Response message for\nListLineItemAssignedTargetingOptions.", + "id": "ListLineItemAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options.\n\nThis list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be\nspecified as the\npageToken in a\nsubsequent ListLineItemAssignedTargetingOptionsRequest to fetch the\nnext page of results. This token will be absent if there are no more\nassigned_targeting_options\nto return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLineItemsResponse": { + "id": "ListLineItemsResponse", + "properties": { + "lineItems": { + "description": "The list of line items.\n\nThis list will be absent if empty.", + "items": { + "$ref": "LineItem" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListLineItems` method to retrieve the\nnext page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationListsResponse": { + "id": "ListLocationListsResponse", + "properties": { + "locationLists": { + "description": "The list of location lists.\n\nThis list will be absent if empty.", + "items": { + "$ref": "LocationList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\n\nPass this value in the\npage_token\nfield in the subsequent call to `ListLocationLists` method to retrieve the\nnext page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListNegativeKeywordListsResponse": { + "description": "Response message for NegativeKeywordListService.ListNegativeKeywordLists.", + "id": "ListNegativeKeywordListsResponse", + "properties": { + "negativeKeywordLists": { + "description": "The list of negative keyword lists.\n\nThis list will be absent if empty.", + "items": { + "$ref": "NegativeKeywordList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\n\nPass this value in the\npage_token\nfield in the subsequent call to `ListNegativeKeywordLists` method to\nretrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListNegativeKeywordsResponse": { + "description": "Response message for NegativeKeywordService.ListNegativeKeywords.", + "id": "ListNegativeKeywordsResponse", + "properties": { + "negativeKeywords": { + "description": "The list of negative keywords.\n\nThis list will be absent if empty.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\n\nPass this value in the page_token\nfield in the subsequent call to `ListNegativeKeywords` method to retrieve\nthe next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListSitesResponse": { + "description": "Response message for SiteService.ListSites.", + "id": "ListSitesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results.\n\nPass this value in the page_token field\nin the subsequent call to `ListSites` method to retrieve the next page\nof results.", + "type": "string" + }, + "sites": { + "description": "The list of sites.\n\nThis list will be absent if empty.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListTargetingOptionsResponse": { + "description": "Response message for\nListTargetingOptions.", + "id": "ListTargetingOptionsResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\npage_token\nfield in the subsequent call to `ListTargetingOptions` method to retrieve\nthe next page of results.", + "type": "string" + }, + "targetingOptions": { + "description": "The list of targeting options.\n\nThis list will be absent if empty.", + "items": { + "$ref": "TargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "LocationList": { + "description": "A list of locations used for targeting.", + "id": "LocationList", + "properties": { + "advertiserId": { + "description": "Required. Immutable. The unique ID of the advertiser the location list belongs to.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the location list.\nMust be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "locationListId": { + "description": "Output only. The unique ID of the location list. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "locationType": { + "description": "Required. Immutable. The type of location. All locations in the list will share this type.", + "enum": [ + "TARGETING_LOCATION_TYPE_UNSPECIFIED", + "TARGETING_LOCATION_TYPE_PROXIMITY", + "TARGETING_LOCATION_TYPE_REGIONAL" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "The type for proximity geo location.", + "The type for regional geo location." + ], + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the location list.", + "type": "string" + } + }, + "type": "object" + }, + "LookbackWindow": { + "description": "Specifies how many days into the past to look when determining whether to\nrecord a conversion.", + "id": "LookbackWindow", + "properties": { + "clickDays": { + "description": "Lookback window, in days, from the last time a given user clicked on one of\nyour ads.", + "format": "int32", + "type": "integer" + }, + "impressionDays": { + "description": "Lookback window, in days, from the last time a given user viewed one of\nyour ads.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "MaximizeSpendBidStrategy": { + "description": "A strategy that automatically adjusts the bid to optimize a specified\nperformance goal while spending the full budget.", + "id": "MaximizeSpendBidStrategy", + "properties": { + "maxAverageCpmBidAmountMicros": { + "description": "The maximum average CPM that may be bid, in micros of the advertiser's\ncurrency. Must be greater than or equal to a billable unit of the given\ncurrency.\n\nFor example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal that the bidding strategy\ntries to minimize while spending the full budget.\n`BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for\nthis strategy.", + "enum": [ + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Cost per action.", + "Cost per click.", + "Viewable CPM.", + "Completed inview and audible views.", + "Inview time over 10 secs views.", + "Viewable impressions." + ], + "type": "string" + } + }, + "type": "object" + }, + "Money": { + "description": "Represents an amount of money with its currency type.", + "id": "Money", + "properties": { + "currencyCode": { + "description": "The 3-letter currency code defined in ISO 4217.", + "type": "string" + }, + "nanos": { + "description": "Number of nano (10^-9) units of the amount.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "type": "integer" + }, + "units": { + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeyword": { + "description": "A negatively targeted keyword that belongs to a negative keyword list.", + "id": "NegativeKeyword", + "properties": { + "keywordValue": { + "description": "Required. Immutable. The negatively targeted keyword, for example `car insurance`.\n\nMust be UTF-8 encoded with a maximum size of 255 bytes. Maximum number\nof characters is 80. Maximum number of words is 10.\n\nValid characters are restricted to ASCII characters only. The only\nURL-escaping permitted is for representing whitespace between words.\nLeading or trailing whitespace is ignored.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the negative keyword.", + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeywordList": { + "description": "A list of negative keywords used for targeting.", + "id": "NegativeKeywordList", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the negative keyword list belongs to.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the negative keyword list.\nMust be UTF-8 encoded with a maximum size of 255 bytes.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the negative keyword list.", + "type": "string" + }, + "negativeKeywordListId": { + "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeywordListAssignedTargetingOptionDetails": { + "description": "Targeting details for negative keyword list. This will be populated in the\ndetails field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.", + "id": "NegativeKeywordListAssignedTargetingOptionDetails", + "properties": { + "negativeKeywordListId": { + "description": "Required. ID of the negative keyword list. Should refer to the\nnegative_keyword_list_id\nfield of a NegativeKeywordList resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ObaIcon": { + "description": "OBA Icon for a Creative", + "id": "ObaIcon", + "properties": { + "clickTrackingUrl": { + "description": "Required. The click tracking URL of the OBA icon.\n\nOnly URLs of the following domains are allowed:\n\n* https://info.evidon.com\n* https://l.betrad.com", + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "The dimensions of the OBA icon." + }, + "landingPageUrl": { + "description": "Required. The landing page URL of the OBA icon.\n\nOnly URLs of the following domains are allowed:\n\n* https://info.evidon.com\n* https://l.betrad.com", + "type": "string" + }, + "position": { + "description": "The position of the OBA icon on the creative.", + "enum": [ + "OBA_ICON_POSITION_UNSPECIFIED", + "OBA_ICON_POSITION_UPPER_RIGHT", + "OBA_ICON_POSITION_UPPER_LEFT", + "OBA_ICON_POSITION_LOWER_RIGHT", + "OBA_ICON_POSITION_LOWER_LEFT" + ], + "enumDescriptions": [ + "The OBA icon position is not specified.", + "At the upper right side of the creative.", + "At the upper left side of the creative.", + "At the lower right side of the creative.", + "At the lower left side of the creative." + ], + "type": "string" + }, + "program": { + "description": "The program of the OBA icon. For example: \u201cAdChoices\u201d.", + "type": "string" + }, + "resourceMimeType": { + "description": "The MIME type of the OBA icon resource.", + "type": "string" + }, + "resourceUrl": { + "description": "The URL of the OBA icon resource.", + "type": "string" + }, + "viewTrackingUrl": { + "description": "Required. The view tracking URL of the OBA icon.\n\nOnly URLs of the following domains are allowed:\n\n* https://info.evidon.com\n* https://l.betrad.com", + "type": "string" + } + }, + "type": "object" + }, + "OnScreenPositionAssignedTargetingOptionDetails": { + "description": "On screen position targeting option details. This will be\npopulated in the\non_screen_position_details\nfield when\ntargeting_type is\n`TARGETING_TYPE_ON_SCREEN_POSITION`.", + "id": "OnScreenPositionAssignedTargetingOptionDetails", + "properties": { + "onScreenPosition": { + "description": "Output only. The on screen position.", + "enum": [ + "ON_SCREEN_POSITION_UNSPECIFIED", + "ON_SCREEN_POSITION_UNKNOWN", + "ON_SCREEN_POSITION_ABOVE_THE_FOLD", + "ON_SCREEN_POSITION_BELOW_THE_FOLD" + ], + "enumDescriptions": [ + "On screen position is not specified in this version. This enum is a place\nholder for a default value and does not represent a real on screen\nposition.", + "The ad position is unknown on the screen.", + "The ad is located above the fold.", + "The ad is located below the fold." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_ON_SCREEN_POSITION`.", + "type": "string" + } + }, + "type": "object" + }, + "OnScreenPositionTargetingOptionDetails": { + "description": "Represents a targetable on screen position, which could be used by display\nand video ads. This will be populated in the\non_screen_position_details\nfield when\ntargeting_type is\n`TARGETING_TYPE_ON_SCREEN_POSITION`.", + "id": "OnScreenPositionTargetingOptionDetails", + "properties": { + "onScreenPosition": { + "description": "Output only. The on screen position.", + "enum": [ + "ON_SCREEN_POSITION_UNSPECIFIED", + "ON_SCREEN_POSITION_UNKNOWN", + "ON_SCREEN_POSITION_ABOVE_THE_FOLD", + "ON_SCREEN_POSITION_BELOW_THE_FOLD" + ], + "enumDescriptions": [ + "On screen position is not specified in this version. This enum is a place\nholder for a default value and does not represent a real on screen\nposition.", + "The ad position is unknown on the screen.", + "The ad is located above the fold.", + "The ad is located below the fold." + ], + "type": "string" + } + }, + "type": "object" + }, + "OperatingSystemAssignedTargetingOptionDetails": { + "description": "Assigned operating system targeting option details. This will be\npopulated in the\noperating_system_details\nfield when\ntargeting_type is\n`TARGETING_TYPE_OPERATING_SYSTEM`.", + "id": "OperatingSystemAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the operating system.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting option ID populated in\ntargeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_OPERATING_SYSTEM`.", + "type": "string" + } + }, + "type": "object" + }, + "OperatingSystemTargetingOptionDetails": { + "description": "Represents a targetable operating system. This will be populated in the\noperating_system_details field\nof a TargetingOption when\ntargeting_type is\n`TARGETING_TYPE_OPERATING_SYSTEM`.", + "id": "OperatingSystemTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the operating system.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Pacing": { + "description": "Settings that control the rate at which a budget is spent.", + "id": "Pacing", + "properties": { + "dailyMaxImpressions": { + "description": "Maximum number of impressions to serve every day.\n\nApplicable when the budget is impression based. Must be greater than 0.", + "format": "int64", + "type": "string" + }, + "dailyMaxMicros": { + "description": "Maximum currency amount to spend every day in micros of\nadvertiser's currency.\n\nApplicable when the budget is currency based. Must be greater than 0.\nFor example, for 1.5 standard unit of the currency, set this field to\n1500000.\n\nThe value assigned will be rounded to whole billable units for the\nrelevant currency by the following rules: any positive value less than a\nsingle billable unit will be rounded up to one billable unit and any\nvalue larger than a single billable unit will be rounded down to the\nnearest billable value. For example, if the currency's billable unit is\n0.01, and this field is set to 10257770, it will round down to 10250000,\na value of 10.25. If set to 505, it will round up to 10000, a value of\n0.01.", + "format": "int64", + "type": "string" + }, + "pacingPeriod": { + "description": "Required. The time period in which the pacing budget will be spent.\n\nWhen automatic budget allocation is enabled at the insertion order via\nauto_budget_allocation, this\nfield is output only and defaults to `PACING_PERIOD_FLIGHT`.", + "enum": [ + "PACING_PERIOD_UNSPECIFIED", + "PACING_PERIOD_DAILY", + "PACING_PERIOD_FLIGHT" + ], + "enumDescriptions": [ + "Period value is not specified or is unknown in this version.", + "The pacing setting will be applied on daily basis.", + "The pacing setting will be applied to the whole flight duration." + ], + "type": "string" + }, + "pacingType": { + "description": "Required. The type of pacing that defines how the budget amount will be\nspent across the pacing_period.", + "enum": [ + "PACING_TYPE_UNSPECIFIED", + "PACING_TYPE_AHEAD", + "PACING_TYPE_ASAP", + "PACING_TYPE_EVEN" + ], + "enumDescriptions": [ + "Pacing mode value is not specified or is unknown in this version.", + "Only applicable to `PACING_PERIOD_FLIGHT` pacing period.\nAhead pacing attempts to spend faster than evenly, to make sure the\nentire budget is spent by the end of the flight.", + "Spend all of pacing budget amount as quick as possible.", + "Spend a consistent budget amount every period of time." + ], + "type": "string" + } + }, + "type": "object" + }, + "ParentEntityFilter": { + "description": "A filtering option that filters on selected file types belonging to a chosen\nset of filter entities.", + "id": "ParentEntityFilter", + "properties": { + "fileType": { + "description": "Required. File types that will be returned.", + "enumDescriptions": [ + "Default value when type is unspecified or is unknown in this version.", + "Campaign.", + "Media Product.", + "Insertion Order.", + "Line Item.", + "TrueView Ad Group.", + "TrueView Ad." + ], + "items": { + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "FILE_TYPE_CAMPAIGN", + "FILE_TYPE_MEDIA_PRODUCT", + "FILE_TYPE_INSERTION_ORDER", + "FILE_TYPE_LINE_ITEM", + "FILE_TYPE_AD_GROUP", + "FILE_TYPE_AD" + ], + "type": "string" + }, + "type": "array" + }, + "filterIds": { + "description": "The IDs of the specified filter type. This is used to filter entities to\nfetch. If filter type is not `FILTER_TYPE_NONE`, at least one ID must be\nspecified.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "filterType": { + "description": "Required. Filter type used to filter fetched entities.", + "enum": [ + "FILTER_TYPE_UNSPECIFIED", + "FILTER_TYPE_NONE", + "FILTER_TYPE_ADVERTISER_ID", + "FILTER_TYPE_CAMPAIGN_ID", + "FILTER_TYPE_MEDIA_PRODUCT_ID", + "FILTER_TYPE_INSERTION_ORDER_ID", + "FILTER_TYPE_LINE_ITEM_ID" + ], + "enumDescriptions": [ + "Default value when type is unspecified or is unknown in this version.", + "If selected, no filter will be applied to the download. Can only be used if\nan Advertiser is specified\nin CreateSdfDownloadTaskRequest.", + "Advertiser ID. If selected, all filter IDs must be Advertiser IDs that\nbelong to the Partner specified\nin CreateSdfDownloadTaskRequest.", + "Campaign ID. If selected, all filter IDs must be Campaign IDs that belong\nto the Advertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest.", + "Media Product ID. If selected, all filter IDs must be Media Product IDs\nthat belong to the Advertiser\nor Partner specified in\nCreateSdfDownloadTaskRequest. Can only be used for downloading\n`FILE_TYPE_MEDIA_PRODUCT`.", + "Insertion Order ID. If selected, all filter IDs must be Insertion Order IDs\nthat belong to the Advertiser\nor Partner specified in\nCreateSdfDownloadTaskRequest. Can only be used for downloading\n`FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`,\nand `FILE_TYPE_AD`.", + "Line Item ID. If selected, all filter IDs must be Line Item IDs that belong\nto the Advertiser or\nPartner specified in\nCreateSdfDownloadTaskRequest. Can only be used for downloading\n`FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`." + ], + "type": "string" + } + }, + "type": "object" + }, + "ParentalStatusAssignedTargetingOptionDetails": { + "description": "Details for assigned parental status targeting option. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARTGETING_TYPE_PARENTAL_STATUS`.", + "id": "ParentalStatusAssignedTargetingOptionDetails", + "properties": { + "parentalStatus": { + "description": "Output only. The parental status of the audience.", + "enum": [ + "PARENTAL_STATUS_UNSPECIFIED", + "PARENTAL_STATUS_PARENT", + "PARENTAL_STATUS_NOT_A_PARENT", + "PARENTAL_STATUS_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when parental status is not specified in this version. This\nenum is a place holder for default value and does not represent a real\nparental status option.", + "The audience is a parent.", + "The audience is not a parent.", + "The parental status of the audience is unknown." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.", + "type": "string" + } + }, + "type": "object" + }, + "ParentalStatusTargetingOptionDetails": { + "description": "Represents a targetable parental status. This will be populated in the\nparental_status_details field of a\nTargetingOption when targeting_type is\n`TARGETING_TYPE_PARENTAL_STATUS`.", + "id": "ParentalStatusTargetingOptionDetails", + "properties": { + "parentalStatus": { + "description": "Output only. The parental status of an audience.", + "enum": [ + "PARENTAL_STATUS_UNSPECIFIED", + "PARENTAL_STATUS_PARENT", + "PARENTAL_STATUS_NOT_A_PARENT", + "PARENTAL_STATUS_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when parental status is not specified in this version. This\nenum is a place holder for default value and does not represent a real\nparental status option.", + "The audience is a parent.", + "The audience is not a parent.", + "The parental status of the audience is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "PartnerCost": { + "description": "Settings that control a partner cost.\n\nA partner cost is any type of expense involved in running a campaign, other\nthan the costs of purchasing impressions (which is called the media cost)\nand using third-party audience segment data (data fee). Some examples of\npartner costs include the fees for using DV360, a third-party ad server,\nor a third-party ad serving verification service.", + "id": "PartnerCost", + "properties": { + "costType": { + "description": "Required. The type of the partner cost.", + "enum": [ + "PARTNER_COST_TYPE_UNSPECIFIED", + "PARTNER_COST_TYPE_ADLOOX", + "PARTNER_COST_TYPE_ADLOOX_PREBID", + "PARTNER_COST_TYPE_ADSAFE", + "PARTNER_COST_TYPE_ADXPOSE", + "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", + "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", + "PARTNER_COST_TYPE_DV360_FEE", + "PARTNER_COST_TYPE_COMSCORE_VCE", + "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", + "PARTNER_COST_TYPE_DEFAULT", + "PARTNER_COST_TYPE_DOUBLE_VERIFY", + "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", + "PARTNER_COST_TYPE_EVIDON", + "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", + "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", + "PARTNER_COST_TYPE_MEDIA_COST_DATA", + "PARTNER_COST_TYPE_MOAT_VIDEO", + "PARTNER_COST_TYPE_NIELSEN_DAR", + "PARTNER_COST_TYPE_SHOP_LOCAL", + "PARTNER_COST_TYPE_TERACENT", + "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", + "PARTNER_COST_TYPE_TRUST_METRICS", + "PARTNER_COST_TYPE_VIZU", + "PARTNER_COST_TYPE_ADLINGO_FEE", + "PARTNER_COST_TYPE_CUSTOM_FEE_1", + "PARTNER_COST_TYPE_CUSTOM_FEE_2", + "PARTNER_COST_TYPE_CUSTOM_FEE_3", + "PARTNER_COST_TYPE_CUSTOM_FEE_4", + "PARTNER_COST_TYPE_CUSTOM_FEE_5" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The cost is charged for using Adloox.", + "The cost is charged for using Adloox Pre-Bid.", + "The cost is charged for using AdSafe.", + "The cost is charged for using AdExpose.", + "The cost is charged for using Aggregate Knowledge.", + "The cost is charged for using an Agency Trading Desk.", + "The cost is charged for using DV360.", + "The cost is charged for using comScore vCE.", + "The cost is charged for using a Data Management Platform.", + "The default cost type.", + "The cost is charged for using DoubleVerify.", + "The cost is charged for using DoubleVerify Pre-Bid.", + "The cost is charged for using Evidon.", + "The cost is charged for using Integral Ad Science Video.", + "The cost is charged for using Integral Ad Science Pre-Bid.", + "The cost is charged for using media cost data.", + "The cost is charged for using MOAT Video.", + "The cost is charged for using Nielsen Digital Ad Ratings.", + "The cost is charged for using ShopLocal.", + "The cost is charged for using Teracent.", + "The cost is charged for using a third-party ad server.", + "The cost is charged for using TrustMetrics.", + "The cost is charged for using Vizu.", + "The cost is charged for using AdLingo.", + "The cost is charged as custom fee 1.", + "The cost is charged as custom fee 2.", + "The cost is charged as custom fee 3.", + "The cost is charged as custom fee 4.", + "The cost is charged as custom fee 5." + ], + "type": "string" + }, + "feeAmount": { + "description": "The CPM fee amount in micros of advertiser's currency.\n\nApplicable when the fee_type is\n`PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or equal to 0.\n\nFor example, for 1.5 standard unit of the advertiser's currency, set\nthis field to 1500000.", + "format": "int64", + "type": "string" + }, + "feePercentageMillis": { + "description": "The media fee percentage in millis (1/1000 of a percent).\n\nApplicable when the fee_type is\n`PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0.\n\nFor example: 100 represents 0.1%.", + "format": "int64", + "type": "string" + }, + "feeType": { + "description": "Required. The fee type for this partner cost.", + "enum": [ + "PARTNER_COST_FEE_TYPE_UNSPECIFIED", + "PARTNER_COST_FEE_TYPE_CPM_FEE", + "PARTNER_COST_FEE_TYPE_MEDIA_FEE" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "The partner cost is a fixed CPM fee.\n\nNot applicable when the partner cost cost_type\nis one of:\n\n* `PARTNER_COST_TYPE_MEDIA_COST_DATA`\n* `PARTNER_COST_TYPE_DV360_FEE`.", + "The partner cost is a percentage surcharge based on the media cost.\n\nNot applicable when the partner cost_type is one\nof:\n\n* `PARTNER_COST_TYPE_SHOP_LOCAL`\n* `PARTNER_COST_TYPE_TRUST_METRICS`\n* `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO`\n* `PARTNER_COST_TYPE_MOAT_VIDEO`." + ], + "type": "string" + }, + "invoiceType": { + "description": "The invoice type for this partner cost.\n\n* Required when cost_type is one of:\n - `PARTNER_COST_TYPE_ADLOOX`\n - `PARTNER_COST_TYPE_DOUBLE_VERIFY`\n - `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`.\n* Output only for other types.", + "enum": [ + "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", + "PARTNER_COST_INVOICE_TYPE_DV360", + "PARTNER_COST_INVOICE_TYPE_PARTNER" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Partner cost is billed through DV360.", + "Partner cost is billed by the partner." + ], + "type": "string" + } + }, + "type": "object" + }, + "PartnerRevenueModel": { + "description": "Settings that control how partner revenue is calculated.", + "id": "PartnerRevenueModel", + "properties": { + "markupAmount": { + "description": "Required. The markup amount of the partner revenue model.\nMust be greater than or equal to 0.\n\n* When the markup_type is set to be\n`PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM\nmarkup in micros of advertiser's currency. For example, 1500000\nrepresents 1.5 standard units of the currency.\n* When the markup_type is set to be\n`PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field\nrepresents the media cost percent markup in millis. For example,\n100 represents 0.1% (decimal 0.001).\n* When the markup_type is set to be\n`PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field\nrepresents the total media cost percent markup in millis. For example,\n100 represents 0.1% (decimal 0.001).", + "format": "int64", + "type": "string" + }, + "markupType": { + "description": "Required. The markup type of the partner revenue model.", + "enum": [ + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Calculate the partner revenue based on a fixed CPM.", + "Calculate the partner revenue based on a percentage surcharge of its\nmedia cost.", + "Calculate the partner revenue based on a percentage surcharge of its\ntotal media cost, which includes all partner costs and data costs." + ], + "type": "string" + } + }, + "type": "object" + }, + "PerformanceGoal": { + "description": "Settings that control the performance goal of a campaign or insertion order.", + "id": "PerformanceGoal", + "properties": { + "performanceGoalAmountMicros": { + "description": "The goal amount, in micros of the advertiser's currency.\n\nApplicable when\nperformance_goal_type is one of:\n\n* `PERFORMANCE_GOAL_TYPE_CPM`\n* `PERFORMANCE_GOAL_TYPE_CPC`\n* `PERFORMANCE_GOAL_TYPE_CPA`\n* `PERFORMANCE_GOAL_TYPE_CPIAVC`\n\nFor example 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalPercentageMicros": { + "description": "The decimal representation of the goal percentage in micros.\n\nApplicable when\nperformance_goal_type is one of:\n\n* `PERFORMANCE_GOAL_TYPE_CTR`\n* `PERFORMANCE_GOAL_TYPE_VIEWABILITY`\n\nFor example, 70000 represents 7% (decimal 0.07).", + "format": "int64", + "type": "string" + }, + "performanceGoalString": { + "description": "A key performance indicator (KPI) string, which can be empty.\nMust be UTF-8 encoded with a length of no more than 100 characters.\n\nApplicable when\nperformance_goal_type is set to\n`PERFORMANCE_GOAL_TYPE_OTHER`.", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal.", + "enum": [ + "PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "PERFORMANCE_GOAL_TYPE_CPM", + "PERFORMANCE_GOAL_TYPE_CPC", + "PERFORMANCE_GOAL_TYPE_CPA", + "PERFORMANCE_GOAL_TYPE_VIEWABILITY", + "PERFORMANCE_GOAL_TYPE_CPIAVC", + "PERFORMANCE_GOAL_TYPE_CPE", + "PERFORMANCE_GOAL_TYPE_OTHER" + ], + "enumDescriptions": [ + "Performance goal type is not specified or is unknown in this version.", + "The performance goal is set in CPM (cost per mille).", + "The performance goal is set in CPC (cost per click).", + "The performance goal is set in CPA (cost per action).", + "The performance goal is set in Viewability percentage.", + "The performance goal is set as CPIAVC (cost per impression audible and\nvisible at completion).", + "The performance goal is set in CPE (cost per engagement).", + "The performance goal is set to Other." + ], + "type": "string" + } + }, + "type": "object" + }, + "PerformanceGoalBidStrategy": { + "description": "A strategy that automatically adjusts the bid to meet or beat a specified\nperformance goal.", + "id": "PerformanceGoalBidStrategy", + "properties": { + "maxAverageCpmBidAmountMicros": { + "description": "The maximum average CPM that may be bid, in micros of the advertiser's\ncurrency. Must be greater than or equal to a billable unit of the given\ncurrency. Not applicable when\nperformance_goal_type\nis set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`.\n\nFor example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalAmountMicros": { + "description": "Required. The performance goal the bidding strategy will attempt to\nmeet or beat, in micros of the advertiser's currency.\nMust be greater than or equal to a billable unit of the given currency and\nsmaller or equal to upper bounds. Each\nperformance_goal_type\nhas its upper bound:\n\n* when\nperformance_goal_type\nis `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`,\nupper bound is 10000.00 USD.\n* when\nperformance_goal_type\nis `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`,\nupper bound is 1000.00 USD.\n* when\nperformance_goal_type\nis `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is\n1000.00 USD.\n\nExample: If set to\n`BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will\nbe based on the probability that each available impression will be\nviewable. For example, if viewable CPM target is $2 and an impression is\n40% likely to be viewable, the bid price will be $0.80 CPM (40% of $2).\n\nFor example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal that the bidding strategy\nwill try to meet or beat.\n\nFor line item level usage, the value must be one of:\n\n* `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`\n* `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`\n* `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`.", + "enum": [ + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Cost per action.", + "Cost per click.", + "Viewable CPM.", + "Completed inview and audible views.", + "Inview time over 10 secs views.", + "Viewable impressions." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProximityLocationListAssignedTargetingOptionDetails": { + "description": "Targeting details for proximity location list. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.", + "id": "ProximityLocationListAssignedTargetingOptionDetails", + "properties": { + "proximityLocationListId": { + "description": "Required. ID of the proximity location list. Should refer to the\nlocation_list_id field of a\nLocationList resource whose type is\n`TARGETING_LOCATION_TYPE_PROXIMITY`.", + "format": "int64", + "type": "string" + }, + "proximityRadiusRange": { + "description": "Required. Radius range for proximity location list.\nThis represents the size of the area around a chosen location that will be\ntargeted.\n\n`All` proximity location targeting under a single line item must have the\nsame radius range value. Set this value to match any existing targeting.\nIf updated, this field will change the radius range for all proximity\ntargeting under the line item.", + "enum": [ + "PROXIMITY_RADIUS_RANGE_UNSPECIFIED", + "PROXIMITY_RADIUS_RANGE_SMALL", + "PROXIMITY_RADIUS_RANGE_MEDIUM", + "PROXIMITY_RADIUS_RANGE_LARGE" + ], + "enumDescriptions": [ + "The targeted radius range is not specified or is unknown.\nDefault value when radius range is not specified in this version.\nThis enum is a placeholder for default value and does not represent a real\nradius range option.", + "The targeted radius range is small.", + "The targeted radius range is medium.", + "The targeted radius range is large." + ], + "type": "string" + } + }, + "type": "object" + }, + "PublisherReviewStatus": { + "description": "Publisher review status for the creative.", + "id": "PublisherReviewStatus", + "properties": { + "publisherName": { + "description": "The publisher reviewing the creative.", + "type": "string" + }, + "status": { + "description": "Status of the publisher review.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + } + }, + "type": "object" + }, + "RateDetails": { + "description": "The rate related settings of the inventory source.", + "id": "RateDetails", + "properties": { + "inventorySourceRateType": { + "description": "The rate type.\n\nAcceptable values are `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`,\n`INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and\n`INVENTORY_SOURCE_RATE_TYPE_CPD`.", + "enum": [ + "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED", + "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED", + "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR", + "INVENTORY_SOURCE_RATE_TYPE_CPD", + "INVENTORY_SOURCE_RATE_TYPE_FLAT" + ], + "enumDescriptions": [ + "The rate type is not specified or is unknown in this version.", + "The rate type is CPM (Fixed).", + "The rate type is CPM (Floor).", + "The rate type is Cost per Day.", + "The rate type is Flat." + ], + "type": "string" + }, + "minimumSpend": { + "$ref": "Money", + "description": "Output only. The amount that the buyer has committed to spending on the inventory source\nup front.\n\nOnly applicable for guaranteed inventory sources." + }, + "rate": { + "$ref": "Money", + "description": "The rate for the inventory source." + }, + "unitsPurchased": { + "description": "Required for guaranteed inventory sources.\nThe number of impressions guaranteed by the seller.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RegionalLocationListAssignedTargetingOptionDetails": { + "description": "Targeting details for regional location list. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_REGIONAL_LOCATION_LIST`.", + "id": "RegionalLocationListAssignedTargetingOptionDetails", + "properties": { + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "regionalLocationListId": { + "description": "Required. ID of the regional location list. Should refer to the\nlocation_list_id field of a\nLocationList resource whose type is `TARGETING_LOCATION_TYPE_REGIONAL`.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ReviewStatusInfo": { + "description": "Review statuses for the creative.", + "id": "ReviewStatusInfo", + "properties": { + "approvalStatus": { + "description": "Represents the basic approval needed for a creative to begin serving.\nSummary of\ncreative_and_landing_page_review_status\nand\ncontent_and_policy_review_status.", + "enum": [ + "APPROVAL_STATUS_UNSPECIFIED", + "APPROVAL_STATUS_PENDING_NOT_SERVABLE", + "APPROVAL_STATUS_PENDING_SERVABLE", + "APPROVAL_STATUS_APPROVED_SERVABLE", + "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is still under review and not servable.", + "The creative has passed creative & landing page\nreview and is servable, but is awaiting additional\ncontent & policy review.", + "Both creative & landing page review and\ncontent & policy review are approved. The creative is servable.", + "There is an issue with the creative that must be fixed before it can serve." + ], + "type": "string" + }, + "contentAndPolicyReviewStatus": { + "description": "Content and policy review status for the creative.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + }, + "creativeAndLandingPageReviewStatus": { + "description": "Creative and landing page review status for the creative.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + }, + "exchangeReviewStatuses": { + "description": "Exchange review statuses for the creative.", + "items": { + "$ref": "ExchangeReviewStatus" + }, + "type": "array" + }, + "publisherReviewStatuses": { + "description": "Publisher review statuses for the creative.", + "items": { + "$ref": "PublisherReviewStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "SdfConfig": { + "description": "Structured Data File (SDF) related settings.", + "id": "SdfConfig", + "properties": { + "adminEmail": { + "description": "An administrator email address to which the SDF processing status reports\nwill be sent.", + "type": "string" + }, + "version": { + "description": "Required. The version of SDF being used.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2" + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2;" + ], + "type": "string" + } + }, + "type": "object" + }, + "SdfDownloadTask": { + "description": "Type for the response returned\nby [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "SdfDownloadTask", + "properties": { + "resourceName": { + "description": "A resource name to be used in\nmedia.download to Download the prepared\nfiles. Resource names have the format\n`download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made\navailable by the long running operation service once the task status is\ndone.", + "type": "string" + } + }, + "type": "object" + }, + "SdfDownloadTaskMetadata": { + "description": "Type for the metadata returned\nby [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "SdfDownloadTaskMetadata", + "properties": { + "createTime": { + "description": "The time when the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time when execution was completed.", + "format": "google-datetime", + "type": "string" + }, + "version": { + "description": "The SDF version used to execute this download task.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2" + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2;" + ], + "type": "string" + } + }, + "type": "object" + }, + "SensitiveCategoryAssignedTargetingOptionDetails": { + "description": "Targeting details for sensitive category. This will be populated in the\ndetails field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.", + "id": "SensitiveCategoryAssignedTargetingOptionDetails", + "properties": { + "excludedTargetingOptionId": { + "description": "Required. ID of the sensitive category to be EXCLUDED.", + "type": "string" + }, + "sensitiveCategory": { + "description": "Output only. An enum for the DV360 Sensitive category content classifier.", + "enum": [ + "SENSITIVE_CATEGORY_UNSPECIFIED", + "SENSITIVE_CATEGORY_ADULT", + "SENSITIVE_CATEGORY_DEROGATORY", + "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", + "SENSITIVE_CATEGORY_WEAPONS", + "SENSITIVE_CATEGORY_GAMBLING", + "SENSITIVE_CATEGORY_VIOLENCE", + "SENSITIVE_CATEGORY_SUGGESTIVE", + "SENSITIVE_CATEGORY_PROFANITY", + "SENSITIVE_CATEGORY_ALCOHOL", + "SENSITIVE_CATEGORY_DRUGS", + "SENSITIVE_CATEGORY_TOBACCO", + "SENSITIVE_CATEGORY_POLITICS", + "SENSITIVE_CATEGORY_RELIGION", + "SENSITIVE_CATEGORY_TRAGEDY", + "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", + "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", + "SENSITIVE_CATEGORY_SHOCKING" + ], + "enumDescriptions": [ + "This enum is only a placeholder and doesn't specify a DV360 sensitive\ncategory.", + "Adult or pornographic text, image, or video content.", + "Content that may be construed as biased against individuals, groups, or\norganizations based on criteria such as race, religion, disability, sex,\nage, veteran status, sexual orientation, gender identity, or political\naffiliation. May also indicate discussion of such content, for instance,\nin an academic or journalistic context.", + "Content related to audio, video, or software downloads.", + "Contains content related to personal weapons, including knives, guns,\nsmall firearms, and ammunition. Selecting either \"weapons\" or\n\"sensitive social issues\" will result in selecting both.", + "Contains content related to betting or wagering in a real-world or\nonline setting.", + "Content which may be considered graphically violent, gory, gruesome, or\nshocking, such as street fighting videos, accident photos, descriptions\nof torture, etc.", + "Adult content, as well as suggestive content that's not explicitly\npornographic. This category includes all pages categorized as adult.", + "Prominent use of words considered indecent, such as curse words and\nsexual slang. Pages with only very occasional usage, such as news sites\nthat might include such words in a quotation, are not included.", + "Contains content related to alcoholic beverages, alcohol brands,\nrecipes, etc.", + "Contains content related to the recreational use of legal or illegal\ndrugs, as well as to drug paraphernalia or cultivation.", + "Contains content related to tobacco and tobacco accessories, including\nlighters, humidors, ashtrays, etc.", + "Political news and media, including discussions of social, governmental,\nand public policy.", + "Content related to religious thought or beliefs.", + "Content related to death, disasters, accidents, war, etc.", + "Content related to motor vehicle, aviation or other transportation\naccidents.", + "Issues that evoke strong, opposing views and spark debate. These include\nissues that are controversial in most countries and markets (such as\nabortion), as well as those that are controversial in specific countries\nand markets (such as immigration reform in the United States).", + "Content which may be considered shocking or disturbing, such as violent\nnews stories, stunts, or toilet humor." + ], + "type": "string" + } + }, + "type": "object" + }, + "SensitiveCategoryTargetingOptionDetails": { + "description": "Represents a targetable sensitive category. This will be\npopulated in the\nsensitive_category_details\nfield of the TargetingOption when\ntargeting_type is\n`TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.", + "id": "SensitiveCategoryTargetingOptionDetails", + "properties": { + "sensitiveCategory": { + "description": "Output only. An enum for the DV360 Sensitive category content classifier.", + "enum": [ + "SENSITIVE_CATEGORY_UNSPECIFIED", + "SENSITIVE_CATEGORY_ADULT", + "SENSITIVE_CATEGORY_DEROGATORY", + "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", + "SENSITIVE_CATEGORY_WEAPONS", + "SENSITIVE_CATEGORY_GAMBLING", + "SENSITIVE_CATEGORY_VIOLENCE", + "SENSITIVE_CATEGORY_SUGGESTIVE", + "SENSITIVE_CATEGORY_PROFANITY", + "SENSITIVE_CATEGORY_ALCOHOL", + "SENSITIVE_CATEGORY_DRUGS", + "SENSITIVE_CATEGORY_TOBACCO", + "SENSITIVE_CATEGORY_POLITICS", + "SENSITIVE_CATEGORY_RELIGION", + "SENSITIVE_CATEGORY_TRAGEDY", + "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", + "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", + "SENSITIVE_CATEGORY_SHOCKING" + ], + "enumDescriptions": [ + "This enum is only a placeholder and doesn't specify a DV360 sensitive\ncategory.", + "Adult or pornographic text, image, or video content.", + "Content that may be construed as biased against individuals, groups, or\norganizations based on criteria such as race, religion, disability, sex,\nage, veteran status, sexual orientation, gender identity, or political\naffiliation. May also indicate discussion of such content, for instance,\nin an academic or journalistic context.", + "Content related to audio, video, or software downloads.", + "Contains content related to personal weapons, including knives, guns,\nsmall firearms, and ammunition. Selecting either \"weapons\" or\n\"sensitive social issues\" will result in selecting both.", + "Contains content related to betting or wagering in a real-world or\nonline setting.", + "Content which may be considered graphically violent, gory, gruesome, or\nshocking, such as street fighting videos, accident photos, descriptions\nof torture, etc.", + "Adult content, as well as suggestive content that's not explicitly\npornographic. This category includes all pages categorized as adult.", + "Prominent use of words considered indecent, such as curse words and\nsexual slang. Pages with only very occasional usage, such as news sites\nthat might include such words in a quotation, are not included.", + "Contains content related to alcoholic beverages, alcohol brands,\nrecipes, etc.", + "Contains content related to the recreational use of legal or illegal\ndrugs, as well as to drug paraphernalia or cultivation.", + "Contains content related to tobacco and tobacco accessories, including\nlighters, humidors, ashtrays, etc.", + "Political news and media, including discussions of social, governmental,\nand public policy.", + "Content related to religious thought or beliefs.", + "Content related to death, disasters, accidents, war, etc.", + "Content related to motor vehicle, aviation or other transportation\naccidents.", + "Issues that evoke strong, opposing views and spark debate. These include\nissues that are controversial in most countries and markets (such as\nabortion), as well as those that are controversial in specific countries\nand markets (such as immigration reform in the United States).", + "Content which may be considered shocking or disturbing, such as violent\nnews stories, stunts, or toilet humor." + ], + "type": "string" + } + }, + "type": "object" + }, + "Site": { + "description": "A single site. Sites are apps or websites belonging to a channel.", + "id": "Site", + "properties": { + "name": { + "description": "Output only. The resource name of the site.", + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site.\nMust be UTF-8 encoded with a maximum length of 240 bytes.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "SubExchangeAssignedTargetingOptionDetails": { + "description": "Details for assigned sub-exchange targeting option. This will be populated in\nthe details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_SUB_EXCHANGE`.", + "id": "SubExchangeAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`.", + "type": "string" + } + }, + "type": "object" + }, + "SubExchangeTargetingOptionDetails": { + "description": "Represents a targetable sub-exchange. This will be populated in the\nsub_exchange_details field\nof a TargetingOption when\ntargeting_type is\n`TARGETING_TYPE_SUB_EXCHANGE`.", + "id": "SubExchangeTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the sub-exchange.", + "type": "string" + } + }, + "type": "object" + }, + "TargetingOption": { + "description": "Represents a single targeting option, which is a targetable concept in\nDV360.", + "id": "TargetingOption", + "properties": { + "ageRangeDetails": { + "$ref": "AgeRangeTargetingOptionDetails", + "description": "Age range details." + }, + "appCategoryDetails": { + "$ref": "AppCategoryTargetingOptionDetails", + "description": "App category details." + }, + "authorizedSellerStatusDetails": { + "$ref": "AuthorizedSellerStatusTargetingOptionDetails", + "description": "Authorized seller status resource details." + }, + "browserDetails": { + "$ref": "BrowserTargetingOptionDetails", + "description": "Browser details." + }, + "carrierAndIspDetails": { + "$ref": "CarrierAndIspTargetingOptionDetails", + "description": "Carrier and ISP details." + }, + "categoryDetails": { + "$ref": "CategoryTargetingOptionDetails", + "description": "Category resource details." + }, + "contentInstreamPositionDetails": { + "$ref": "ContentInstreamPositionTargetingOptionDetails", + "description": "Content instream position details." + }, + "contentOutstreamPositionDetails": { + "$ref": "ContentOutstreamPositionTargetingOptionDetails", + "description": "Content outstream position details." + }, + "deviceMakeModelDetails": { + "$ref": "DeviceMakeModelTargetingOptionDetails", + "description": "Device make and model resource details." + }, + "deviceTypeDetails": { + "$ref": "DeviceTypeTargetingOptionDetails", + "description": "Device type details." + }, + "digitalContentLabelDetails": { + "$ref": "DigitalContentLabelTargetingOptionDetails", + "description": "Digital content label details." + }, + "environmentDetails": { + "$ref": "EnvironmentTargetingOptionDetails", + "description": "Environment details." + }, + "exchangeDetails": { + "$ref": "ExchangeTargetingOptionDetails", + "description": "Exchange details." + }, + "genderDetails": { + "$ref": "GenderTargetingOptionDetails", + "description": "Gender details." + }, + "geoRegionDetails": { + "$ref": "GeoRegionTargetingOptionDetails", + "description": "Geographic region resource details." + }, + "householdIncomeDetails": { + "$ref": "HouseholdIncomeTargetingOptionDetails", + "description": "Household income details." + }, + "languageDetails": { + "$ref": "LanguageTargetingOptionDetails", + "description": "Language resource details." + }, + "name": { + "description": "Output only. The resource name for this targeting option.", + "type": "string" + }, + "onScreenPositionDetails": { + "$ref": "OnScreenPositionTargetingOptionDetails", + "description": "On screen position details." + }, + "operatingSystemDetails": { + "$ref": "OperatingSystemTargetingOptionDetails", + "description": "Operating system resources details." + }, + "parentalStatusDetails": { + "$ref": "ParentalStatusTargetingOptionDetails", + "description": "Parental status details." + }, + "sensitiveCategoryDetails": { + "$ref": "SensitiveCategoryTargetingOptionDetails", + "description": "Sensitive Category details." + }, + "subExchangeDetails": { + "$ref": "SubExchangeTargetingOptionDetails", + "description": "Sub-exchange details." + }, + "targetingOptionId": { + "description": "Output only. A unique identifier for this targeting option. The tuple\n{`targeting_type`, `targeting_option_id`} will be unique.", + "type": "string" + }, + "targetingType": { + "description": "Output only. The type of this targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location\nlist.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a\nparent).", + "Target video or audio ads in a specific content instream position (for\nexample, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences.\nSingleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or\nDoubleVerify).", + "Filter web sites by specific digital content label ratings (for example,\nDL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider\n(ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or\nSamsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts &\nentertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges." + ], + "type": "string" + }, + "userRewardedContentDetails": { + "$ref": "UserRewardedContentTargetingOptionDetails", + "description": "User rewarded content details." + }, + "videoPlayerSizeDetails": { + "$ref": "VideoPlayerSizeTargetingOptionDetails", + "description": "Video player size details." + }, + "viewabilityDetails": { + "$ref": "ViewabilityTargetingOptionDetails", + "description": "Viewability resource details." + } + }, + "type": "object" + }, + "ThirdPartyOnlyConfig": { + "description": "Settings for advertisers that use third-party ad servers only.", + "id": "ThirdPartyOnlyConfig", + "properties": { + "pixelOrderIdReportingEnabled": { + "description": "Whether or not order ID reporting for pixels is enabled.\nThis value cannot be changed once set to `true`.", + "type": "boolean" + } + }, + "type": "object" + }, + "ThirdPartyUrl": { + "description": "Tracking URLs from third parties to track interactions with an audio or a\nvideo creative.", + "id": "ThirdPartyUrl", + "properties": { + "type": { + "description": "The type of interaction needs to be tracked by the tracking URL", + "enum": [ + "THIRD_PARTY_URL_TYPE_UNSPECIFIED", + "THIRD_PARTY_URL_TYPE_IMPRESSION", + "THIRD_PARTY_URL_TYPE_CLICK_TRACKING", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" + ], + "enumDescriptions": [ + "The type of third-party URL is unspecified or is unknown in this version.", + "Used to count impressions of the creative after the audio or video\nbuffering is complete.", + "Used to track user clicks on the audio or video.", + "Used to track the number of times a user starts the audio or video.", + "Used to track the number of times the audio or video plays to 25% of its\nlength.", + "Used to track the number of times the audio or video plays to 50% of its\nlength.", + "Used to track the number of times the audio or video plays to 75% of its\nlength.", + "Used to track the number of times the audio or video plays to the end.", + "Used to track the number of times a user mutes the audio or video.", + "Used to track the number of times a user pauses the audio or video.", + "Used to track the number of times a user replays the audio or video.", + "Used to track the number of times a user expands the player to\nfull-screen size.", + "Used to track the number of times a user stops the audio or video.", + "Used to track the number of times a user performs a custom click,\nsuch as clicking on a video hot spot.", + "Used to track the number of times the audio or video was skipped.", + "Used to track the number of times the audio or video plays to an offset\ndetermined by the progress_offset." + ], + "type": "string" + }, + "url": { + "description": "Tracking URL used to track the interaction.\n\nProvide a URL with optional path or query string, beginning with `https:`.\nFor example, https://www.example.com/path", + "type": "string" + } + }, + "type": "object" + }, + "ThirdPartyVerifierAssignedTargetingOptionDetails": { + "description": "Assigned third party verifier targeting option details. This will be\npopulated in the details field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_THIRD_PARTY_VERIFIER`.", + "id": "ThirdPartyVerifierAssignedTargetingOptionDetails", + "properties": { + "adloox": { + "$ref": "Adloox", + "description": "Third party brand verifier -- Adloox." + }, + "doubleVerify": { + "$ref": "DoubleVerify", + "description": "Third party brand verifier -- DoubleVerify." + }, + "integralAdScience": { + "$ref": "IntegralAdScience", + "description": "Third party brand verifier -- Integral Ad Science." + } + }, + "type": "object" + }, + "TimeRange": { + "description": "A time range.", + "id": "TimeRange", + "properties": { + "endTime": { + "description": "Required. The upper bound of a time range, inclusive.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Required. The lower bound of a time range, inclusive.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "TimerEvent": { + "description": "Timer event of the creative.", + "id": "TimerEvent", + "properties": { + "name": { + "description": "Required. The name of the timer event.", + "type": "string" + }, + "reportingName": { + "description": "Required. The name used to identify this timer event in reports.", + "type": "string" + } + }, + "type": "object" + }, + "TrackingFloodlightActivityConfig": { + "description": "Settings that control the behavior of a single Floodlight activity config.", + "id": "TrackingFloodlightActivityConfig", + "properties": { + "floodlightActivityId": { + "description": "Required. The ID of the Floodlight activity.", + "format": "int64", + "type": "string" + }, + "postClickLookbackWindowDays": { + "description": "Required. The number of days after an ad has been clicked in which a\nconversion may be counted.\nMust be between 0 and 90 inclusive.", + "format": "int32", + "type": "integer" + }, + "postViewLookbackWindowDays": { + "description": "Required. The number of days after an ad has been viewed in which a\nconversion may be counted.\nMust be between 0 and 90 inclusive.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Transcode": { + "description": "Represents information about the transcoded audio or video file.", + "id": "Transcode", + "properties": { + "audioBitRateKbps": { + "description": "The bit rate for the audio stream of the transcoded video, or the bit rate\nfor the transcoded audio, in kilobits per second.", + "format": "int64", + "type": "string" + }, + "audioSampleRateHz": { + "description": "The sample rate for the audio stream of the transcoded video, or the sample\nrate for the transcoded audio, in hertz.", + "format": "int64", + "type": "string" + }, + "bitRateKbps": { + "description": "The transcoding bit rate of the transcoded video, in kilobits per second.", + "format": "int64", + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "The dimensions of the transcoded video." + }, + "fileSizeBytes": { + "description": "The size of the transcoded file, in bytes.", + "format": "int64", + "type": "string" + }, + "frameRate": { + "description": "The frame rate of the transcoded video, in frames per second.", + "format": "float", + "type": "number" + }, + "mimeType": { + "description": "The MIME type of the transcoded file.", + "type": "string" + }, + "name": { + "description": "The name of the transcoded file.", + "type": "string" + }, + "transcoded": { + "description": "Indicates if the transcoding was successful.", + "type": "boolean" + } + }, + "type": "object" + }, + "UniversalAdId": { + "description": "A creative identifier provided by a registry that is unique across all\nplatforms. This is part of the VAST 4.0 standard.", + "id": "UniversalAdId", + "properties": { + "id": { + "description": "The unique creative identifier.", + "type": "string" + }, + "registry": { + "description": "The registry provides unique creative identifiers.", + "enum": [ + "UNIVERSAL_AD_REGISTRY_UNSPECIFIED", + "UNIVERSAL_AD_REGISTRY_OTHER", + "UNIVERSAL_AD_REGISTRY_AD_ID", + "UNIVERSAL_AD_REGISTRY_CLEARCAST", + "UNIVERSAL_AD_REGISTRY_DV360", + "UNIVERSAL_AD_REGISTRY_CM" + ], + "enumDescriptions": [ + "The Universal Ad registry is unspecified or is unknown in this version.", + "Use a custom provider to provide the Universal Ad ID.", + "Use Ad-ID to provide the Universal Ad ID.", + "Use clearcast.co.uk to provide the Universal Ad ID.", + "Use Display & Video 360 to provide the Universal Ad ID.", + "Use Campaign Manager to provide the Universal Ad ID." + ], + "type": "string" + } + }, + "type": "object" + }, + "UrlAssignedTargetingOptionDetails": { + "description": "Details for assigned URL targeting option. This will be populated in the\ndetails field of an AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_URL`.", + "id": "UrlAssignedTargetingOptionDetails", + "properties": { + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "url": { + "description": "Required. The URL, for example `example.com`.\n\nDV360 supports two levels of subdirectory targeting, for example\n`www.example.com/one-subdirectory-level/second-level`, and five levels of\nsubdomain targeting, for example `five.four.three.two.one.example.com`.", + "type": "string" + } + }, + "type": "object" + }, + "UserRewardedContentAssignedTargetingOptionDetails": { + "description": "User rewarded content targeting option details. This will be populated in\nthe\nuser_rewarded_content_details\nfield when\ntargeting_type is\n`TARGETING_TYPE_USER_REWARDED_CONTENT`.", + "id": "UserRewardedContentAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_USER_REWARDED_CONTENT`.", + "type": "string" + }, + "userRewardedContent": { + "description": "Output only. User rewarded content status for video ads.", + "enum": [ + "USER_REWARDED_CONTENT_UNSPECIFIED", + "USER_REWARDED_CONTENT_USER_REWARDED", + "USER_REWARDED_CONTENT_NOT_USER_REWARDED" + ], + "enumDescriptions": [ + "User rewarded content is not specified or is unknown in this version.", + "Represents ads where the user will see a reward after viewing.", + "Represents all other ads besides user-rewarded." + ], + "type": "string" + } + }, + "type": "object" + }, + "UserRewardedContentTargetingOptionDetails": { + "description": "Represents a targetable user rewarded content status for video ads only. This\nwill be populated in the\nuser_rewarded_content_details\nfield when\ntargeting_type is\n`TARGETING_TYPE_USER_REWARDED_CONTENT`.", + "id": "UserRewardedContentTargetingOptionDetails", + "properties": { + "userRewardedContent": { + "description": "Output only. User rewarded content status for video ads.", + "enum": [ + "USER_REWARDED_CONTENT_UNSPECIFIED", + "USER_REWARDED_CONTENT_USER_REWARDED", + "USER_REWARDED_CONTENT_NOT_USER_REWARDED" + ], + "enumDescriptions": [ + "User rewarded content is not specified or is unknown in this version.", + "Represents ads where the user will see a reward after viewing.", + "Represents all other ads besides user-rewarded." + ], + "type": "string" + } + }, + "type": "object" + }, + "VideoPlayerSizeAssignedTargetingOptionDetails": { + "description": "Video player size targeting option details. This will be populated in the\nvideo_player_size_details\nfield when targeting_type is\n`TARGETING_TYPE_VIDEO_PLAYER_SIZE`.\nExplicitly targeting all options is not supported. Remove all video player\nsize targeting options to achieve this effect.", + "id": "VideoPlayerSizeAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id field when\ntargeting_type is\n`TARGETING_TYPE_VIDEO_PLAYER_SIZE`.", + "type": "string" + }, + "videoPlayerSize": { + "description": "Output only. The video player size.", + "enum": [ + "VIDEO_PLAYER_SIZE_UNSPECIFIED", + "VIDEO_PLAYER_SIZE_SMALL", + "VIDEO_PLAYER_SIZE_LARGE", + "VIDEO_PLAYER_SIZE_HD", + "VIDEO_PLAYER_SIZE_UNKNOWN" + ], + "enumDescriptions": [ + "Video player size is not specified in this version. This enum is a place\nholder for a default value and does not represent a real video player size.", + "The dimensions of the video player are less than 400\u00d7300 (desktop), or up\nto 20% of screen covered (mobile).", + "The dimensions of the video player are between 400x300 and 1280x720 pixels\n(desktop), or 20% to 90% of the screen covered (mobile).", + "The dimensions of the video player are 1280\u00d7720 or greater (desktop), or\nover 90% of the screen covered (mobile).", + "The dimensions of the video player are unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "VideoPlayerSizeTargetingOptionDetails": { + "description": "Represents a targetable video player size. This will be populated in the\nvideo_player_size_details\nfield when targeting_type is\n`TARGETING_TYPE_VIDEO_PLAYER_SIZE`.", + "id": "VideoPlayerSizeTargetingOptionDetails", + "properties": { + "videoPlayerSize": { + "description": "Output only. The video player size.", + "enum": [ + "VIDEO_PLAYER_SIZE_UNSPECIFIED", + "VIDEO_PLAYER_SIZE_SMALL", + "VIDEO_PLAYER_SIZE_LARGE", + "VIDEO_PLAYER_SIZE_HD", + "VIDEO_PLAYER_SIZE_UNKNOWN" + ], + "enumDescriptions": [ + "Video player size is not specified in this version. This enum is a place\nholder for a default value and does not represent a real video player size.", + "The dimensions of the video player are less than 400\u00d7300 (desktop), or up\nto 20% of screen covered (mobile).", + "The dimensions of the video player are between 400x300 and 1280x720 pixels\n(desktop), or 20% to 90% of the screen covered (mobile).", + "The dimensions of the video player are 1280\u00d7720 or greater (desktop), or\nover 90% of the screen covered (mobile).", + "The dimensions of the video player are unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "ViewabilityAssignedTargetingOptionDetails": { + "description": "Assigned viewability targeting option details. This will be populated in the\nviewability_details field of\nan AssignedTargetingOption when\ntargeting_type is\n`TARGETING_TYPE_VIEWABILITY`.", + "id": "ViewabilityAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id of a\nTargetingOption of type `TARGETING_TYPE_VIEWABILITY` (e.g., \"509010\"\nfor targeting the `VIEWABILITY_10_PERCENT_OR_MORE` option).", + "type": "string" + }, + "viewability": { + "description": "Output only. The predicted viewability percentage.", + "enum": [ + "VIEWABILITY_UNSPECIFIED", + "VIEWABILITY_10_PERCENT_OR_MORE", + "VIEWABILITY_20_PERCENT_OR_MORE", + "VIEWABILITY_30_PERCENT_OR_MORE", + "VIEWABILITY_40_PERCENT_OR_MORE", + "VIEWABILITY_50_PERCENT_OR_MORE", + "VIEWABILITY_60_PERCENT_OR_MORE", + "VIEWABILITY_70_PERCENT_OR_MORE", + "VIEWABILITY_80_PERCENT_OR_MORE", + "VIEWABILITY_90_PERCENT_OR_MORE" + ], + "enumDescriptions": [ + "Default value when viewability is not specified in this version. This enum\nis a placeholder for default value and does not represent a real\nviewability option.", + "Bid only on impressions that are at least 10% likely to be viewable.", + "Bid only on impressions that are at least 20% likely to be viewable.", + "Bid only on impressions that are at least 30% likely to be viewable.", + "Bid only on impressions that are at least 40% likely to be viewable.", + "Bid only on impressions that are at least 50% likely to be viewable.", + "Bid only on impressions that are at least 60% likely to be viewable.", + "Bid only on impressions that are at least 70% likely to be viewable.", + "Bid only on impressions that are at least 80% likely to be viewable.", + "Bid only on impressions that are at least 90% likely to be viewable." + ], + "type": "string" + } + }, + "type": "object" + }, + "ViewabilityTargetingOptionDetails": { + "description": "Represents a targetable viewability. This will be populated in the\nviewability_details field of a\nTargetingOption when targeting_type is\n`TARGETING_TYPE_VIEWABILITY`.", + "id": "ViewabilityTargetingOptionDetails", + "properties": { + "viewability": { + "description": "Output only. The predicted viewability percentage.", + "enum": [ + "VIEWABILITY_UNSPECIFIED", + "VIEWABILITY_10_PERCENT_OR_MORE", + "VIEWABILITY_20_PERCENT_OR_MORE", + "VIEWABILITY_30_PERCENT_OR_MORE", + "VIEWABILITY_40_PERCENT_OR_MORE", + "VIEWABILITY_50_PERCENT_OR_MORE", + "VIEWABILITY_60_PERCENT_OR_MORE", + "VIEWABILITY_70_PERCENT_OR_MORE", + "VIEWABILITY_80_PERCENT_OR_MORE", + "VIEWABILITY_90_PERCENT_OR_MORE" + ], + "enumDescriptions": [ + "Default value when viewability is not specified in this version. This enum\nis a placeholder for default value and does not represent a real\nviewability option.", + "Bid only on impressions that are at least 10% likely to be viewable.", + "Bid only on impressions that are at least 20% likely to be viewable.", + "Bid only on impressions that are at least 30% likely to be viewable.", + "Bid only on impressions that are at least 40% likely to be viewable.", + "Bid only on impressions that are at least 50% likely to be viewable.", + "Bid only on impressions that are at least 60% likely to be viewable.", + "Bid only on impressions that are at least 70% likely to be viewable.", + "Bid only on impressions that are at least 80% likely to be viewable.", + "Bid only on impressions that are at least 90% likely to be viewable." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Display & Video 360 API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/dlp/v2/dlp-api.json b/etc/api/dlp/v2/dlp-api.json index 695f76edd0..6499047ab5 100644 --- a/etc/api/dlp/v2/dlp-api.json +++ b/etc/api/dlp/v2/dlp-api.json @@ -125,7 +125,12 @@ "type": "string" }, "locationId": { - "description": "The geographic location to list info types. Reserved for future\nextensions.", + "description": "Deprecated. This field has no effect.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The parent resource name.\n- Format:locations/[LOCATION-ID]", "location": "query", "type": "string" } @@ -146,11 +151,11 @@ "methods": { "list": { "description": "Returns a list of the sensitive information types that the DLP API\nsupports. See https://cloud.google.com/dlp/docs/infotypes-reference to\nlearn more.", - "flatPath": "v2/locations/{locationId}/infoTypes", + "flatPath": "v2/locations/{locationsId}/infoTypes", "httpMethod": "GET", "id": "dlp.locations.infoTypes.list", "parameterOrder": [ - "locationId" + "parent" ], "parameters": { "filter": { @@ -164,13 +169,19 @@ "type": "string" }, "locationId": { - "description": "The geographic location to list info types. Reserved for future\nextensions.", + "description": "Deprecated. This field has no effect.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The parent resource name.\n- Format:locations/[LOCATION-ID]", "location": "path", + "pattern": "^locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/locations/{locationId}/infoTypes", + "path": "v2/{+parent}/infoTypes", "response": { "$ref": "GooglePrivacyDlpV2ListInfoTypesResponse" }, @@ -196,7 +207,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -274,7 +285,7 @@ ], "parameters": { "locationId": { - "description": "The geographic location where deidentifications templates will be retrieved\nfrom. Use `-` for all locations. Reserved for future extensions.", + "description": "Deprecated. This field has no effect.", "location": "query", "type": "string" }, @@ -295,7 +306,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -352,7 +363,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -430,7 +441,7 @@ ], "parameters": { "locationId": { - "description": "The geographic location where inspection templates will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", + "description": "Deprecated. This field has no effect.", "location": "query", "type": "string" }, @@ -451,7 +462,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -502,29 +513,22 @@ "methods": { "create": { "description": "Creates a DeidentifyTemplate for re-using frequently used configuration\nfor de-identifying content, images, and storage.\nSee https://cloud.google.com/dlp/docs/creating-templates-deid to learn\nmore.", - "flatPath": "v2/organizations/{organizationsId}/locations/{locationId}/deidentifyTemplates", + "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/deidentifyTemplates", "httpMethod": "POST", "id": "dlp.organizations.locations.deidentifyTemplates.create", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to store the deidentification template. Reserved\nfor future extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^organizations/[^/]+$", + "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/deidentifyTemplates", + "path": "v2/{+parent}/deidentifyTemplates", "request": { "$ref": "GooglePrivacyDlpV2CreateDeidentifyTemplateRequest" }, @@ -587,18 +591,16 @@ }, "list": { "description": "Lists DeidentifyTemplates.\nSee https://cloud.google.com/dlp/docs/creating-templates-deid to learn\nmore.", - "flatPath": "v2/organizations/{organizationsId}/locations/{locationId}/deidentifyTemplates", + "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/deidentifyTemplates", "httpMethod": "GET", "id": "dlp.organizations.locations.deidentifyTemplates.list", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { "locationId": { - "description": "The geographic location where deidentifications templates will be retrieved\nfrom. Use `-` for all locations. Reserved for future extensions.", - "location": "path", - "required": true, + "description": "Deprecated. This field has no effect.", + "location": "query", "type": "string" }, "orderBy": { @@ -618,14 +620,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^organizations/[^/]+$", + "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/deidentifyTemplates", + "path": "v2/{+parent}/deidentifyTemplates", "response": { "$ref": "GooglePrivacyDlpV2ListDeidentifyTemplatesResponse" }, @@ -667,29 +669,22 @@ "methods": { "create": { "description": "Creates an InspectTemplate for re-using frequently used configuration\nfor inspecting content, images, and storage.\nSee https://cloud.google.com/dlp/docs/creating-templates to learn more.", - "flatPath": "v2/organizations/{organizationsId}/locations/{locationId}/inspectTemplates", + "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/inspectTemplates", "httpMethod": "POST", "id": "dlp.organizations.locations.inspectTemplates.create", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to store the inspection template. Reserved for\nfuture extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^organizations/[^/]+$", + "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/inspectTemplates", + "path": "v2/{+parent}/inspectTemplates", "request": { "$ref": "GooglePrivacyDlpV2CreateInspectTemplateRequest" }, @@ -752,18 +747,16 @@ }, "list": { "description": "Lists InspectTemplates.\nSee https://cloud.google.com/dlp/docs/creating-templates to learn more.", - "flatPath": "v2/organizations/{organizationsId}/locations/{locationId}/inspectTemplates", + "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/inspectTemplates", "httpMethod": "GET", "id": "dlp.organizations.locations.inspectTemplates.list", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { "locationId": { - "description": "The geographic location where inspection templates will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", - "location": "path", - "required": true, + "description": "Deprecated. This field has no effect.", + "location": "query", "type": "string" }, "orderBy": { @@ -783,14 +776,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^organizations/[^/]+$", + "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/inspectTemplates", + "path": "v2/{+parent}/inspectTemplates", "response": { "$ref": "GooglePrivacyDlpV2ListInspectTemplatesResponse" }, @@ -832,29 +825,22 @@ "methods": { "create": { "description": "Creates a pre-built stored infoType to be used for inspection.\nSee https://cloud.google.com/dlp/docs/creating-stored-infotypes to\nlearn more.", - "flatPath": "v2/organizations/{organizationsId}/locations/{locationId}/storedInfoTypes", + "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/storedInfoTypes", "httpMethod": "POST", "id": "dlp.organizations.locations.storedInfoTypes.create", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to store the stored infoType. Reserved for\nfuture extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^organizations/[^/]+$", + "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/storedInfoTypes", + "path": "v2/{+parent}/storedInfoTypes", "request": { "$ref": "GooglePrivacyDlpV2CreateStoredInfoTypeRequest" }, @@ -917,18 +903,16 @@ }, "list": { "description": "Lists stored infoTypes.\nSee https://cloud.google.com/dlp/docs/creating-stored-infotypes to\nlearn more.", - "flatPath": "v2/organizations/{organizationsId}/locations/{locationId}/storedInfoTypes", + "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/storedInfoTypes", "httpMethod": "GET", "id": "dlp.organizations.locations.storedInfoTypes.list", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { "locationId": { - "description": "The geographic location where stored infoTypes will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", - "location": "path", - "required": true, + "description": "Deprecated. This field has no effect.", + "location": "query", "type": "string" }, "orderBy": { @@ -948,14 +932,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^organizations/[^/]+$", + "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/storedInfoTypes", + "path": "v2/{+parent}/storedInfoTypes", "response": { "$ref": "GooglePrivacyDlpV2ListStoredInfoTypesResponse" }, @@ -1007,7 +991,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -1085,7 +1069,7 @@ ], "parameters": { "locationId": { - "description": "The geographic location where stored infoTypes will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", + "description": "Deprecated. This field has no effect.", "location": "query", "type": "string" }, @@ -1106,7 +1090,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -1167,7 +1151,7 @@ ], "parameters": { "parent": { - "description": "The parent resource name, for example projects/my-project-id.", + "description": "Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1195,7 +1179,7 @@ ], "parameters": { "parent": { - "description": "The parent resource name, for example projects/my-project-id.", + "description": "Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1223,7 +1207,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name.", + "description": "Required. The parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1255,7 +1239,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1333,7 +1317,7 @@ ], "parameters": { "locationId": { - "description": "The geographic location where deidentifications templates will be retrieved\nfrom. Use `-` for all locations. Reserved for future extensions.", + "description": "Deprecated. This field has no effect.", "location": "query", "type": "string" }, @@ -1354,7 +1338,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1439,7 +1423,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1522,7 +1506,7 @@ "type": "string" }, "locationId": { - "description": "The geographic location where jobs will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", + "description": "Deprecated. This field has no effect.", "location": "query", "type": "string" }, @@ -1543,7 +1527,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1582,7 +1566,7 @@ ], "parameters": { "parent": { - "description": "The parent resource name, for example projects/my-project-id.", + "description": "The parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1614,7 +1598,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1692,7 +1676,7 @@ ], "parameters": { "locationId": { - "description": "The geographic location where inspection templates will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", + "description": "Deprecated. This field has no effect.", "location": "query", "type": "string" }, @@ -1713,7 +1697,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1798,7 +1782,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1881,7 +1865,7 @@ "type": "string" }, "locationId": { - "description": "The geographic location where job triggers will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", + "description": "Deprecated. This field has no effect.", "location": "query", "type": "string" }, @@ -1902,7 +1886,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example `projects/my-project-id`.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1953,29 +1937,22 @@ "methods": { "deidentify": { "description": "De-identifies potentially sensitive info from a ContentItem.\nThis method has limits on input size and output size.\nSee https://cloud.google.com/dlp/docs/deidentify-sensitive-data to\nlearn more.\n\nWhen no InfoTypes or CustomInfoTypes are specified in this request, the\nsystem will automatically choose what detectors to run. By default this may\nbe all types, but may change over time as detectors are updated.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/content:deidentify", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/content:deidentify", "httpMethod": "POST", "id": "dlp.projects.locations.content.deidentify", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to process de-identification. Reserved for future\nextensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "The parent resource name, for example projects/my-project-id.", + "description": "Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/content:deidentify", + "path": "v2/{+parent}/content:deidentify", "request": { "$ref": "GooglePrivacyDlpV2DeidentifyContentRequest" }, @@ -1988,29 +1965,22 @@ }, "inspect": { "description": "Finds potentially sensitive info in content.\nThis method has limits on input size, processing time, and output size.\n\nWhen no InfoTypes or CustomInfoTypes are specified in this request, the\nsystem will automatically choose what detectors to run. By default this may\nbe all types, but may change over time as detectors are updated.\n\nFor how to guides, see https://cloud.google.com/dlp/docs/inspecting-images\nand https://cloud.google.com/dlp/docs/inspecting-text,", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/content:inspect", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/content:inspect", "httpMethod": "POST", "id": "dlp.projects.locations.content.inspect", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to process content inspection. Reserved for future\nextensions.\nWhen inspecting images location is restricted to 'global', 'us', 'asia',\nand 'europe'.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "The parent resource name, for example projects/my-project-id.", + "description": "Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/content:inspect", + "path": "v2/{+parent}/content:inspect", "request": { "$ref": "GooglePrivacyDlpV2InspectContentRequest" }, @@ -2023,29 +1993,22 @@ }, "reidentify": { "description": "Re-identifies content that has been de-identified.\nSee\nhttps://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example\nto learn more.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/content:reidentify", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/content:reidentify", "httpMethod": "POST", "id": "dlp.projects.locations.content.reidentify", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to process content reidentification. Reserved for\nfuture extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name.", + "description": "Required. The parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/content:reidentify", + "path": "v2/{+parent}/content:reidentify", "request": { "$ref": "GooglePrivacyDlpV2ReidentifyContentRequest" }, @@ -2062,29 +2025,22 @@ "methods": { "create": { "description": "Creates a DeidentifyTemplate for re-using frequently used configuration\nfor de-identifying content, images, and storage.\nSee https://cloud.google.com/dlp/docs/creating-templates-deid to learn\nmore.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/deidentifyTemplates", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/deidentifyTemplates", "httpMethod": "POST", "id": "dlp.projects.locations.deidentifyTemplates.create", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to store the deidentification template. Reserved\nfor future extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/deidentifyTemplates", + "path": "v2/{+parent}/deidentifyTemplates", "request": { "$ref": "GooglePrivacyDlpV2CreateDeidentifyTemplateRequest" }, @@ -2147,18 +2103,16 @@ }, "list": { "description": "Lists DeidentifyTemplates.\nSee https://cloud.google.com/dlp/docs/creating-templates-deid to learn\nmore.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/deidentifyTemplates", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/deidentifyTemplates", "httpMethod": "GET", "id": "dlp.projects.locations.deidentifyTemplates.list", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { "locationId": { - "description": "The geographic location where deidentifications templates will be retrieved\nfrom. Use `-` for all locations. Reserved for future extensions.", - "location": "path", - "required": true, + "description": "Deprecated. This field has no effect.", + "location": "query", "type": "string" }, "orderBy": { @@ -2178,14 +2132,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/deidentifyTemplates", + "path": "v2/{+parent}/deidentifyTemplates", "response": { "$ref": "GooglePrivacyDlpV2ListDeidentifyTemplatesResponse" }, @@ -2255,29 +2209,22 @@ }, "create": { "description": "Creates a new job to inspect storage or calculate risk metrics.\nSee https://cloud.google.com/dlp/docs/inspecting-storage and\nhttps://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.\n\nWhen no InfoTypes or CustomInfoTypes are specified in inspect jobs, the\nsystem will automatically choose what detectors to run. By default this may\nbe all types, but may change over time as detectors are updated.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/dlpJobs", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/dlpJobs", "httpMethod": "POST", "id": "dlp.projects.locations.dlpJobs.create", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to store and process the job. Reserved for\nfuture extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/dlpJobs", + "path": "v2/{+parent}/dlpJobs", "request": { "$ref": "GooglePrivacyDlpV2CreateDlpJobRequest" }, @@ -2396,12 +2343,11 @@ }, "list": { "description": "Lists DlpJobs that match the specified filter in the request.\nSee https://cloud.google.com/dlp/docs/inspecting-storage and\nhttps://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/dlpJobs", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/dlpJobs", "httpMethod": "GET", "id": "dlp.projects.locations.dlpJobs.list", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { "filter": { @@ -2410,9 +2356,8 @@ "type": "string" }, "locationId": { - "description": "The geographic location where jobs will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", - "location": "path", - "required": true, + "description": "Deprecated. This field has no effect.", + "location": "query", "type": "string" }, "orderBy": { @@ -2432,9 +2377,9 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, @@ -2449,7 +2394,7 @@ "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/dlpJobs", + "path": "v2/{+parent}/dlpJobs", "response": { "$ref": "GooglePrivacyDlpV2ListDlpJobsResponse" }, @@ -2463,29 +2408,22 @@ "methods": { "redact": { "description": "Redacts potentially sensitive info from an image.\nThis method has limits on input size, processing time, and output size.\nSee https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to\nlearn more.\n\nWhen no InfoTypes or CustomInfoTypes are specified in this request, the\nsystem will automatically choose what detectors to run. By default this may\nbe all types, but may change over time as detectors are updated.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/image:redact", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/image:redact", "httpMethod": "POST", "id": "dlp.projects.locations.image.redact", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to process the request. Reserved for future\nextensions.\nLocation is restricted to 'global', 'us', 'asia', and 'europe'.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "The parent resource name, for example projects/my-project-id.", + "description": "The parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/image:redact", + "path": "v2/{+parent}/image:redact", "request": { "$ref": "GooglePrivacyDlpV2RedactImageRequest" }, @@ -2502,29 +2440,22 @@ "methods": { "create": { "description": "Creates an InspectTemplate for re-using frequently used configuration\nfor inspecting content, images, and storage.\nSee https://cloud.google.com/dlp/docs/creating-templates to learn more.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/inspectTemplates", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/inspectTemplates", "httpMethod": "POST", "id": "dlp.projects.locations.inspectTemplates.create", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to store the inspection template. Reserved for\nfuture extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/inspectTemplates", + "path": "v2/{+parent}/inspectTemplates", "request": { "$ref": "GooglePrivacyDlpV2CreateInspectTemplateRequest" }, @@ -2587,18 +2518,16 @@ }, "list": { "description": "Lists InspectTemplates.\nSee https://cloud.google.com/dlp/docs/creating-templates to learn more.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/inspectTemplates", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/inspectTemplates", "httpMethod": "GET", "id": "dlp.projects.locations.inspectTemplates.list", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { "locationId": { - "description": "The geographic location where inspection templates will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", - "location": "path", - "required": true, + "description": "Deprecated. This field has no effect.", + "location": "query", "type": "string" }, "orderBy": { @@ -2618,14 +2547,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/inspectTemplates", + "path": "v2/{+parent}/inspectTemplates", "response": { "$ref": "GooglePrivacyDlpV2ListInspectTemplatesResponse" }, @@ -2695,29 +2624,22 @@ }, "create": { "description": "Creates a job trigger to run DLP actions such as scanning storage for\nsensitive information on a set schedule.\nSee https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/jobTriggers", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobTriggers", "httpMethod": "POST", "id": "dlp.projects.locations.jobTriggers.create", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to store the job trigger. Reserved for\nfuture extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/jobTriggers", + "path": "v2/{+parent}/jobTriggers", "request": { "$ref": "GooglePrivacyDlpV2CreateJobTriggerRequest" }, @@ -2808,12 +2730,11 @@ }, "list": { "description": "Lists job triggers.\nSee https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/jobTriggers", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/jobTriggers", "httpMethod": "GET", "id": "dlp.projects.locations.jobTriggers.list", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { "filter": { @@ -2822,9 +2743,8 @@ "type": "string" }, "locationId": { - "description": "The geographic location where job triggers will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", - "location": "path", - "required": true, + "description": "Deprecated. This field has no effect.", + "location": "query", "type": "string" }, "orderBy": { @@ -2844,14 +2764,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example `projects/my-project-id`.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/jobTriggers", + "path": "v2/{+parent}/jobTriggers", "response": { "$ref": "GooglePrivacyDlpV2ListJobTriggersResponse" }, @@ -2893,29 +2813,22 @@ "methods": { "create": { "description": "Creates a pre-built stored infoType to be used for inspection.\nSee https://cloud.google.com/dlp/docs/creating-stored-infotypes to\nlearn more.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/storedInfoTypes", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/storedInfoTypes", "httpMethod": "POST", "id": "dlp.projects.locations.storedInfoTypes.create", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { - "locationId": { - "description": "The geographic location to store the stored infoType. Reserved for\nfuture extensions.", - "location": "path", - "required": true, - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/storedInfoTypes", + "path": "v2/{+parent}/storedInfoTypes", "request": { "$ref": "GooglePrivacyDlpV2CreateStoredInfoTypeRequest" }, @@ -2978,18 +2891,16 @@ }, "list": { "description": "Lists stored infoTypes.\nSee https://cloud.google.com/dlp/docs/creating-stored-infotypes to\nlearn more.", - "flatPath": "v2/projects/{projectsId}/locations/{locationId}/storedInfoTypes", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/storedInfoTypes", "httpMethod": "GET", "id": "dlp.projects.locations.storedInfoTypes.list", "parameterOrder": [ - "parent", - "locationId" + "parent" ], "parameters": { "locationId": { - "description": "The geographic location where stored infoTypes will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", - "location": "path", - "required": true, + "description": "Deprecated. This field has no effect.", + "location": "query", "type": "string" }, "orderBy": { @@ -3009,14 +2920,14 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", - "pattern": "^projects/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v2/{+parent}/locations/{locationId}/storedInfoTypes", + "path": "v2/{+parent}/storedInfoTypes", "response": { "$ref": "GooglePrivacyDlpV2ListStoredInfoTypesResponse" }, @@ -3068,7 +2979,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -3146,7 +3057,7 @@ ], "parameters": { "locationId": { - "description": "The geographic location where stored infoTypes will be retrieved from.\nUse `-` for all locations. Reserved for future extensions.", + "description": "Deprecated. This field has no effect.", "location": "query", "type": "string" }, @@ -3167,7 +3078,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, for example projects/my-project-id or\norganizations/my-org-id.", + "description": "Required. Parent resource name.\n- Format:projects/[PROJECT-ID]\n- Format:organizations/[ORGANIZATION-ID]\n- Format:projects/[PROJECT-ID]/locations/[LOCATION-ID]\n- Format:organizations/[ORGANIZATION-ID]/locations/[LOCATION-ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -3215,7 +3126,7 @@ } } }, - "revision": "20200405", + "revision": "20200706", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -3455,7 +3366,7 @@ }, "replacementValue": { "$ref": "GooglePrivacyDlpV2Value", - "description": "Replacement value for this bucket. If not provided\nthe default behavior will be to hyphenate the min-max range." + "description": "Required. Replacement value for this bucket." } }, "type": "object" @@ -3495,7 +3406,9 @@ "TEXT_UTF8", "WORD_DOCUMENT", "PDF", - "AVRO" + "AVRO", + "CSV", + "TSV" ], "enumDescriptions": [ "Unused", @@ -3507,7 +3420,9 @@ "plain text", "docx, docm, dotx, dotm", "pdf", - "avro" + "avro", + "csv", + "tsv" ], "type": "string" } @@ -3670,12 +3585,14 @@ "description": "List of file type groups to include in the scan.\nIf empty, all files are scanned and available data format processors\nare applied. In addition, the binary content of the selected files\nis always scanned as well.\nImages are scanned only as binary if the specified region\ndoes not support image inspection and no file_types were specified.\nImage inspection is restricted to 'global', 'us', 'asia', and 'europe'.", "enumDescriptions": [ "Includes all files.", - "Includes all file extensions not covered by text file types.", + "Includes all file extensions not covered by another entry. Binary\nscanning attempts to convert the content of the file to utf_8 to scan\nthe file.\nIf you wish to avoid this fall back, specify one or more of the other\nFileType's in your storage scan.", "Included file extensions:\n asc, brf, c, cc, cpp, csv, cxx, c++, cs, css, dart, eml, go, h, hh, hpp,\n hxx, h++, hs, html, htm, shtml, shtm, xhtml, lhs, ini, java, js, json,\n ocaml, md, mkd, markdown, m, ml, mli, pl, pm, php, phtml, pht, py, pyw,\n rb, rbw, rs, rc, scala, sh, sql, tex, txt, text, tsv, vcard, vcs, wml,\n xml, xsl, xsd, yml, yaml.", "Included file extensions:\n bmp, gif, jpg, jpeg, jpe, png.\nbytes_limit_per_file has no effect on image files.\nImage inspection is restricted to 'global', 'us', 'asia', and 'europe'.", - "Included file extensions:\n docx, dotx, docm, dotm", - "Included file extensions:\n pdf", - "Included file extensions:\n avro" + "Word files >30 MB will be scanned as binary files.\nIncluded file extensions:\n docx, dotx, docm, dotm", + "PDF files >30 MB will be scanned as binary files.\nIncluded file extensions:\n pdf", + "Included file extensions:\n avro", + "Included file extensions:\n csv", + "Included file extensions:\n tsv" ], "items": { "enum": [ @@ -3685,7 +3602,9 @@ "IMAGE", "WORD", "PDF", - "AVRO" + "AVRO", + "CSV", + "TSV" ], "type": "string" }, @@ -3923,7 +3842,7 @@ "description": "Required. The DeidentifyTemplate to create." }, "locationId": { - "description": "The geographic location to store the deidentification template. Reserved\nfor future extensions.", + "description": "Deprecated. This field has no effect.", "type": "string" }, "templateId": { @@ -3946,7 +3865,7 @@ "type": "string" }, "locationId": { - "description": "The geographic location to store and process the job. Reserved for\nfuture extensions.", + "description": "Deprecated. This field has no effect.", "type": "string" }, "riskJob": { @@ -3965,7 +3884,7 @@ "description": "Required. The InspectTemplate to create." }, "locationId": { - "description": "The geographic location to store the inspection template. Reserved for\nfuture extensions.", + "description": "Deprecated. This field has no effect.", "type": "string" }, "templateId": { @@ -3984,7 +3903,7 @@ "description": "Required. The JobTrigger to create." }, "locationId": { - "description": "The geographic location to store the job trigger. Reserved for\nfuture extensions.", + "description": "Deprecated. This field has no effect.", "type": "string" }, "triggerId": { @@ -4003,7 +3922,7 @@ "description": "Required. Configuration of the storedInfoType to create." }, "locationId": { - "description": "The geographic location to store the stored infoType. Reserved for\nfuture extensions.", + "description": "Deprecated. This field has no effect.", "type": "string" }, "storedInfoTypeId": { @@ -4077,10 +3996,10 @@ ], "enumDescriptions": [ "Unused.", - "[0-9] (radix of 10)", - "[0-9A-F] (radix of 16)", - "[0-9A-Z] (radix of 36)", - "[0-9A-Za-z] (radix of 62)" + "`[0-9]` (radix of 10)", + "`[0-9A-F]` (radix of 16)", + "`[0-9A-Z]` (radix of 36)", + "`[0-9A-Za-z]` (radix of 62)" ], "type": "string" }, @@ -4103,7 +4022,7 @@ }, "surrogateInfoType": { "$ref": "GooglePrivacyDlpV2InfoType", - "description": "The custom infoType to annotate the surrogate with.\nThis annotation will be applied to the surrogate by prefixing it with\nthe name of the custom infoType followed by the number of\ncharacters comprising the surrogate. The following scheme defines the\nformat: info_type_name(surrogate_character_count):surrogate\n\nFor example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and\nthe surrogate is 'abc', the full replacement value\nwill be: 'MY_TOKEN_INFO_TYPE(3):abc'\n\nThis annotation identifies the surrogate when inspecting content using the\ncustom infoType\n[`SurrogateType`](/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\nThis facilitates reversal of the surrogate when it occurs in free text.\n\nIn order for inspection to work properly, the name of this infoType must\nnot occur naturally anywhere in your data; otherwise, inspection may\nfind a surrogate that does not correspond to an actual identifier.\nTherefore, choose your custom infoType name carefully after considering\nwhat your data looks like. One way to select a name that has a high chance\nof yielding reliable detection is to include one or more unicode characters\nthat are highly improbable to exist in your data.\nFor example, assuming your data is entered from a regular ASCII keyboard,\nthe symbol with the hex code point 29DD might be used like so:\n\u29ddMY_TOKEN_TYPE" + "description": "The custom infoType to annotate the surrogate with.\nThis annotation will be applied to the surrogate by prefixing it with\nthe name of the custom infoType followed by the number of\ncharacters comprising the surrogate. The following scheme defines the\nformat: info_type_name(surrogate_character_count):surrogate\n\nFor example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and\nthe surrogate is 'abc', the full replacement value\nwill be: 'MY_TOKEN_INFO_TYPE(3):abc'\n\nThis annotation identifies the surrogate when inspecting content using the\ncustom infoType\n[`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\nThis facilitates reversal of the surrogate when it occurs in free text.\n\nIn order for inspection to work properly, the name of this infoType must\nnot occur naturally anywhere in your data; otherwise, inspection may\nfind a surrogate that does not correspond to an actual identifier.\nTherefore, choose your custom infoType name carefully after considering\nwhat your data looks like. One way to select a name that has a high chance\nof yielding reliable detection is to include one or more unicode characters\nthat are highly improbable to exist in your data.\nFor example, assuming your data is entered from a regular ASCII keyboard,\nthe symbol with the hex code point 29DD might be used like so:\n\u29ddMY_TOKEN_TYPE" } }, "type": "object" @@ -4312,7 +4231,7 @@ "description": "The item to de-identify. Will be treated as text." }, "locationId": { - "description": "The geographic location to process de-identification. Reserved for future\nextensions.", + "description": "Deprecated. This field has no effect.", "type": "string" } }, @@ -4848,11 +4767,11 @@ }, "lowerBound": { "$ref": "GooglePrivacyDlpV2Value", - "description": "Required. Lower bound value of buckets. All values less than `lower_bound` are\ngrouped together into a single bucket; for example if `lower_bound` = 10,\nthen all values less than 10 are replaced with the value \u201c-10\u201d." + "description": "Required. Lower bound value of buckets. All values less than `lower_bound` are\ngrouped together into a single bucket; for example if `lower_bound` = 10,\nthen all values less than 10 are replaced with the value \"-10\"." }, "upperBound": { "$ref": "GooglePrivacyDlpV2Value", - "description": "Required. Upper bound value of buckets. All values greater than upper_bound are\ngrouped together into a single bucket; for example if `upper_bound` = 89,\nthen all values greater than 89 are replaced with the value \u201c89+\u201d." + "description": "Required. Upper bound value of buckets. All values greater than upper_bound are\ngrouped together into a single bucket; for example if `upper_bound` = 89,\nthen all values greater than 89 are replaced with the value \"89+\"." } }, "type": "object" @@ -5240,7 +5159,7 @@ "description": "The item to inspect." }, "locationId": { - "description": "The geographic location to process content inspection. Reserved for future\nextensions.\nWhen inspecting images location is restricted to 'global', 'us', 'asia',\nand 'europe'.", + "description": "Deprecated. This field has no effect.", "type": "string" } }, @@ -5999,7 +5918,7 @@ ], "enumDescriptions": [ "Unused", - "General file metadata provided by GCS." + "General file metadata provided by Cloud Storage." ], "type": "string" } @@ -6217,7 +6136,7 @@ "type": "object" }, "GooglePrivacyDlpV2PublishToPubSub": { - "description": "Publish a message into given Pub/Sub topic when DlpJob has completed. The\nmessage contains a single field, `DlpJobName`, which is equal to the\nfinished job's\n[`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).\nCompatible with: Inspect, Risk", + "description": "Publish a message into given Pub/Sub topic when DlpJob has completed. The\nmessage contains a single field, `DlpJobName`, which is equal to the\nfinished job's\n[`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).\nCompatible with: Inspect, Risk", "id": "GooglePrivacyDlpV2PublishToPubSub", "properties": { "topic": { @@ -6426,7 +6345,7 @@ "description": "Configuration for the inspector." }, "locationId": { - "description": "The geographic location to process the request. Reserved for future\nextensions.\nLocation is restricted to 'global', 'us', 'asia', and 'europe'.", + "description": "Deprecated. This field has no effect.", "type": "string" } }, @@ -6488,7 +6407,7 @@ "description": "The item to re-identify. Will be treated as text." }, "locationId": { - "description": "The geographic location to process content reidentification. Reserved for\nfuture extensions.", + "description": "Deprecated. This field has no effect.", "type": "string" }, "reidentifyConfig": { @@ -6846,7 +6765,7 @@ "type": "object" }, "GooglePrivacyDlpV2SurrogateType": { - "description": "Message for detecting output from deidentification transformations\nsuch as\n[`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).\nThese types of transformations are\nthose that perform pseudonymization, thereby producing a \"surrogate\" as\noutput. This should be used in conjunction with a field on the\ntransformation such as `surrogate_info_type`. This CustomInfoType does\nnot support the use of `detection_rules`.", + "description": "Message for detecting output from deidentification transformations\nsuch as\n[`CryptoReplaceFfxFpeConfig`](https://cloud.google.com/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).\nThese types of transformations are\nthose that perform pseudonymization, thereby producing a \"surrogate\" as\noutput. This should be used in conjunction with a field on the\ntransformation such as `surrogate_info_type`. This CustomInfoType does\nnot support the use of `detection_rules`.", "id": "GooglePrivacyDlpV2SurrogateType", "properties": {}, "type": "object" @@ -6877,7 +6796,7 @@ "id": "GooglePrivacyDlpV2TableLocation", "properties": { "rowIndex": { - "description": "The zero-based index of the row where the finding is located.", + "description": "The zero-based index of the row where the finding is located. Only\npopulated for resources that have a natural ordering, not BigQuery. In\nBigQuery, to identify the row a finding came from, populate\nBigQueryOptions.identifying_fields with your primary key column names and\nwhen you store the findings the value of those columns will be stored\ninside of Finding.", "format": "int64", "type": "string" } diff --git a/etc/api/dns/v1/dns-api.json b/etc/api/dns/v1/dns-api.json index b683ec6451..9e94260d4b 100644 --- a/etc/api/dns/v1/dns-api.json +++ b/etc/api/dns/v1/dns-api.json @@ -23,7 +23,7 @@ "description": "Configures and serves authoritative DNS records.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/cloud-dns", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/C0vgwgSkNuwxiJI-C0iMb3JKMEQ\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/ArOFmsgnjC3TFDSpz-XNYBMw5mo\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -83,7 +83,7 @@ "changes": { "methods": { "create": { - "description": "Atomically update the ResourceRecordSet collection.", + "description": "", "httpMethod": "POST", "id": "dns.changes.create", "parameterOrder": [ @@ -92,18 +92,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -122,7 +119,7 @@ ] }, "get": { - "description": "Fetch the representation of an existing Change.", + "description": "", "httpMethod": "GET", "id": "dns.changes.get", "parameterOrder": [ @@ -132,24 +129,20 @@ ], "parameters": { "changeId": { - "description": "The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse.", "location": "path", "required": true, "type": "string" }, "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -167,7 +160,7 @@ ] }, "list": { - "description": "Enumerate Changes to a ResourceRecordSet collection.", + "description": "", "httpMethod": "GET", "id": "dns.changes.list", "parameterOrder": [ @@ -176,31 +169,26 @@ ], "parameters": { "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" }, "sortBy": { "default": "changeSequence", - "description": "Sorting criterion. The only supported value is change sequence.", "enum": [ "changeSequence" ], @@ -211,7 +199,6 @@ "type": "string" }, "sortOrder": { - "description": "Sorting order direction: 'ascending' or 'descending'.", "location": "query", "type": "string" } @@ -232,7 +219,7 @@ "dnsKeys": { "methods": { "get": { - "description": "Fetch the representation of an existing DnsKey.", + "description": "", "httpMethod": "GET", "id": "dns.dnsKeys.get", "parameterOrder": [ @@ -242,29 +229,24 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "digestType": { - "description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed.", "location": "query", "type": "string" }, "dnsKeyId": { - "description": "The identifier of the requested DnsKey.", "location": "path", "required": true, "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -282,7 +264,7 @@ ] }, "list": { - "description": "Enumerate DnsKeys to a ResourceRecordSet collection.", + "description": "", "httpMethod": "GET", "id": "dns.dnsKeys.list", "parameterOrder": [ @@ -291,29 +273,24 @@ ], "parameters": { "digestType": { - "description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -335,7 +312,7 @@ "managedZoneOperations": { "methods": { "get": { - "description": "Fetch the representation of an existing Operation.", + "description": "", "httpMethod": "GET", "id": "dns.managedZoneOperations.get", "parameterOrder": [ @@ -345,24 +322,20 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request.", "location": "path", "required": true, "type": "string" }, "operation": { - "description": "Identifies the operation addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -380,7 +353,7 @@ ] }, "list": { - "description": "Enumerate Operations for the given ManagedZone.", + "description": "", "httpMethod": "GET", "id": "dns.managedZoneOperations.list", "parameterOrder": [ @@ -389,31 +362,26 @@ ], "parameters": { "managedZone": { - "description": "Identifies the managed zone addressed by this request.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" }, "sortBy": { "default": "startTime", - "description": "Sorting criterion. The only supported values are START_TIME and ID.", "enum": [ "id", "startTime" @@ -442,7 +410,7 @@ "managedZones": { "methods": { "create": { - "description": "Create a new ManagedZone.", + "description": "", "httpMethod": "POST", "id": "dns.managedZones.create", "parameterOrder": [ @@ -450,12 +418,10 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -474,7 +440,7 @@ ] }, "delete": { - "description": "Delete a previously created ManagedZone.", + "description": "", "httpMethod": "DELETE", "id": "dns.managedZones.delete", "parameterOrder": [ @@ -483,18 +449,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -507,7 +470,7 @@ ] }, "get": { - "description": "Fetch the representation of an existing ManagedZone.", + "description": "", "httpMethod": "GET", "id": "dns.managedZones.get", "parameterOrder": [ @@ -516,18 +479,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -545,7 +505,7 @@ ] }, "list": { - "description": "Enumerate ManagedZones that have been created but not yet deleted.", + "description": "", "httpMethod": "GET", "id": "dns.managedZones.list", "parameterOrder": [ @@ -553,23 +513,19 @@ ], "parameters": { "dnsName": { - "description": "Restricts the list to return only zones with this domain name.", "location": "query", "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -587,7 +543,7 @@ ] }, "patch": { - "description": "Apply a partial update to an existing ManagedZone.", + "description": "", "httpMethod": "PATCH", "id": "dns.managedZones.patch", "parameterOrder": [ @@ -596,18 +552,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -626,7 +579,7 @@ ] }, "update": { - "description": "Update an existing ManagedZone.", + "description": "", "httpMethod": "PUT", "id": "dns.managedZones.update", "parameterOrder": [ @@ -635,18 +588,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -669,7 +619,7 @@ "policies": { "methods": { "create": { - "description": "Create a new Policy", + "description": "", "httpMethod": "POST", "id": "dns.policies.create", "parameterOrder": [ @@ -677,12 +627,10 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -701,7 +649,7 @@ ] }, "delete": { - "description": "Delete a previously created Policy. Will fail if the policy is still being referenced by a network.", + "description": "", "httpMethod": "DELETE", "id": "dns.policies.delete", "parameterOrder": [ @@ -710,18 +658,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "policy": { - "description": "User given friendly name of the policy addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -734,7 +679,7 @@ ] }, "get": { - "description": "Fetch the representation of an existing Policy.", + "description": "", "httpMethod": "GET", "id": "dns.policies.get", "parameterOrder": [ @@ -743,18 +688,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "policy": { - "description": "User given friendly name of the policy addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -772,7 +714,7 @@ ] }, "list": { - "description": "Enumerate all Policies associated with a project.", + "description": "", "httpMethod": "GET", "id": "dns.policies.list", "parameterOrder": [ @@ -780,18 +722,15 @@ ], "parameters": { "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -809,7 +748,7 @@ ] }, "patch": { - "description": "Apply a partial update to an existing Policy.", + "description": "", "httpMethod": "PATCH", "id": "dns.policies.patch", "parameterOrder": [ @@ -818,18 +757,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "policy": { - "description": "User given friendly name of the policy addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -848,7 +784,7 @@ ] }, "update": { - "description": "Update an existing Policy.", + "description": "", "httpMethod": "PUT", "id": "dns.policies.update", "parameterOrder": [ @@ -857,18 +793,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "policy": { - "description": "User given friendly name of the policy addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -891,7 +824,7 @@ "projects": { "methods": { "get": { - "description": "Fetch the representation of an existing Project.", + "description": "", "httpMethod": "GET", "id": "dns.projects.get", "parameterOrder": [ @@ -899,12 +832,10 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -926,7 +857,7 @@ "resourceRecordSets": { "methods": { "list": { - "description": "Enumerate ResourceRecordSets that have been created but not yet deleted.", + "description": "", "httpMethod": "GET", "id": "dns.resourceRecordSets.list", "parameterOrder": [ @@ -935,35 +866,29 @@ ], "parameters": { "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "name": { - "description": "Restricts the list to return only records with this fully qualified domain name.", "location": "query", "type": "string" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" }, "type": { - "description": "Restricts the list to return only records of this type. If present, the \"name\" parameter must also be present.", "location": "query", "type": "string" } @@ -982,33 +907,28 @@ } } }, - "revision": "20191205", + "revision": "20200515", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { - "description": "A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.", "id": "Change", "properties": { "additions": { - "description": "Which ResourceRecordSets to add?", "items": { "$ref": "ResourceRecordSet" }, "type": "array" }, "deletions": { - "description": "Which ResourceRecordSets to remove? Must match existing data exactly.", "items": { "$ref": "ResourceRecordSet" }, "type": "array" }, "id": { - "description": "Unique identifier for the resource; defined by the server (output only).", "type": "string" }, "isServing": { - "description": "If the DNS queries for the zone will be served.", "type": "boolean" }, "kind": { @@ -1017,11 +937,9 @@ "type": "string" }, "startTime": { - "description": "The time that this operation was started by the server (output only). This is in RFC3339 text format.", "type": "string" }, "status": { - "description": "Status of the operation (output only). A status of \"done\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", "enum": [ "done", "pending" @@ -1036,11 +954,9 @@ "type": "object" }, "ChangesListResponse": { - "description": "The response to a request to enumerate Changes to a ResourceRecordSets collection.", "id": "ChangesListResponse", "properties": { "changes": { - "description": "The requested changes.", "items": { "$ref": "Change" }, @@ -1055,18 +971,15 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a \"snapshot\" of collections larger than the maximum page size.", "type": "string" } }, "type": "object" }, "DnsKey": { - "description": "A DNSSEC key pair.", "id": "DnsKey", "properties": { "algorithm": { - "description": "String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.", "enum": [ "ecdsap256sha256", "ecdsap384sha384", @@ -1084,35 +997,28 @@ "type": "string" }, "creationTime": { - "description": "The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.", "type": "string" }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.", "type": "string" }, "digests": { - "description": "Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.", "items": { "$ref": "DnsKeyDigest" }, "type": "array" }, "id": { - "description": "Unique identifier for the resource; defined by the server (output only).", "type": "string" }, "isActive": { - "description": "Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.", "type": "boolean" }, "keyLength": { - "description": "Length of the key in bits. Specified at creation time then immutable.", "format": "uint32", "type": "integer" }, "keyTag": { - "description": "The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.", "format": "int32", "type": "integer" }, @@ -1122,11 +1028,9 @@ "type": "string" }, "publicKey": { - "description": "Base64 encoded public half of this key. Output only.", "type": "string" }, "type": { - "description": "One of \"KEY_SIGNING\" or \"ZONE_SIGNING\". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, will be used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag will be cleared and this key will be used to sign only resource record sets of other types. Immutable after creation time.", "enum": [ "keySigning", "zoneSigning" @@ -1144,11 +1048,9 @@ "id": "DnsKeyDigest", "properties": { "digest": { - "description": "The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.", "type": "string" }, "type": { - "description": "Specifies the algorithm used to calculate this digest.", "enum": [ "sha1", "sha256", @@ -1165,11 +1067,9 @@ "type": "object" }, "DnsKeySpec": { - "description": "Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.", "id": "DnsKeySpec", "properties": { "algorithm": { - "description": "String mnemonic specifying the DNSSEC algorithm of this key.", "enum": [ "ecdsap256sha256", "ecdsap384sha384", @@ -1187,12 +1087,10 @@ "type": "string" }, "keyLength": { - "description": "Length of the keys in bits.", "format": "uint32", "type": "integer" }, "keyType": { - "description": "Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.", "enum": [ "keySigning", "zoneSigning" @@ -1212,11 +1110,9 @@ "type": "object" }, "DnsKeysListResponse": { - "description": "The response to a request to enumerate DnsKeys in a ManagedZone.", "id": "DnsKeysListResponse", "properties": { "dnsKeys": { - "description": "The requested resources.", "items": { "$ref": "DnsKey" }, @@ -1231,38 +1127,30 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a \"snapshot\" of collections larger than the maximum page size.", "type": "string" } }, "type": "object" }, "ManagedZone": { - "description": "A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.", "id": "ManagedZone", "properties": { "creationTime": { - "description": "The time that this resource was created on the server. This is in RFC3339 text format. Output only.", "type": "string" }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.", "type": "string" }, "dnsName": { - "description": "The DNS name of this managed zone, for instance \"example.com.\".", "type": "string" }, "dnssecConfig": { - "$ref": "ManagedZoneDnsSecConfig", - "description": "DNSSEC configuration." + "$ref": "ManagedZoneDnsSecConfig" }, "forwardingConfig": { - "$ref": "ManagedZoneForwardingConfig", - "description": "The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to." + "$ref": "ManagedZoneForwardingConfig" }, "id": { - "description": "Unique identifier for the resource; defined by the server (output only)", "format": "uint64", "type": "string" }, @@ -1275,34 +1163,30 @@ "additionalProperties": { "type": "string" }, - "description": "User labels.", "type": "object" }, "name": { - "description": "User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.", "type": "string" }, "nameServerSet": { - "description": "Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.", "type": "string" }, "nameServers": { - "description": "Delegate your managed_zone to these virtual name servers; defined by the server (output only)", "items": { "type": "string" }, "type": "array" }, "peeringConfig": { - "$ref": "ManagedZonePeeringConfig", - "description": "The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with." + "$ref": "ManagedZonePeeringConfig" }, "privateVisibilityConfig": { - "$ref": "ManagedZonePrivateVisibilityConfig", - "description": "For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from." + "$ref": "ManagedZonePrivateVisibilityConfig" + }, + "reverseLookupConfig": { + "$ref": "ManagedZoneReverseLookupConfig" }, "visibility": { - "description": "The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.", "enum": [ "private", "public" @@ -1320,7 +1204,6 @@ "id": "ManagedZoneDnsSecConfig", "properties": { "defaultKeySpecs": { - "description": "Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.", "items": { "$ref": "DnsKeySpec" }, @@ -1332,7 +1215,6 @@ "type": "string" }, "nonExistence": { - "description": "Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.", "enum": [ "nsec", "nsec3" @@ -1344,7 +1226,6 @@ "type": "string" }, "state": { - "description": "Specifies whether DNSSEC is enabled, and what mode it is in.", "enum": [ "off", "on", @@ -1369,7 +1250,6 @@ "type": "string" }, "targetNameServers": { - "description": "List of target name servers to forward to. Cloud DNS will select the best available name server if more than one target is given.", "items": { "$ref": "ManagedZoneForwardingConfigNameServerTarget" }, @@ -1381,8 +1261,18 @@ "ManagedZoneForwardingConfigNameServerTarget": { "id": "ManagedZoneForwardingConfigNameServerTarget", "properties": { + "forwardingPath": { + "enum": [ + "default", + "private" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "ipv4Address": { - "description": "IPv4 address of a target name server.", "type": "string" }, "kind": { @@ -1405,11 +1295,9 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", "type": "string" }, "operations": { - "description": "The operation resources.", "items": { "$ref": "Operation" }, @@ -1427,8 +1315,7 @@ "type": "string" }, "targetNetwork": { - "$ref": "ManagedZonePeeringConfigTargetNetwork", - "description": "The network with which to peer." + "$ref": "ManagedZonePeeringConfigTargetNetwork" } }, "type": "object" @@ -1437,7 +1324,6 @@ "id": "ManagedZonePeeringConfigTargetNetwork", "properties": { "deactivateTime": { - "description": "The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.", "type": "string" }, "kind": { @@ -1446,7 +1332,6 @@ "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to forward queries to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", "type": "string" } }, @@ -1461,7 +1346,6 @@ "type": "string" }, "networks": { - "description": "The list of VPC networks that can see this zone.", "items": { "$ref": "ManagedZonePrivateVisibilityConfigNetwork" }, @@ -1479,7 +1363,17 @@ "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneReverseLookupConfig": { + "id": "ManagedZoneReverseLookupConfig", + "properties": { + "kind": { + "default": "dns#managedZoneReverseLookupConfig", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZoneReverseLookupConfig\".", "type": "string" } }, @@ -1497,29 +1391,24 @@ "type": "string" }, "managedZones": { - "description": "The managed zone resources.", "items": { "$ref": "ManagedZone" }, "type": "array" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", "type": "string" } }, "type": "object" }, "Operation": { - "description": "An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.", "id": "Operation", "properties": { "dnsKeyContext": { - "$ref": "OperationDnsKeyContext", - "description": "Only populated if the operation targeted a DnsKey (output only)." + "$ref": "OperationDnsKeyContext" }, "id": { - "description": "Unique identifier for the resource. This is the client_operation_id if the client specified it when the mutation was initiated, otherwise, it is generated by the server. The name must be 1-63 characters long and match the regular expression [-a-z0-9]? (output only)", "type": "string" }, "kind": { @@ -1528,11 +1417,9 @@ "type": "string" }, "startTime": { - "description": "The time that this operation was started by the server. This is in RFC3339 text format (output only).", "type": "string" }, "status": { - "description": "Status of the operation. Can be one of the following: \"PENDING\" or \"DONE\" (output only). A status of \"DONE\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", "enum": [ "done", "pending" @@ -1544,16 +1431,13 @@ "type": "string" }, "type": { - "description": "Type of the operation. Operations include insert, update, and delete (output only).", "type": "string" }, "user": { - "description": "User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)", "type": "string" }, "zoneContext": { - "$ref": "OperationManagedZoneContext", - "description": "Only populated if the operation targeted a ManagedZone (output only)." + "$ref": "OperationManagedZoneContext" } }, "type": "object" @@ -1562,12 +1446,10 @@ "id": "OperationDnsKeyContext", "properties": { "newValue": { - "$ref": "DnsKey", - "description": "The post-operation DnsKey resource." + "$ref": "DnsKey" }, "oldValue": { - "$ref": "DnsKey", - "description": "The pre-operation DnsKey resource." + "$ref": "DnsKey" } }, "type": "object" @@ -1576,12 +1458,10 @@ "id": "OperationManagedZoneContext", "properties": { "newValue": { - "$ref": "ManagedZone", - "description": "The post-operation ManagedZone resource." + "$ref": "ManagedZone" }, "oldValue": { - "$ref": "ManagedZone", - "description": "The pre-operation ManagedZone resource." + "$ref": "ManagedZone" } }, "type": "object" @@ -1598,11 +1478,9 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", "type": "string" }, "policies": { - "description": "The policy resources.", "items": { "$ref": "Policy" }, @@ -1636,27 +1514,21 @@ "type": "object" }, "Policy": { - "description": "A policy is a collection of DNS rules applied to one or more Virtual Private Cloud resources.", "id": "Policy", "properties": { "alternativeNameServerConfig": { - "$ref": "PolicyAlternativeNameServerConfig", - "description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified." + "$ref": "PolicyAlternativeNameServerConfig" }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function.", "type": "string" }, "enableInboundForwarding": { - "description": "Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address will be allocated from each of the sub-networks that are bound to this policy.", "type": "boolean" }, "enableLogging": { - "description": "Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set.", "type": "boolean" }, "id": { - "description": "Unique identifier for the resource; defined by the server (output only).", "format": "uint64", "type": "string" }, @@ -1666,11 +1538,9 @@ "type": "string" }, "name": { - "description": "User assigned name for this policy.", "type": "string" }, "networks": { - "description": "List of network names specifying networks to which this policy is applied.", "items": { "$ref": "PolicyNetwork" }, @@ -1688,7 +1558,6 @@ "type": "string" }, "targetNameServers": { - "description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified.", "items": { "$ref": "PolicyAlternativeNameServerConfigTargetNameServer" }, @@ -1700,8 +1569,18 @@ "PolicyAlternativeNameServerConfigTargetNameServer": { "id": "PolicyAlternativeNameServerConfigTargetNameServer", "properties": { + "forwardingPath": { + "enum": [ + "default", + "private" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "ipv4Address": { - "description": "IPv4 address to forward to.", "type": "string" }, "kind": { @@ -1721,18 +1600,15 @@ "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", "type": "string" } }, "type": "object" }, "Project": { - "description": "A project resource. The project is a top level container for resources including Cloud DNS ManagedZones. Projects can be created only in the APIs console.", "id": "Project", "properties": { "id": { - "description": "User assigned unique identifier for the resource (output only).", "type": "string" }, "kind": { @@ -1741,23 +1617,19 @@ "type": "string" }, "number": { - "description": "Unique numeric identifier for the resource; defined by the server (output only).", "format": "uint64", "type": "string" }, "quota": { - "$ref": "Quota", - "description": "Quotas assigned to this project (output only)." + "$ref": "Quota" } }, "type": "object" }, "Quota": { - "description": "Limits associated with a Project.", "id": "Quota", "properties": { "dnsKeysPerManagedZone": { - "description": "Maximum allowed number of DnsKeys per ManagedZone.", "format": "int32", "type": "integer" }, @@ -1767,67 +1639,54 @@ "type": "string" }, "managedZones": { - "description": "Maximum allowed number of managed zones in the project.", "format": "int32", "type": "integer" }, "managedZonesPerNetwork": { - "description": "Maximum allowed number of managed zones which can be attached to a network.", "format": "int32", "type": "integer" }, "networksPerManagedZone": { - "description": "Maximum allowed number of networks to which a privately scoped zone can be attached.", "format": "int32", "type": "integer" }, "networksPerPolicy": { - "description": "Maximum allowed number of networks per policy.", "format": "int32", "type": "integer" }, "policies": { - "description": "Maximum allowed number of policies per project.", "format": "int32", "type": "integer" }, "resourceRecordsPerRrset": { - "description": "Maximum allowed number of ResourceRecords per ResourceRecordSet.", "format": "int32", "type": "integer" }, "rrsetAdditionsPerChange": { - "description": "Maximum allowed number of ResourceRecordSets to add per ChangesCreateRequest.", "format": "int32", "type": "integer" }, "rrsetDeletionsPerChange": { - "description": "Maximum allowed number of ResourceRecordSets to delete per ChangesCreateRequest.", "format": "int32", "type": "integer" }, "rrsetsPerManagedZone": { - "description": "Maximum allowed number of ResourceRecordSets per zone in the project.", "format": "int32", "type": "integer" }, "targetNameServersPerManagedZone": { - "description": "Maximum allowed number of target name servers per managed forwarding zone.", "format": "int32", "type": "integer" }, "targetNameServersPerPolicy": { - "description": "Maximum allowed number of alternative target name servers per policy.", "format": "int32", "type": "integer" }, "totalRrdataSizePerChange": { - "description": "Maximum allowed size for total rrdata in one ChangesCreateRequest in bytes.", "format": "int32", "type": "integer" }, "whitelistedKeySpecs": { - "description": "DNSSEC algorithm and key length types that can be used for DnsKeys.", "items": { "$ref": "DnsKeySpec" }, @@ -1837,7 +1696,6 @@ "type": "object" }, "ResourceRecordSet": { - "description": "A unit of data that will be returned by the DNS servers.", "id": "ResourceRecordSet", "properties": { "kind": { @@ -1846,30 +1704,25 @@ "type": "string" }, "name": { - "description": "For example, www.example.com.", "type": "string" }, "rrdatas": { - "description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.", "items": { "type": "string" }, "type": "array" }, "signatureRrdatas": { - "description": "As defined in RFC 4034 (section 3.2).", "items": { "type": "string" }, "type": "array" }, "ttl": { - "description": "Number of seconds that this ResourceRecordSet can be cached by resolvers.", "format": "int32", "type": "integer" }, "type": { - "description": "The identifier of a supported record type. See the list of Supported DNS record types.", "type": "string" } }, @@ -1887,11 +1740,9 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", "type": "string" }, "rrsets": { - "description": "The resource record set resources.", "items": { "$ref": "ResourceRecordSet" }, @@ -1901,11 +1752,9 @@ "type": "object" }, "ResponseHeader": { - "description": "Elements common to every response.", "id": "ResponseHeader", "properties": { "operationId": { - "description": "For mutating operation requests that completed successfully. This is the client_operation_id if the client specified it, otherwise it is generated by the server (output only).", "type": "string" } }, diff --git a/etc/api/dns/v1beta2/dns-api.json b/etc/api/dns/v1beta2/dns-api.json index 2299b8e4cb..1046fe83cc 100644 --- a/etc/api/dns/v1beta2/dns-api.json +++ b/etc/api/dns/v1beta2/dns-api.json @@ -17,35 +17,64 @@ } } }, - "basePath": "/dns/v1beta2/projects/", - "baseUrl": "https://dns.googleapis.com/dns/v1beta2/projects/", - "batchPath": "batch/dns/v1beta2", - "description": "Configures and serves authoritative DNS records.", + "basePath": "", + "baseUrl": "https://dns.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Dns", + "description": "", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/cloud-dns", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/BT2KAg5ncg8uv7pxbJOLZo5zBdk\"", + "documentationLink": "http://developers.google.com/cloud-dns", + "fullyEncodeReservedExpansion": true, "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "dns:v1beta2", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://dns.mtls.googleapis.com/", "name": "dns", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -68,12 +97,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -84,6 +118,7 @@ "methods": { "create": { "description": "Atomically update the ResourceRecordSet collection.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes", "httpMethod": "POST", "id": "dns.changes.create", "parameterOrder": [ @@ -92,12 +127,12 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" @@ -109,7 +144,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}/changes", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes", "request": { "$ref": "Change" }, @@ -123,6 +158,7 @@ }, "get": { "description": "Fetch the representation of an existing Change.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes/{changeId}", "httpMethod": "GET", "id": "dns.changes.get", "parameterOrder": [ @@ -132,18 +168,18 @@ ], "parameters": { "changeId": { - "description": "The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse.", + "description": "The identifier of the requested change, from a previous\nResourceRecordSetsChangeResponse.", "location": "path", "required": true, "type": "string" }, "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" @@ -155,7 +191,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}/changes/{changeId}", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes/{changeId}", "response": { "$ref": "Change" }, @@ -168,6 +204,7 @@ }, "list": { "description": "Enumerate Changes to a ResourceRecordSet collection.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes", "httpMethod": "GET", "id": "dns.changes.list", "parameterOrder": [ @@ -176,19 +213,19 @@ ], "parameters": { "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", + "description": "Optional. Maximum number of results to be returned. If unspecified, the\nserver will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "description": "Optional. A tag returned by a previous list request that was truncated.\nUse this parameter to continue a previous list request.", "location": "query", "type": "string" }, @@ -204,9 +241,6 @@ "enum": [ "changeSequence" ], - "enumDescriptions": [ - "" - ], "location": "query", "type": "string" }, @@ -216,7 +250,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}/changes", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/changes", "response": { "$ref": "ChangesListResponse" }, @@ -233,6 +267,7 @@ "methods": { "get": { "description": "Fetch the representation of an existing DnsKey.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}", "httpMethod": "GET", "id": "dns.dnsKeys.get", "parameterOrder": [ @@ -242,12 +277,12 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, "digestType": { - "description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed.", + "description": "An optional comma-separated list of digest types to compute and display\nfor key signing keys. If omitted, the recommended digest type will be\ncomputed and displayed.", "location": "query", "type": "string" }, @@ -258,7 +293,7 @@ "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" @@ -270,7 +305,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}", "response": { "$ref": "DnsKey" }, @@ -283,6 +318,7 @@ }, "list": { "description": "Enumerate DnsKeys to a ResourceRecordSet collection.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/dnsKeys", "httpMethod": "GET", "id": "dns.dnsKeys.list", "parameterOrder": [ @@ -291,24 +327,24 @@ ], "parameters": { "digestType": { - "description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed.", + "description": "An optional comma-separated list of digest types to compute and display\nfor key signing keys. If omitted, the recommended digest type will be\ncomputed and displayed.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", + "description": "Optional. Maximum number of results to be returned. If unspecified, the\nserver will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "description": "Optional. A tag returned by a previous list request that was truncated.\nUse this parameter to continue a previous list request.", "location": "query", "type": "string" }, @@ -319,7 +355,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}/dnsKeys", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/dnsKeys", "response": { "$ref": "DnsKeysListResponse" }, @@ -336,6 +372,7 @@ "methods": { "get": { "description": "Fetch the representation of an existing Operation.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/operations/{operation}", "httpMethod": "GET", "id": "dns.managedZoneOperations.get", "parameterOrder": [ @@ -345,7 +382,7 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, @@ -368,7 +405,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}/operations/{operation}", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/operations/{operation}", "response": { "$ref": "Operation" }, @@ -381,6 +418,7 @@ }, "list": { "description": "Enumerate Operations for the given ManagedZone.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/operations", "httpMethod": "GET", "id": "dns.managedZoneOperations.list", "parameterOrder": [ @@ -395,13 +433,13 @@ "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", + "description": "Optional. Maximum number of results to be returned. If unspecified, the\nserver will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "description": "Optional. A tag returned by a previous list request that was truncated.\nUse this parameter to continue a previous list request.", "location": "query", "type": "string" }, @@ -415,18 +453,14 @@ "default": "startTime", "description": "Sorting criterion. The only supported values are START_TIME and ID.", "enum": [ - "id", - "startTime" - ], - "enumDescriptions": [ - "", - "" + "startTime", + "id" ], "location": "query", "type": "string" } }, - "path": "{project}/managedZones/{managedZone}/operations", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/operations", "response": { "$ref": "ManagedZoneOperationsListResponse" }, @@ -443,6 +477,7 @@ "methods": { "create": { "description": "Create a new ManagedZone.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones", "httpMethod": "POST", "id": "dns.managedZones.create", "parameterOrder": [ @@ -450,7 +485,7 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, @@ -461,7 +496,7 @@ "type": "string" } }, - "path": "{project}/managedZones", + "path": "dns/v1beta2/projects/{project}/managedZones", "request": { "$ref": "ManagedZone" }, @@ -475,6 +510,7 @@ }, "delete": { "description": "Delete a previously created ManagedZone.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}", "httpMethod": "DELETE", "id": "dns.managedZones.delete", "parameterOrder": [ @@ -483,12 +519,12 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" @@ -500,7 +536,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" @@ -508,6 +544,7 @@ }, "get": { "description": "Fetch the representation of an existing ManagedZone.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}", "httpMethod": "GET", "id": "dns.managedZones.get", "parameterOrder": [ @@ -516,12 +553,12 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" @@ -533,7 +570,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}", "response": { "$ref": "ManagedZone" }, @@ -546,6 +583,7 @@ }, "list": { "description": "Enumerate ManagedZones that have been created but not yet deleted.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones", "httpMethod": "GET", "id": "dns.managedZones.list", "parameterOrder": [ @@ -558,13 +596,13 @@ "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", + "description": "Optional. Maximum number of results to be returned. If unspecified, the\nserver will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "description": "Optional. A tag returned by a previous list request that was truncated.\nUse this parameter to continue a previous list request.", "location": "query", "type": "string" }, @@ -575,7 +613,7 @@ "type": "string" } }, - "path": "{project}/managedZones", + "path": "dns/v1beta2/projects/{project}/managedZones", "response": { "$ref": "ManagedZonesListResponse" }, @@ -588,6 +626,7 @@ }, "patch": { "description": "Apply a partial update to an existing ManagedZone.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}", "httpMethod": "PATCH", "id": "dns.managedZones.patch", "parameterOrder": [ @@ -596,12 +635,12 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" @@ -613,7 +652,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}", "request": { "$ref": "ManagedZone" }, @@ -627,6 +666,7 @@ }, "update": { "description": "Update an existing ManagedZone.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}", "httpMethod": "PUT", "id": "dns.managedZones.update", "parameterOrder": [ @@ -635,12 +675,12 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" @@ -652,7 +692,7 @@ "type": "string" } }, - "path": "{project}/managedZones/{managedZone}", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}", "request": { "$ref": "ManagedZone" }, @@ -670,6 +710,7 @@ "methods": { "create": { "description": "Create a new Policy", + "flatPath": "dns/v1beta2/projects/{project}/policies", "httpMethod": "POST", "id": "dns.policies.create", "parameterOrder": [ @@ -677,7 +718,7 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, @@ -688,7 +729,7 @@ "type": "string" } }, - "path": "{project}/policies", + "path": "dns/v1beta2/projects/{project}/policies", "request": { "$ref": "Policy" }, @@ -701,7 +742,8 @@ ] }, "delete": { - "description": "Delete a previously created Policy. Will fail if the policy is still being referenced by a network.", + "description": "Delete a previously created Policy. Will fail if the policy is still being\nreferenced by a network.", + "flatPath": "dns/v1beta2/projects/{project}/policies/{policy}", "httpMethod": "DELETE", "id": "dns.policies.delete", "parameterOrder": [ @@ -710,7 +752,7 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, @@ -727,7 +769,7 @@ "type": "string" } }, - "path": "{project}/policies/{policy}", + "path": "dns/v1beta2/projects/{project}/policies/{policy}", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" @@ -735,6 +777,7 @@ }, "get": { "description": "Fetch the representation of an existing Policy.", + "flatPath": "dns/v1beta2/projects/{project}/policies/{policy}", "httpMethod": "GET", "id": "dns.policies.get", "parameterOrder": [ @@ -743,7 +786,7 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, @@ -760,7 +803,7 @@ "type": "string" } }, - "path": "{project}/policies/{policy}", + "path": "dns/v1beta2/projects/{project}/policies/{policy}", "response": { "$ref": "Policy" }, @@ -773,6 +816,7 @@ }, "list": { "description": "Enumerate all Policies associated with a project.", + "flatPath": "dns/v1beta2/projects/{project}/policies", "httpMethod": "GET", "id": "dns.policies.list", "parameterOrder": [ @@ -780,13 +824,13 @@ ], "parameters": { "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", + "description": "Optional. Maximum number of results to be returned. If unspecified, the\nserver will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "description": "Optional. A tag returned by a previous list request that was truncated.\nUse this parameter to continue a previous list request.", "location": "query", "type": "string" }, @@ -797,7 +841,7 @@ "type": "string" } }, - "path": "{project}/policies", + "path": "dns/v1beta2/projects/{project}/policies", "response": { "$ref": "PoliciesListResponse" }, @@ -810,6 +854,7 @@ }, "patch": { "description": "Apply a partial update to an existing Policy.", + "flatPath": "dns/v1beta2/projects/{project}/policies/{policy}", "httpMethod": "PATCH", "id": "dns.policies.patch", "parameterOrder": [ @@ -818,7 +863,7 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, @@ -835,7 +880,7 @@ "type": "string" } }, - "path": "{project}/policies/{policy}", + "path": "dns/v1beta2/projects/{project}/policies/{policy}", "request": { "$ref": "Policy" }, @@ -849,6 +894,7 @@ }, "update": { "description": "Update an existing Policy.", + "flatPath": "dns/v1beta2/projects/{project}/policies/{policy}", "httpMethod": "PUT", "id": "dns.policies.update", "parameterOrder": [ @@ -857,7 +903,7 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, @@ -874,7 +920,7 @@ "type": "string" } }, - "path": "{project}/policies/{policy}", + "path": "dns/v1beta2/projects/{project}/policies/{policy}", "request": { "$ref": "Policy" }, @@ -892,6 +938,7 @@ "methods": { "get": { "description": "Fetch the representation of an existing Project.", + "flatPath": "dns/v1beta2/projects/{project}", "httpMethod": "GET", "id": "dns.projects.get", "parameterOrder": [ @@ -899,7 +946,7 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "description": "For mutating operation requests only. An optional identifier\nspecified by the client. Must be unique for operation resources in the\nOperations collection.", "location": "query", "type": "string" }, @@ -910,7 +957,7 @@ "type": "string" } }, - "path": "{project}", + "path": "dns/v1beta2/projects/{project}", "response": { "$ref": "Project" }, @@ -927,6 +974,7 @@ "methods": { "list": { "description": "Enumerate ResourceRecordSets that have been created but not yet deleted.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets", "httpMethod": "GET", "id": "dns.resourceRecordSets.list", "parameterOrder": [ @@ -935,24 +983,24 @@ ], "parameters": { "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", + "description": "Identifies the managed zone addressed by this request. Can be the managed\nzone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", + "description": "Optional. Maximum number of results to be returned. If unspecified, the\nserver will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "name": { - "description": "Restricts the list to return only records with this fully qualified domain name.", + "description": "Restricts the list to return only records with this fully qualified domain\nname.", "location": "query", "type": "string" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "description": "Optional. A tag returned by a previous list request that was truncated.\nUse this parameter to continue a previous list request.", "location": "query", "type": "string" }, @@ -963,12 +1011,12 @@ "type": "string" }, "type": { - "description": "Restricts the list to return only records of this type. If present, the \"name\" parameter must also be present.", + "description": "Restricts the list to return only records of this type. If present, the\n\"name\" parameter must also be present.", "location": "query", "type": "string" } }, - "path": "{project}/managedZones/{managedZone}/rrsets", + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets", "response": { "$ref": "ResourceRecordSetsListResponse" }, @@ -982,11 +1030,11 @@ } } }, - "revision": "20191205", + "revision": "20200701", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { - "description": "A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.", + "description": "A Change represents a set of ResourceRecordSet additions and deletions\napplied atomically to a ManagedZone. ResourceRecordSets within a\nManagedZone are modified by creating a new Change element in the Changes\ncollection. In turn the Changes collection also records the past\nmodifications to the ResourceRecordSets in a ManagedZone. The current\nstate of the ManagedZone is the sum effect of applying all Change\nelements in the Changes collection in sequence.", "id": "Change", "properties": { "additions": { @@ -1013,18 +1061,17 @@ }, "kind": { "default": "dns#change", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#change\".", "type": "string" }, "startTime": { - "description": "The time that this operation was started by the server (output only). This is in RFC3339 text format.", + "description": "The time that this operation was started by the server (output only). This\nis in RFC3339 text format.", "type": "string" }, "status": { - "description": "Status of the operation (output only). A status of \"done\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", + "description": "Status of the operation (output only). A status of \"done\" means that the\nrequest to update the authoritative servers has been sent, but the\nservers might not be updated yet.", "enum": [ - "done", - "pending" + "pending", + "done" ], "enumDescriptions": [ "", @@ -1036,7 +1083,7 @@ "type": "object" }, "ChangesListResponse": { - "description": "The response to a request to enumerate Changes to a ResourceRecordSets collection.", + "description": "The response to a request to enumerate Changes to a ResourceRecordSets\ncollection.", "id": "ChangesListResponse", "properties": { "changes": { @@ -1055,7 +1102,7 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a \"snapshot\" of collections larger than the maximum page size.", + "description": "The presence of this field indicates that there exist more results\nfollowing your last page of results in pagination order. To fetch them,\nmake another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large\ncollections one page at a time. However, if the contents of the collection\nchange between the first and last paginated list request, the set of all\nelements returned will be an inconsistent view of the collection. There is\nno way to retrieve a \"snapshot\" of collections larger than the maximum\npage size.", "type": "string" } }, @@ -1066,13 +1113,13 @@ "id": "DnsKey", "properties": { "algorithm": { - "description": "String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.", + "description": "String mnemonic specifying the DNSSEC algorithm of this key. Immutable\nafter creation time.", "enum": [ - "ecdsap256sha256", - "ecdsap384sha384", "rsasha1", "rsasha256", - "rsasha512" + "rsasha512", + "ecdsap256sha256", + "ecdsap384sha384" ], "enumDescriptions": [ "", @@ -1084,15 +1131,15 @@ "type": "string" }, "creationTime": { - "description": "The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.", + "description": "The time that this resource was created in the control plane. This is in\nRFC3339 text format. Output only.", "type": "string" }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.", + "description": "A mutable string of at most 1024 characters associated with this resource\nfor the user's convenience. Has no effect on the resource's function.", "type": "string" }, "digests": { - "description": "Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.", + "description": "Cryptographic hashes of the DNSKEY resource record associated with this\nDnsKey. These digests are needed to construct a DS record that points at\nthis DNS key. Output only.", "items": { "$ref": "DnsKeyDigest" }, @@ -1103,7 +1150,7 @@ "type": "string" }, "isActive": { - "description": "Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.", + "description": "Active keys will be used to sign subsequent changes to the ManagedZone.\nInactive keys will still be present as DNSKEY Resource Records for the use\nof resolvers validating existing signatures.", "type": "boolean" }, "keyLength": { @@ -1112,13 +1159,12 @@ "type": "integer" }, "keyTag": { - "description": "The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.", + "description": "The key tag is a non-cryptographic hash of the a DNSKEY resource record\nassociated with this DnsKey. The key tag can be used to identify a DNSKEY\nmore quickly (but it is not a unique identifier). In particular, the key\ntag is used in a parent zone's DS record to point at the DNSKEY in this\nchild ManagedZone. The key tag is a number in the range [0, 65535] and the\nalgorithm to calculate it is specified in RFC4034 Appendix B. Output only.", "format": "int32", "type": "integer" }, "kind": { "default": "dns#dnsKey", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#dnsKey\".", "type": "string" }, "publicKey": { @@ -1126,7 +1172,7 @@ "type": "string" }, "type": { - "description": "One of \"KEY_SIGNING\" or \"ZONE_SIGNING\". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, will be used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag will be cleared and this key will be used to sign only resource record sets of other types. Immutable after creation time.", + "description": "One of \"KEY_SIGNING\" or \"ZONE_SIGNING\". Keys of type KEY_SIGNING have the\nSecure Entry Point flag set and, when active, will be used to sign only\nresource record sets of type DNSKEY. Otherwise, the Secure Entry Point\nflag will be cleared and this key will be used to sign only resource\nrecord sets of other types. Immutable after creation time.", "enum": [ "keySigning", "zoneSigning" @@ -1144,7 +1190,7 @@ "id": "DnsKeyDigest", "properties": { "digest": { - "description": "The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.", + "description": "The base-16 encoded bytes of this digest. Suitable for use in a DS\nresource record.", "type": "string" }, "type": { @@ -1165,17 +1211,17 @@ "type": "object" }, "DnsKeySpec": { - "description": "Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.", + "description": "Parameters for DnsKey key generation. Used for generating initial keys\nfor a new ManagedZone and as default when adding a new DnsKey.", "id": "DnsKeySpec", "properties": { "algorithm": { "description": "String mnemonic specifying the DNSSEC algorithm of this key.", "enum": [ - "ecdsap256sha256", - "ecdsap384sha384", "rsasha1", "rsasha256", - "rsasha512" + "rsasha512", + "ecdsap256sha256", + "ecdsap384sha384" ], "enumDescriptions": [ "", @@ -1192,7 +1238,7 @@ "type": "integer" }, "keyType": { - "description": "Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.", + "description": "Specifies whether this is a key signing key (KSK) or a zone signing key\n(ZSK). Key signing keys have the Secure Entry Point flag set and, when\nactive, will only be used to sign resource record sets of type DNSKEY.\nZone signing keys do not have the Secure Entry Point flag set and will be\nused to sign all other types of resource record sets.", "enum": [ "keySigning", "zoneSigning" @@ -1205,7 +1251,6 @@ }, "kind": { "default": "dns#dnsKeySpec", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#dnsKeySpec\".", "type": "string" } }, @@ -1231,22 +1276,22 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a \"snapshot\" of collections larger than the maximum page size.", + "description": "The presence of this field indicates that there exist more results\nfollowing your last page of results in pagination order. To fetch them,\nmake another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large\ncollections one page at a time. However, if the contents of the collection\nchange between the first and last paginated list request, the set of all\nelements returned will be an inconsistent view of the collection. There is\nno way to retrieve a \"snapshot\" of collections larger than the maximum\npage size.", "type": "string" } }, "type": "object" }, "ManagedZone": { - "description": "A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.", + "description": "A zone is a subtree of the DNS namespace under one administrative\nresponsibility. A ManagedZone is a resource that represents a DNS zone\nhosted by the Cloud DNS service.", "id": "ManagedZone", "properties": { "creationTime": { - "description": "The time that this resource was created on the server. This is in RFC3339 text format. Output only.", + "description": "The time that this resource was created on the server. This is in RFC3339\ntext format. Output only.", "type": "string" }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.", + "description": "A mutable string of at most 1024 characters associated with this resource\nfor the user's convenience. Has no effect on the managed zone's function.", "type": "string" }, "dnsName": { @@ -1259,7 +1304,7 @@ }, "forwardingConfig": { "$ref": "ManagedZoneForwardingConfig", - "description": "The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to." + "description": "The presence for this field indicates that outbound forwarding is enabled\nfor this zone. The value of this field contains the set of destinations\nto forward to." }, "id": { "description": "Unique identifier for the resource; defined by the server (output only)", @@ -1268,7 +1313,6 @@ }, "kind": { "default": "dns#managedZone", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZone\".", "type": "string" }, "labels": { @@ -1279,15 +1323,15 @@ "type": "object" }, "name": { - "description": "User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.", + "description": "User assigned name for this resource. Must be unique within the project.\nThe name must be 1-63 characters long, must begin with a letter, end with\na letter or digit, and only contain lowercase letters, digits or dashes.", "type": "string" }, "nameServerSet": { - "description": "Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.", + "description": "Optionally specifies the NameServerSet for this ManagedZone. A\nNameServerSet is a set of DNS name servers that all host the same\nManagedZones. Most users will leave this field unset.", "type": "string" }, "nameServers": { - "description": "Delegate your managed_zone to these virtual name servers; defined by the server (output only)", + "description": "Delegate your managed_zone to these virtual name servers; defined by the\nserver (output only)", "items": { "type": "string" }, @@ -1295,21 +1339,25 @@ }, "peeringConfig": { "$ref": "ManagedZonePeeringConfig", - "description": "The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with." + "description": "The presence of this field indicates that DNS Peering is enabled for this\nzone. The value of this field contains the network to peer with." }, "privateVisibilityConfig": { "$ref": "ManagedZonePrivateVisibilityConfig", - "description": "For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from." + "description": "For privately visible zones, the set of Virtual Private Cloud resources\nthat the zone is visible from." }, "reverseLookupConfig": { "$ref": "ManagedZoneReverseLookupConfig", - "description": "The presence of this field indicates that this is a managed reverse lookup zone and Cloud DNS will resolve reverse lookup queries using automatically configured records for VPC resources. This only applies to networks listed under private_visibility_config." + "description": "The presence of this field indicates that this is a managed reverse\nlookup zone and Cloud DNS will resolve reverse lookup queries using\nautomatically configured records for VPC resources. This only applies\nto networks listed under private_visibility_config." + }, + "serviceDirectoryConfig": { + "$ref": "ManagedZoneServiceDirectoryConfig", + "description": "This field links to the associated service directory namespace. This field\nshould not be set for public zones or forwarding zones." }, "visibility": { - "description": "The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.", + "description": "The zone's visibility: public zones are exposed to the Internet, while\nprivate zones are visible only to Virtual Private Cloud resources.", "enum": [ - "private", - "public" + "public", + "private" ], "enumDescriptions": [ "", @@ -1324,7 +1372,7 @@ "id": "ManagedZoneDnsSecConfig", "properties": { "defaultKeySpecs": { - "description": "Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.", + "description": "Specifies parameters for generating initial DnsKeys for this\nManagedZone. Can only be changed while the state is OFF.", "items": { "$ref": "DnsKeySpec" }, @@ -1332,11 +1380,10 @@ }, "kind": { "default": "dns#managedZoneDnsSecConfig", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZoneDnsSecConfig\".", "type": "string" }, "nonExistence": { - "description": "Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.", + "description": "Specifies the mechanism for authenticated denial-of-existence responses.\nCan only be changed while the state is OFF.", "enum": [ "nsec", "nsec3" @@ -1355,9 +1402,9 @@ "transfer" ], "enumDescriptions": [ - "", - "", - "" + "DNSSEC is disabled; the zone is not signed.", + "DNSSEC is enabled; the zone is signed and fully managed.", + "DNSSEC is enabled, but in a \"transfer\" mode." ], "type": "string" } @@ -1369,11 +1416,10 @@ "properties": { "kind": { "default": "dns#managedZoneForwardingConfig", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZoneForwardingConfig\".", "type": "string" }, "targetNameServers": { - "description": "List of target name servers to forward to. Cloud DNS will select the best available name server if more than one target is given.", + "description": "List of target name servers to forward to.\nCloud DNS will select the best available name server if more than one\ntarget is given.", "items": { "$ref": "ManagedZoneForwardingConfigNameServerTarget" }, @@ -1386,14 +1432,14 @@ "id": "ManagedZoneForwardingConfigNameServerTarget", "properties": { "forwardingPath": { - "description": "Forwarding path for this NameServerTarget, if unset or set to DEFAULT, Cloud DNS will make forwarding decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the Internet. When set to PRIVATE, Cloud DNS will always send queries through VPC for this target", + "description": "Forwarding path for this NameServerTarget, if unset or set to DEFAULT,\nCloud DNS will make forwarding decision based on address ranges,\ni.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the\nInternet. When set to PRIVATE, Cloud DNS will always send queries\nthrough VPC for this target", "enum": [ "default", "private" ], "enumDescriptions": [ - "", - "" + "Cloud DNS will make forwarding decision based on address ranges,\ni.e. RFC1918 addresses forward to the target through the VPC and\nNon-RFC1918 addresses will forward to the target through the\nInternet", + "Cloud DNS will always forward to this target through the VPC." ], "type": "string" }, @@ -1403,7 +1449,6 @@ }, "kind": { "default": "dns#managedZoneForwardingConfigNameServerTarget", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZoneForwardingConfigNameServerTarget\".", "type": "string" } }, @@ -1417,11 +1462,10 @@ }, "kind": { "default": "dns#managedZoneOperationsListResponse", - "description": "Type of resource.", "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", + "description": "The presence of this field indicates that there exist more results\nfollowing your last page of results in pagination order. To fetch them,\nmake another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large\ncollections one page at a time. However, if the contents of the collection\nchange between the first and last paginated list request, the set of all\nelements returned will be an inconsistent view of the collection. There is\nno way to retrieve a consistent snapshot of a collection larger than the\nmaximum page size.", "type": "string" }, "operations": { @@ -1439,7 +1483,6 @@ "properties": { "kind": { "default": "dns#managedZonePeeringConfig", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZonePeeringConfig\".", "type": "string" }, "targetNetwork": { @@ -1453,16 +1496,15 @@ "id": "ManagedZonePeeringConfigTargetNetwork", "properties": { "deactivateTime": { - "description": "The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.", + "description": "The time at which the zone was deactivated, in RFC 3339 date-time\nformat. An empty string indicates that the peering connection is\nactive. The producer network can deactivate a zone. The zone is\nautomatically deactivated if the producer network that the zone\ntargeted is deleted. Output only.", "type": "string" }, "kind": { "default": "dns#managedZonePeeringConfigTargetNetwork", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZonePeeringConfigTargetNetwork\".", "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to forward queries to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "description": "The fully qualified URL of the VPC network to forward queries to.\nThis should be formatted like\nhttps://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", "type": "string" } }, @@ -1473,7 +1515,6 @@ "properties": { "kind": { "default": "dns#managedZonePrivateVisibilityConfig", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZonePrivateVisibilityConfig\".", "type": "string" }, "networks": { @@ -1491,11 +1532,10 @@ "properties": { "kind": { "default": "dns#managedZonePrivateVisibilityConfigNetwork", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZonePrivateVisibilityConfigNetwork\".", "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "description": "The fully qualified URL of the VPC network to bind to.\nThis should be formatted like\nhttps://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", "type": "string" } }, @@ -1506,7 +1546,39 @@ "properties": { "kind": { "default": "dns#managedZoneReverseLookupConfig", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZoneReverseLookupConfig\".", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneServiceDirectoryConfig": { + "description": "Contains information about Service Directory-backed zones.", + "id": "ManagedZoneServiceDirectoryConfig", + "properties": { + "kind": { + "default": "dns#managedZoneServiceDirectoryConfig", + "type": "string" + }, + "namespace": { + "$ref": "ManagedZoneServiceDirectoryConfigNamespace", + "description": "Contains information about the namespace associated with the zone." + } + }, + "type": "object" + }, + "ManagedZoneServiceDirectoryConfigNamespace": { + "id": "ManagedZoneServiceDirectoryConfigNamespace", + "properties": { + "deletionTime": { + "description": "The time that the namespace backing this zone was deleted, empty\nstring if it still exists. This is in RFC3339 text format. Output\nonly.", + "type": "string" + }, + "kind": { + "default": "dns#managedZoneServiceDirectoryConfigNamespace", + "type": "string" + }, + "namespaceUrl": { + "description": "The fully qualified URL of the namespace associated with the zone.\nThis should be formatted like\nhttps://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace}", "type": "string" } }, @@ -1531,14 +1603,14 @@ "type": "array" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", + "description": "The presence of this field indicates that there exist more results\nfollowing your last page of results in pagination order. To fetch them,\nmake another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large\ncollections one page at a time. However, if the contents of the collection\nchange between the first and last paginated list request, the set of all\nelements returned will be an inconsistent view of the collection. There is\nno way to retrieve a consistent snapshot of a collection larger than the\nmaximum page size.", "type": "string" } }, "type": "object" }, "Operation": { - "description": "An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.", + "description": "An operation represents a successful mutation performed on a Cloud DNS\nresource.\nOperations provide:\n- An audit log of server resource mutations.\n- A way to recover/retry API calls in the case where the response is never\n received by the caller. Use the caller specified client_operation_id.", "id": "Operation", "properties": { "dnsKeyContext": { @@ -1546,23 +1618,22 @@ "description": "Only populated if the operation targeted a DnsKey (output only)." }, "id": { - "description": "Unique identifier for the resource. This is the client_operation_id if the client specified it when the mutation was initiated, otherwise, it is generated by the server. The name must be 1-63 characters long and match the regular expression [-a-z0-9]? (output only)", + "description": "Unique identifier for the resource. This is the client_operation_id if\nthe client specified it when the mutation was initiated, otherwise,\nit is generated by the server. The name must be 1-63 characters long\nand match the regular expression [-a-z0-9]? (output only)", "type": "string" }, "kind": { "default": "dns#operation", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#operation\".", "type": "string" }, "startTime": { - "description": "The time that this operation was started by the server. This is in RFC3339 text format (output only).", + "description": "The time that this operation was started by the server. This is in RFC3339\ntext format (output only).", "type": "string" }, "status": { - "description": "Status of the operation. Can be one of the following: \"PENDING\" or \"DONE\" (output only). A status of \"DONE\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", + "description": "Status of the operation. Can be one of the following: \"PENDING\" or \"DONE\"\n(output only). A status of \"DONE\" means that the\nrequest to update the authoritative servers has been sent, but the\nservers might not be updated yet.", "enum": [ - "done", - "pending" + "pending", + "done" ], "enumDescriptions": [ "", @@ -1571,11 +1642,11 @@ "type": "string" }, "type": { - "description": "Type of the operation. Operations include insert, update, and delete (output only).", + "description": "Type of the operation. Operations include insert, update, and delete\n(output only).", "type": "string" }, "user": { - "description": "User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)", + "description": "User who requested the operation, for example: user@example.com.\ncloud-dns-system for operations automatically done by the system.\n(output only)", "type": "string" }, "zoneContext": { @@ -1625,7 +1696,7 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", + "description": "The presence of this field indicates that there exist more results\nfollowing your last page of results in pagination order. To fetch them,\nmake another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large\ncollections one page at a time. However, if the contents of the collection\nchange between the first and last paginated list request, the set of all\nelements returned will be an inconsistent view of the collection. There is\nno way to retrieve a consistent snapshot of a collection larger than the\nmaximum page size.", "type": "string" }, "policies": { @@ -1663,23 +1734,23 @@ "type": "object" }, "Policy": { - "description": "A policy is a collection of DNS rules applied to one or more Virtual Private Cloud resources.", + "description": "A policy is a collection of DNS rules applied to one or more Virtual Private\nCloud resources.", "id": "Policy", "properties": { "alternativeNameServerConfig": { "$ref": "PolicyAlternativeNameServerConfig", - "description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified." + "description": "Sets an alternative name server for the associated networks. When\nspecified, all DNS queries are forwarded to a name server that you\nchoose. Names such as .internal are not available when an alternative\nname server is specified." }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function.", + "description": "A mutable string of at most 1024 characters associated with this resource\nfor the user's convenience. Has no effect on the policy's function.", "type": "string" }, "enableInboundForwarding": { - "description": "Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address will be allocated from each of the sub-networks that are bound to this policy.", + "description": "Allows networks bound to this policy to receive DNS queries sent by VMs or\napplications over VPN connections. When enabled, a virtual IP address will\nbe allocated from each of the sub-networks that are bound to this policy.", "type": "boolean" }, "enableLogging": { - "description": "Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set.", + "description": "Controls whether logging is enabled for the networks bound to this policy.\nDefaults to no logging if not set.", "type": "boolean" }, "id": { @@ -1689,7 +1760,6 @@ }, "kind": { "default": "dns#policy", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#policy\".", "type": "string" }, "name": { @@ -1711,11 +1781,10 @@ "properties": { "kind": { "default": "dns#policyAlternativeNameServerConfig", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#policyAlternativeNameServerConfig\".", "type": "string" }, "targetNameServers": { - "description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified.", + "description": "Sets an alternative name server for the associated networks. When\nspecified, all DNS queries are forwarded to a name server that you\nchoose. Names such as .internal are not available when an alternative\nname server is specified.", "items": { "$ref": "PolicyAlternativeNameServerConfigTargetNameServer" }, @@ -1728,14 +1797,14 @@ "id": "PolicyAlternativeNameServerConfigTargetNameServer", "properties": { "forwardingPath": { - "description": "Forwarding path for this TargetNameServer, if unset or set to DEFAULT, Cloud DNS will make forwarding decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the Internet. When set to PRIVATE, Cloud DNS will always send queries through VPC for this target", + "description": "Forwarding path for this TargetNameServer, if unset or set to DEFAULT,\nCloud DNS will make forwarding decision based on address ranges,\ni.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the\nInternet. When set to PRIVATE, Cloud DNS will always send queries\nthrough VPC for this target", "enum": [ "default", "private" ], "enumDescriptions": [ - "", - "" + "Cloud DNS will make forwarding decision based on address ranges,\ni.e. RFC1918 addresses forward to the target through the VPC and\nNon-RFC1918 addresses will forward to the target through the\nInternet", + "Cloud DNS will always forward to this target through the VPC." ], "type": "string" }, @@ -1745,7 +1814,6 @@ }, "kind": { "default": "dns#policyAlternativeNameServerConfigTargetNameServer", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#policyAlternativeNameServerConfigTargetNameServer\".", "type": "string" } }, @@ -1756,18 +1824,17 @@ "properties": { "kind": { "default": "dns#policyNetwork", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#policyNetwork\".", "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "description": "The fully qualified URL of the VPC network to bind to.\nThis should be formatted like\nhttps://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", "type": "string" } }, "type": "object" }, "Project": { - "description": "A project resource. The project is a top level container for resources including Cloud DNS ManagedZones. Projects can be created only in the APIs console.", + "description": "A project resource. The project is a top level container for resources\nincluding Cloud DNS ManagedZones. Projects can be created only in the APIs\nconsole.", "id": "Project", "properties": { "id": { @@ -1776,11 +1843,10 @@ }, "kind": { "default": "dns#project", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#project\".", "type": "string" }, "number": { - "description": "Unique numeric identifier for the resource; defined by the server (output only).", + "description": "Unique numeric identifier for the resource; defined by the server (output\nonly).", "format": "uint64", "type": "string" }, @@ -1802,7 +1868,6 @@ }, "kind": { "default": "dns#quota", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#quota\".", "type": "string" }, "managedZones": { @@ -1811,12 +1876,12 @@ "type": "integer" }, "managedZonesPerNetwork": { - "description": "Maximum allowed number of managed zones which can be attached to a network.", + "description": "Maximum allowed number of managed zones which can be attached to a\nnetwork.", "format": "int32", "type": "integer" }, "networksPerManagedZone": { - "description": "Maximum allowed number of networks to which a privately scoped zone can be attached.", + "description": "Maximum allowed number of networks to which a privately scoped zone can be\nattached.", "format": "int32", "type": "integer" }, @@ -1836,12 +1901,12 @@ "type": "integer" }, "rrsetAdditionsPerChange": { - "description": "Maximum allowed number of ResourceRecordSets to add per ChangesCreateRequest.", + "description": "Maximum allowed number of ResourceRecordSets to add per\nChangesCreateRequest.", "format": "int32", "type": "integer" }, "rrsetDeletionsPerChange": { - "description": "Maximum allowed number of ResourceRecordSets to delete per ChangesCreateRequest.", + "description": "Maximum allowed number of ResourceRecordSets to delete per\nChangesCreateRequest.", "format": "int32", "type": "integer" }, @@ -1861,7 +1926,7 @@ "type": "integer" }, "totalRrdataSizePerChange": { - "description": "Maximum allowed size for total rrdata in one ChangesCreateRequest in bytes.", + "description": "Maximum allowed size for total rrdata in one ChangesCreateRequest in\nbytes.", "format": "int32", "type": "integer" }, @@ -1881,7 +1946,6 @@ "properties": { "kind": { "default": "dns#resourceRecordSet", - "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#resourceRecordSet\".", "type": "string" }, "name": { @@ -1889,7 +1953,7 @@ "type": "string" }, "rrdatas": { - "description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.", + "description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see\nexamples.", "items": { "type": "string" }, @@ -1908,7 +1972,7 @@ "type": "integer" }, "type": { - "description": "The identifier of a supported record type. See the list of Supported DNS record types.", + "description": "The identifier of a supported record type. See the list of\nSupported\nDNS record types.", "type": "string" } }, @@ -1926,7 +1990,7 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", + "description": "The presence of this field indicates that there exist more results\nfollowing your last page of results in pagination order. To fetch them,\nmake another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large\ncollections one page at a time. However, if the contents of the collection\nchange between the first and last paginated list request, the set of all\nelements returned will be an inconsistent view of the collection. There is\nno way to retrieve a consistent snapshot of a collection larger than the\nmaximum page size.", "type": "string" }, "rrsets": { @@ -1944,14 +2008,14 @@ "id": "ResponseHeader", "properties": { "operationId": { - "description": "For mutating operation requests that completed successfully. This is the client_operation_id if the client specified it, otherwise it is generated by the server (output only).", + "description": "For mutating operation requests that completed successfully.\nThis is the client_operation_id if the client specified it,\notherwise it is generated by the server (output only).", "type": "string" } }, "type": "object" } }, - "servicePath": "dns/v1beta2/projects/", - "title": "Google Cloud DNS API", + "servicePath": "", + "title": "Cloud DNS API", "version": "v1beta2" } \ No newline at end of file diff --git a/etc/api/dns/v2beta1/dns-api.json b/etc/api/dns/v2beta1/dns-api.json index 5c5385c45d..129fe3ae69 100644 --- a/etc/api/dns/v2beta1/dns-api.json +++ b/etc/api/dns/v2beta1/dns-api.json @@ -23,7 +23,7 @@ "description": "Configures and serves authoritative DNS records.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/cloud-dns", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/Nx_eZgIPD51BKppiHoY05GMU8EA\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/jaEwhiybPZnNT4Ypjggu1x15Y6w\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -83,7 +83,7 @@ "changes": { "methods": { "create": { - "description": "Atomically update the ResourceRecordSet collection.", + "description": "", "httpMethod": "POST", "id": "dns.changes.create", "parameterOrder": [ @@ -92,18 +92,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -122,7 +119,7 @@ ] }, "get": { - "description": "Fetch the representation of an existing Change.", + "description": "", "httpMethod": "GET", "id": "dns.changes.get", "parameterOrder": [ @@ -132,24 +129,20 @@ ], "parameters": { "changeId": { - "description": "The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse.", "location": "path", "required": true, "type": "string" }, "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -167,7 +160,7 @@ ] }, "list": { - "description": "Enumerate Changes to a ResourceRecordSet collection.", + "description": "", "httpMethod": "GET", "id": "dns.changes.list", "parameterOrder": [ @@ -176,31 +169,26 @@ ], "parameters": { "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" }, "sortBy": { "default": "CHANGE_SEQUENCE", - "description": "Sorting criterion. The only supported value is change sequence.", "enum": [ "CHANGE_SEQUENCE" ], @@ -211,7 +199,6 @@ "type": "string" }, "sortOrder": { - "description": "Sorting order direction: 'ascending' or 'descending'.", "location": "query", "type": "string" } @@ -232,7 +219,7 @@ "dnsKeys": { "methods": { "get": { - "description": "Fetch the representation of an existing DnsKey.", + "description": "", "httpMethod": "GET", "id": "dns.dnsKeys.get", "parameterOrder": [ @@ -242,29 +229,24 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "digestType": { - "description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed.", "location": "query", "type": "string" }, "dnsKeyId": { - "description": "The identifier of the requested DnsKey.", "location": "path", "required": true, "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -282,7 +264,7 @@ ] }, "list": { - "description": "Enumerate DnsKeys to a ResourceRecordSet collection.", + "description": "", "httpMethod": "GET", "id": "dns.dnsKeys.list", "parameterOrder": [ @@ -291,29 +273,24 @@ ], "parameters": { "digestType": { - "description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type will be computed and displayed.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -335,7 +312,7 @@ "managedZoneOperations": { "methods": { "get": { - "description": "Fetch the representation of an existing Operation.", + "description": "", "httpMethod": "GET", "id": "dns.managedZoneOperations.get", "parameterOrder": [ @@ -345,24 +322,20 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request.", "location": "path", "required": true, "type": "string" }, "operation": { - "description": "Identifies the operation addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -380,7 +353,7 @@ ] }, "list": { - "description": "Enumerate Operations for the given ManagedZone.", + "description": "", "httpMethod": "GET", "id": "dns.managedZoneOperations.list", "parameterOrder": [ @@ -389,31 +362,26 @@ ], "parameters": { "managedZone": { - "description": "Identifies the managed zone addressed by this request.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" }, "sortBy": { "default": "START_TIME", - "description": "Sorting criterion. The only supported values are START_TIME and ID.", "enum": [ "ID", "START_TIME" @@ -442,7 +410,7 @@ "managedZones": { "methods": { "create": { - "description": "Create a new ManagedZone.", + "description": "", "httpMethod": "POST", "id": "dns.managedZones.create", "parameterOrder": [ @@ -450,12 +418,10 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -474,7 +440,7 @@ ] }, "delete": { - "description": "Delete a previously created ManagedZone.", + "description": "", "httpMethod": "DELETE", "id": "dns.managedZones.delete", "parameterOrder": [ @@ -483,18 +449,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -507,7 +470,7 @@ ] }, "get": { - "description": "Fetch the representation of an existing ManagedZone.", + "description": "", "httpMethod": "GET", "id": "dns.managedZones.get", "parameterOrder": [ @@ -516,18 +479,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -545,7 +505,7 @@ ] }, "list": { - "description": "Enumerate ManagedZones that have been created but not yet deleted.", + "description": "", "httpMethod": "GET", "id": "dns.managedZones.list", "parameterOrder": [ @@ -553,23 +513,19 @@ ], "parameters": { "dnsName": { - "description": "Restricts the list to return only zones with this domain name.", "location": "query", "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -587,7 +543,7 @@ ] }, "patch": { - "description": "Apply a partial update to an existing ManagedZone.", + "description": "", "httpMethod": "PATCH", "id": "dns.managedZones.patch", "parameterOrder": [ @@ -596,18 +552,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -626,7 +579,7 @@ ] }, "update": { - "description": "Update an existing ManagedZone.", + "description": "", "httpMethod": "PUT", "id": "dns.managedZones.update", "parameterOrder": [ @@ -635,18 +588,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -669,7 +619,7 @@ "policies": { "methods": { "create": { - "description": "Create a new Policy", + "description": "", "httpMethod": "POST", "id": "dns.policies.create", "parameterOrder": [ @@ -677,12 +627,10 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -701,7 +649,7 @@ ] }, "delete": { - "description": "Delete a previously created Policy. Will fail if the policy is still being referenced by a network.", + "description": "", "httpMethod": "DELETE", "id": "dns.policies.delete", "parameterOrder": [ @@ -710,18 +658,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "policy": { - "description": "User given friendly name of the policy addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -734,7 +679,7 @@ ] }, "get": { - "description": "Fetch the representation of an existing Policy.", + "description": "", "httpMethod": "GET", "id": "dns.policies.get", "parameterOrder": [ @@ -743,18 +688,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "policy": { - "description": "User given friendly name of the policy addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -772,7 +714,7 @@ ] }, "list": { - "description": "Enumerate all Policies associated with a project.", + "description": "", "httpMethod": "GET", "id": "dns.policies.list", "parameterOrder": [ @@ -780,18 +722,15 @@ ], "parameters": { "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -809,7 +748,7 @@ ] }, "patch": { - "description": "Apply a partial update to an existing Policy.", + "description": "", "httpMethod": "PATCH", "id": "dns.policies.patch", "parameterOrder": [ @@ -818,18 +757,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "policy": { - "description": "User given friendly name of the policy addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -848,7 +784,7 @@ ] }, "update": { - "description": "Update an existing Policy.", + "description": "", "httpMethod": "PUT", "id": "dns.policies.update", "parameterOrder": [ @@ -857,18 +793,15 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "policy": { - "description": "User given friendly name of the policy addressed by this request.", "location": "path", "required": true, "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -891,7 +824,7 @@ "projects": { "methods": { "get": { - "description": "Fetch the representation of an existing Project.", + "description": "", "httpMethod": "GET", "id": "dns.projects.get", "parameterOrder": [ @@ -899,12 +832,10 @@ ], "parameters": { "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" @@ -926,7 +857,7 @@ "resourceRecordSets": { "methods": { "list": { - "description": "Enumerate ResourceRecordSets that have been created but not yet deleted.", + "description": "", "httpMethod": "GET", "id": "dns.resourceRecordSets.list", "parameterOrder": [ @@ -935,35 +866,29 @@ ], "parameters": { "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or id.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.", "format": "int32", "location": "query", "type": "integer" }, "name": { - "description": "Restricts the list to return only records with this fully qualified domain name.", "location": "query", "type": "string" }, "pageToken": { - "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", "location": "query", "type": "string" }, "project": { - "description": "Identifies the project addressed by this request.", "location": "path", "required": true, "type": "string" }, "type": { - "description": "Restricts the list to return only records of this type. If present, the \"name\" parameter must also be present.", "location": "query", "type": "string" } @@ -982,33 +907,28 @@ } } }, - "revision": "20191205", + "revision": "20200515", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { - "description": "A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.", "id": "Change", "properties": { "additions": { - "description": "Which ResourceRecordSets to add?", "items": { "$ref": "ResourceRecordSet" }, "type": "array" }, "deletions": { - "description": "Which ResourceRecordSets to remove? Must match existing data exactly.", "items": { "$ref": "ResourceRecordSet" }, "type": "array" }, "id": { - "description": "Unique identifier for the resource; defined by the server (output only).", "type": "string" }, "isServing": { - "description": "If the DNS queries for the zone will be served.", "type": "boolean" }, "kind": { @@ -1017,11 +937,9 @@ "type": "string" }, "startTime": { - "description": "The time that this operation was started by the server (output only). This is in RFC3339 text format.", "type": "string" }, "status": { - "description": "Status of the operation (output only). A status of \"done\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", "enum": [ "DONE", "PENDING" @@ -1036,11 +954,9 @@ "type": "object" }, "ChangesListResponse": { - "description": "The response to a request to enumerate Changes to a ResourceRecordSets collection.", "id": "ChangesListResponse", "properties": { "changes": { - "description": "The requested changes.", "items": { "$ref": "Change" }, @@ -1055,18 +971,15 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a \"snapshot\" of collections larger than the maximum page size.", "type": "string" } }, "type": "object" }, "DnsKey": { - "description": "A DNSSEC key pair.", "id": "DnsKey", "properties": { "algorithm": { - "description": "String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.", "enum": [ "ECDSAP256SHA256", "ECDSAP384SHA384", @@ -1084,35 +997,28 @@ "type": "string" }, "creationTime": { - "description": "The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.", "type": "string" }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.", "type": "string" }, "digests": { - "description": "Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.", "items": { "$ref": "DnsKeyDigest" }, "type": "array" }, "id": { - "description": "Unique identifier for the resource; defined by the server (output only).", "type": "string" }, "isActive": { - "description": "Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.", "type": "boolean" }, "keyLength": { - "description": "Length of the key in bits. Specified at creation time then immutable.", "format": "uint32", "type": "integer" }, "keyTag": { - "description": "The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.", "format": "int32", "type": "integer" }, @@ -1122,11 +1028,9 @@ "type": "string" }, "publicKey": { - "description": "Base64 encoded public half of this key. Output only.", "type": "string" }, "type": { - "description": "One of \"KEY_SIGNING\" or \"ZONE_SIGNING\". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, will be used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag will be cleared and this key will be used to sign only resource record sets of other types. Immutable after creation time.", "enum": [ "KEY_SIGNING", "ZONE_SIGNING" @@ -1144,11 +1048,9 @@ "id": "DnsKeyDigest", "properties": { "digest": { - "description": "The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.", "type": "string" }, "type": { - "description": "Specifies the algorithm used to calculate this digest.", "enum": [ "SHA1", "SHA256", @@ -1165,11 +1067,9 @@ "type": "object" }, "DnsKeySpec": { - "description": "Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.", "id": "DnsKeySpec", "properties": { "algorithm": { - "description": "String mnemonic specifying the DNSSEC algorithm of this key.", "enum": [ "ECDSAP256SHA256", "ECDSAP384SHA384", @@ -1187,12 +1087,10 @@ "type": "string" }, "keyLength": { - "description": "Length of the keys in bits.", "format": "uint32", "type": "integer" }, "keyType": { - "description": "Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.", "enum": [ "KEY_SIGNING", "ZONE_SIGNING" @@ -1212,11 +1110,9 @@ "type": "object" }, "DnsKeysListResponse": { - "description": "The response to a request to enumerate DnsKeys in a ManagedZone.", "id": "DnsKeysListResponse", "properties": { "dnsKeys": { - "description": "The requested resources.", "items": { "$ref": "DnsKey" }, @@ -1231,38 +1127,30 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a \"snapshot\" of collections larger than the maximum page size.", "type": "string" } }, "type": "object" }, "ManagedZone": { - "description": "A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.", "id": "ManagedZone", "properties": { "creationTime": { - "description": "The time that this resource was created on the server. This is in RFC3339 text format. Output only.", "type": "string" }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.", "type": "string" }, "dnsName": { - "description": "The DNS name of this managed zone, for instance \"example.com.\".", "type": "string" }, "dnssecConfig": { - "$ref": "ManagedZoneDnsSecConfig", - "description": "DNSSEC configuration." + "$ref": "ManagedZoneDnsSecConfig" }, "forwardingConfig": { - "$ref": "ManagedZoneForwardingConfig", - "description": "The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to." + "$ref": "ManagedZoneForwardingConfig" }, "id": { - "description": "Unique identifier for the resource; defined by the server (output only)", "format": "uint64", "type": "string" }, @@ -1275,34 +1163,30 @@ "additionalProperties": { "type": "string" }, - "description": "User labels.", "type": "object" }, "name": { - "description": "User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.", "type": "string" }, "nameServerSet": { - "description": "Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.", "type": "string" }, "nameServers": { - "description": "Delegate your managed_zone to these virtual name servers; defined by the server (output only)", "items": { "type": "string" }, "type": "array" }, "peeringConfig": { - "$ref": "ManagedZonePeeringConfig", - "description": "The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with." + "$ref": "ManagedZonePeeringConfig" }, "privateVisibilityConfig": { - "$ref": "ManagedZonePrivateVisibilityConfig", - "description": "For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from." + "$ref": "ManagedZonePrivateVisibilityConfig" + }, + "reverseLookupConfig": { + "$ref": "ManagedZoneReverseLookupConfig" }, "visibility": { - "description": "The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.", "enum": [ "PRIVATE", "PUBLIC" @@ -1320,7 +1204,6 @@ "id": "ManagedZoneDnsSecConfig", "properties": { "defaultKeySpecs": { - "description": "Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.", "items": { "$ref": "DnsKeySpec" }, @@ -1332,7 +1215,6 @@ "type": "string" }, "nonExistence": { - "description": "Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.", "enum": [ "NSEC", "NSEC3" @@ -1344,7 +1226,6 @@ "type": "string" }, "state": { - "description": "Specifies whether DNSSEC is enabled, and what mode it is in.", "enum": [ "OFF", "ON", @@ -1369,7 +1250,6 @@ "type": "string" }, "targetNameServers": { - "description": "List of target name servers to forward to. Cloud DNS will select the best available name server if more than one target is given.", "items": { "$ref": "ManagedZoneForwardingConfigNameServerTarget" }, @@ -1381,8 +1261,18 @@ "ManagedZoneForwardingConfigNameServerTarget": { "id": "ManagedZoneForwardingConfigNameServerTarget", "properties": { + "forwardingPath": { + "enum": [ + "DEFAULT", + "PRIVATE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "ipv4Address": { - "description": "IPv4 address of a target name server.", "type": "string" }, "kind": { @@ -1405,11 +1295,9 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", "type": "string" }, "operations": { - "description": "The operation resources.", "items": { "$ref": "Operation" }, @@ -1427,8 +1315,7 @@ "type": "string" }, "targetNetwork": { - "$ref": "ManagedZonePeeringConfigTargetNetwork", - "description": "The network with which to peer." + "$ref": "ManagedZonePeeringConfigTargetNetwork" } }, "type": "object" @@ -1437,7 +1324,6 @@ "id": "ManagedZonePeeringConfigTargetNetwork", "properties": { "deactivateTime": { - "description": "The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.", "type": "string" }, "kind": { @@ -1446,7 +1332,6 @@ "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to forward queries to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", "type": "string" } }, @@ -1461,7 +1346,6 @@ "type": "string" }, "networks": { - "description": "The list of VPC networks that can see this zone.", "items": { "$ref": "ManagedZonePrivateVisibilityConfigNetwork" }, @@ -1479,7 +1363,17 @@ "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneReverseLookupConfig": { + "id": "ManagedZoneReverseLookupConfig", + "properties": { + "kind": { + "default": "dns#managedZoneReverseLookupConfig", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dns#managedZoneReverseLookupConfig\".", "type": "string" } }, @@ -1497,29 +1391,24 @@ "type": "string" }, "managedZones": { - "description": "The managed zone resources.", "items": { "$ref": "ManagedZone" }, "type": "array" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", "type": "string" } }, "type": "object" }, "Operation": { - "description": "An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.", "id": "Operation", "properties": { "dnsKeyContext": { - "$ref": "OperationDnsKeyContext", - "description": "Only populated if the operation targeted a DnsKey (output only)." + "$ref": "OperationDnsKeyContext" }, "id": { - "description": "Unique identifier for the resource. This is the client_operation_id if the client specified it when the mutation was initiated, otherwise, it is generated by the server. The name must be 1-63 characters long and match the regular expression [-a-z0-9]? (output only)", "type": "string" }, "kind": { @@ -1528,11 +1417,9 @@ "type": "string" }, "startTime": { - "description": "The time that this operation was started by the server. This is in RFC3339 text format (output only).", "type": "string" }, "status": { - "description": "Status of the operation. Can be one of the following: \"PENDING\" or \"DONE\" (output only). A status of \"DONE\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", "enum": [ "DONE", "PENDING" @@ -1544,16 +1431,13 @@ "type": "string" }, "type": { - "description": "Type of the operation. Operations include insert, update, and delete (output only).", "type": "string" }, "user": { - "description": "User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)", "type": "string" }, "zoneContext": { - "$ref": "OperationManagedZoneContext", - "description": "Only populated if the operation targeted a ManagedZone (output only)." + "$ref": "OperationManagedZoneContext" } }, "type": "object" @@ -1562,12 +1446,10 @@ "id": "OperationDnsKeyContext", "properties": { "newValue": { - "$ref": "DnsKey", - "description": "The post-operation DnsKey resource." + "$ref": "DnsKey" }, "oldValue": { - "$ref": "DnsKey", - "description": "The pre-operation DnsKey resource." + "$ref": "DnsKey" } }, "type": "object" @@ -1576,12 +1458,10 @@ "id": "OperationManagedZoneContext", "properties": { "newValue": { - "$ref": "ManagedZone", - "description": "The post-operation ManagedZone resource." + "$ref": "ManagedZone" }, "oldValue": { - "$ref": "ManagedZone", - "description": "The pre-operation ManagedZone resource." + "$ref": "ManagedZone" } }, "type": "object" @@ -1598,11 +1478,9 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", "type": "string" }, "policies": { - "description": "The policy resources.", "items": { "$ref": "Policy" }, @@ -1636,27 +1514,21 @@ "type": "object" }, "Policy": { - "description": "A policy is a collection of DNS rules applied to one or more Virtual Private Cloud resources.", "id": "Policy", "properties": { "alternativeNameServerConfig": { - "$ref": "PolicyAlternativeNameServerConfig", - "description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified." + "$ref": "PolicyAlternativeNameServerConfig" }, "description": { - "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function.", "type": "string" }, "enableInboundForwarding": { - "description": "Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address will be allocated from each of the sub-networks that are bound to this policy.", "type": "boolean" }, "enableLogging": { - "description": "Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set.", "type": "boolean" }, "id": { - "description": "Unique identifier for the resource; defined by the server (output only).", "format": "uint64", "type": "string" }, @@ -1666,11 +1538,9 @@ "type": "string" }, "name": { - "description": "User assigned name for this policy.", "type": "string" }, "networks": { - "description": "List of network names specifying networks to which this policy is applied.", "items": { "$ref": "PolicyNetwork" }, @@ -1688,7 +1558,6 @@ "type": "string" }, "targetNameServers": { - "description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified.", "items": { "$ref": "PolicyAlternativeNameServerConfigTargetNameServer" }, @@ -1700,8 +1569,18 @@ "PolicyAlternativeNameServerConfigTargetNameServer": { "id": "PolicyAlternativeNameServerConfigTargetNameServer", "properties": { + "forwardingPath": { + "enum": [ + "DEFAULT", + "PRIVATE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "ipv4Address": { - "description": "IPv4 address to forward to.", "type": "string" }, "kind": { @@ -1721,18 +1600,15 @@ "type": "string" }, "networkUrl": { - "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", "type": "string" } }, "type": "object" }, "Project": { - "description": "A project resource. The project is a top level container for resources including Cloud DNS ManagedZones. Projects can be created only in the APIs console.", "id": "Project", "properties": { "id": { - "description": "User assigned unique identifier for the resource (output only).", "type": "string" }, "kind": { @@ -1741,23 +1617,19 @@ "type": "string" }, "number": { - "description": "Unique numeric identifier for the resource; defined by the server (output only).", "format": "uint64", "type": "string" }, "quota": { - "$ref": "Quota", - "description": "Quotas assigned to this project (output only)." + "$ref": "Quota" } }, "type": "object" }, "Quota": { - "description": "Limits associated with a Project.", "id": "Quota", "properties": { "dnsKeysPerManagedZone": { - "description": "Maximum allowed number of DnsKeys per ManagedZone.", "format": "int32", "type": "integer" }, @@ -1767,67 +1639,54 @@ "type": "string" }, "managedZones": { - "description": "Maximum allowed number of managed zones in the project.", "format": "int32", "type": "integer" }, "managedZonesPerNetwork": { - "description": "Maximum allowed number of managed zones which can be attached to a network.", "format": "int32", "type": "integer" }, "networksPerManagedZone": { - "description": "Maximum allowed number of networks to which a privately scoped zone can be attached.", "format": "int32", "type": "integer" }, "networksPerPolicy": { - "description": "Maximum allowed number of networks per policy.", "format": "int32", "type": "integer" }, "policies": { - "description": "Maximum allowed number of policies per project.", "format": "int32", "type": "integer" }, "resourceRecordsPerRrset": { - "description": "Maximum allowed number of ResourceRecords per ResourceRecordSet.", "format": "int32", "type": "integer" }, "rrsetAdditionsPerChange": { - "description": "Maximum allowed number of ResourceRecordSets to add per ChangesCreateRequest.", "format": "int32", "type": "integer" }, "rrsetDeletionsPerChange": { - "description": "Maximum allowed number of ResourceRecordSets to delete per ChangesCreateRequest.", "format": "int32", "type": "integer" }, "rrsetsPerManagedZone": { - "description": "Maximum allowed number of ResourceRecordSets per zone in the project.", "format": "int32", "type": "integer" }, "targetNameServersPerManagedZone": { - "description": "Maximum allowed number of target name servers per managed forwarding zone.", "format": "int32", "type": "integer" }, "targetNameServersPerPolicy": { - "description": "Maximum allowed number of alternative target name servers per policy.", "format": "int32", "type": "integer" }, "totalRrdataSizePerChange": { - "description": "Maximum allowed size for total rrdata in one ChangesCreateRequest in bytes.", "format": "int32", "type": "integer" }, "whitelistedKeySpecs": { - "description": "DNSSEC algorithm and key length types that can be used for DnsKeys.", "items": { "$ref": "DnsKeySpec" }, @@ -1837,7 +1696,6 @@ "type": "object" }, "ResourceRecordSet": { - "description": "A unit of data that will be returned by the DNS servers.", "id": "ResourceRecordSet", "properties": { "kind": { @@ -1846,30 +1704,25 @@ "type": "string" }, "name": { - "description": "For example, www.example.com.", "type": "string" }, "rrdatas": { - "description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.", "items": { "type": "string" }, "type": "array" }, "signatureRrdatas": { - "description": "As defined in RFC 4034 (section 3.2).", "items": { "type": "string" }, "type": "array" }, "ttl": { - "description": "Number of seconds that this ResourceRecordSet can be cached by resolvers.", "format": "int32", "type": "integer" }, "type": { - "description": "The identifier of a supported record type. See the list of Supported DNS record types.", "type": "string" } }, @@ -1887,11 +1740,9 @@ "type": "string" }, "nextPageToken": { - "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.\n\nIn this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.", "type": "string" }, "rrsets": { - "description": "The resource record set resources.", "items": { "$ref": "ResourceRecordSet" }, @@ -1901,11 +1752,9 @@ "type": "object" }, "ResponseHeader": { - "description": "Elements common to every response.", "id": "ResponseHeader", "properties": { "operationId": { - "description": "For mutating operation requests that completed successfully. This is the client_operation_id if the client specified it, otherwise it is generated by the server (output only).", "type": "string" } }, diff --git a/etc/api/documentai/v1beta2/documentai-api.json b/etc/api/documentai/v1beta2/documentai-api.json new file mode 100644 index 0000000000..68f60def8f --- /dev/null +++ b/etc/api/documentai/v1beta2/documentai-api.json @@ -0,0 +1,2190 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://documentai.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Document", + "description": "Service to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/document-ai/docs/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "documentai:v1beta2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://documentai.mtls.googleapis.com/", + "name": "documentai", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "documents": { + "methods": { + "batchProcess": { + "description": "LRO endpoint to batch process many documents. The output is written\nto Cloud Storage as JSON in the [Document] format.", + "flatPath": "v1beta2/projects/{projectsId}/documents:batchProcess", + "httpMethod": "POST", + "id": "documentai.projects.documents.batchProcess", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no location is specified, a region will be chosen automatically.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/documents:batchProcess", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "process": { + "description": "Processes a single document.", + "flatPath": "v1beta2/projects/{projectsId}/documents:process", + "httpMethod": "POST", + "id": "documentai.projects.documents.process", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no location is specified, a region will be chosen automatically.\nThis field is only populated when used in ProcessDocument method.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/documents:process", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest" + }, + "response": { + "$ref": "GoogleCloudDocumentaiV1beta2Document" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "locations": { + "resources": { + "documents": { + "methods": { + "batchProcess": { + "description": "LRO endpoint to batch process many documents. The output is written\nto Cloud Storage as JSON in the [Document] format.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/documents:batchProcess", + "httpMethod": "POST", + "id": "documentai.projects.locations.documents.batchProcess", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no location is specified, a region will be chosen automatically.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/documents:batchProcess", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "process": { + "description": "Processes a single document.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/documents:process", + "httpMethod": "POST", + "id": "documentai.projects.locations.documents.process", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no location is specified, a region will be chosen automatically.\nThis field is only populated when used in ProcessDocument method.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/documents:process", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest" + }, + "response": { + "$ref": "GoogleCloudDocumentaiV1beta2Document" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "documentai.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta2/projects/{projectsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "documentai.projects.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + }, + "revision": "20200619", + "rootUrl": "https://documentai.googleapis.com/", + "schemas": { + "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse": { + "description": "Response to an batch document processing request. This is returned in\nthe LRO Operation after the operation is complete.", + "id": "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse", + "properties": { + "responses": { + "description": "Responses for each individual document.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1ProcessDocumentResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1BoundingPoly": { + "description": "A bounding polygon for the detected image annotation.", + "id": "GoogleCloudDocumentaiV1beta1BoundingPoly", + "properties": { + "normalizedVertices": { + "description": "The bounding polygon normalized vertices.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1NormalizedVertex" + }, + "type": "array" + }, + "vertices": { + "description": "The bounding polygon vertices.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1Vertex" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1Document": { + "description": "Document represents the canonical document resource in Document Understanding\nAI.\nIt is an interchange format that provides insights into documents and allows\nfor collaboration between users and Document Understanding AI to iterate and\noptimize for quality.", + "id": "GoogleCloudDocumentaiV1beta1Document", + "properties": { + "content": { + "description": "Inline document content, represented as a stream of bytes.\nNote: As with all `bytes` fields, protobuffers use a pure binary\nrepresentation, whereas JSON representations use base64.", + "format": "byte", + "type": "string" + }, + "entities": { + "description": "A list of entities detected on Document.text. For document shards,\nentities in this list may cross shard boundaries.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentEntity" + }, + "type": "array" + }, + "entityRelations": { + "description": "Relationship among Document.entities.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentEntityRelation" + }, + "type": "array" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Any error that occurred while processing this document." + }, + "mimeType": { + "description": "An IANA published MIME type (also referred to as media type). For more\ninformation, see\nhttps://www.iana.org/assignments/media-types/media-types.xhtml.", + "type": "string" + }, + "pages": { + "description": "Visual page layout for the Document.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPage" + }, + "type": "array" + }, + "shardInfo": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentShardInfo", + "description": "Information about the sharding if this document is sharded part of a larger\ndocument. If the document is not sharded, this message is not specified." + }, + "text": { + "description": "UTF-8 encoded text in reading order from the document.", + "type": "string" + }, + "textStyles": { + "description": "Styles for the Document.text.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentStyle" + }, + "type": "array" + }, + "translations": { + "description": "A list of translations on Document.text. For document shards,\ntranslations in this list may cross shard boundaries.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentTranslation" + }, + "type": "array" + }, + "uri": { + "description": "Currently supports Google Cloud Storage URI of the form\n `gs://bucket_name/object_name`. Object versioning is not supported.\n See [Google Cloud Storage Request\n URIs](https://cloud.google.com/storage/docs/reference-uris) for more\n info.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentEntity": { + "description": "A phrase in the text that is a known entity type, such as a person, an\norganization, or location.", + "id": "GoogleCloudDocumentaiV1beta1DocumentEntity", + "properties": { + "confidence": { + "description": "Optional. Confidence of detected Schema entity. Range [0, 1].", + "format": "float", + "type": "number" + }, + "mentionId": { + "description": "Deprecated. Use `id` field instead.", + "type": "string" + }, + "mentionText": { + "description": "Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "type": "string" + }, + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", + "description": "Provenance of the entity.\nText anchor indexing into the Document.text." + }, + "type": { + "description": "Entity type from a schema e.g. `Address`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentEntityRelation": { + "description": "Relationship between Entities.", + "id": "GoogleCloudDocumentaiV1beta1DocumentEntityRelation", + "properties": { + "objectId": { + "description": "Object entity id.", + "type": "string" + }, + "relation": { + "description": "Relationship description.", + "type": "string" + }, + "subjectId": { + "description": "Subject entity id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPage": { + "description": "A page in a Document.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPage", + "properties": { + "blocks": { + "description": "A list of visually detected text blocks on the page.\nA block has a set of lines (collected into paragraphs) that have a common\nline-spacing and orientation.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageBlock" + }, + "type": "array" + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "dimension": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDimension", + "description": "Physical dimension of the page." + }, + "formFields": { + "description": "A list of visually detected form fields on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageFormField" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for the page." + }, + "lines": { + "description": "A list of visually detected text lines on the page.\nA collection of tokens that a human would perceive as a line.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLine" + }, + "type": "array" + }, + "pageNumber": { + "description": "1-based index for current Page in a parent Document.\nUseful when a page is taken out of a Document for individual\nprocessing.", + "format": "int32", + "type": "integer" + }, + "paragraphs": { + "description": "A list of visually detected text paragraphs on the page.\nA collection of lines that a human would perceive as a paragraph.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageParagraph" + }, + "type": "array" + }, + "tables": { + "description": "A list of visually detected tables on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTable" + }, + "type": "array" + }, + "tokens": { + "description": "A list of visually detected tokens on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageToken" + }, + "type": "array" + }, + "visualElements": { + "description": "A list of detected non-text visual elements e.g. checkbox,\nsignature etc. on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageVisualElement" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageBlock": { + "description": "A block has a set of lines (collected into paragraphs) that have a\ncommon line-spacing and orientation.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageBlock", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for Block." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage": { + "description": "Detected language for a structural component.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage", + "properties": { + "confidence": { + "description": "Confidence of detected language. Range [0, 1].", + "format": "float", + "type": "number" + }, + "languageCode": { + "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageDimension": { + "description": "Dimension for the page.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageDimension", + "properties": { + "height": { + "description": "Page height.", + "format": "float", + "type": "number" + }, + "unit": { + "description": "Dimension unit.", + "type": "string" + }, + "width": { + "description": "Page width.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageFormField": { + "description": "A form field detected on the page.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageFormField", + "properties": { + "fieldName": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for the FormField name. e.g. `Address`, `Email`,\n`Grand total`, `Phone number`, etc." + }, + "fieldValue": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for the FormField value." + }, + "nameDetectedLanguages": { + "description": "A list of detected languages for name together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "valueDetectedLanguages": { + "description": "A list of detected languages for value together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageLayout": { + "description": "Visual element describing a layout unit on a page.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "properties": { + "boundingPoly": { + "$ref": "GoogleCloudDocumentaiV1beta1BoundingPoly", + "description": "The bounding polygon for the Layout." + }, + "confidence": { + "description": "Confidence of the current Layout within context of the object this\nlayout is for. e.g. confidence can be for a single token, a table,\na visual element, etc. depending on context. Range [0, 1].", + "format": "float", + "type": "number" + }, + "orientation": { + "description": "Detected orientation for the Layout.", + "enum": [ + "ORIENTATION_UNSPECIFIED", + "PAGE_UP", + "PAGE_RIGHT", + "PAGE_DOWN", + "PAGE_LEFT" + ], + "enumDescriptions": [ + "Unspecified orientation.", + "Orientation is aligned with page up.", + "Orientation is aligned with page right.\nTurn the head 90 degrees clockwise from upright to read.", + "Orientation is aligned with page down.\nTurn the head 180 degrees from upright to read.", + "Orientation is aligned with page left.\nTurn the head 90 degrees counterclockwise from upright to read." + ], + "type": "string" + }, + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", + "description": "Text anchor indexing into the Document.text." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageLine": { + "description": "A collection of tokens that a human would perceive as a line.\nDoes not cross column boundaries, can be horizontal, vertical, etc.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageLine", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for Line." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageParagraph": { + "description": "A collection of lines that a human would perceive as a paragraph.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageParagraph", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for Paragraph." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageTable": { + "description": "A table representation similar to HTML table structure.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageTable", + "properties": { + "bodyRows": { + "description": "Body rows of the table.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow" + }, + "type": "array" + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "headerRows": { + "description": "Header rows of the table.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for Table." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageTableTableCell": { + "description": "A cell representation inside the table.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableCell", + "properties": { + "colSpan": { + "description": "How many columns this cell spans.", + "format": "int32", + "type": "integer" + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for TableCell." + }, + "rowSpan": { + "description": "How many rows this cell spans.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow": { + "description": "A row of table cells.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow", + "properties": { + "cells": { + "description": "Cells that make up this row.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTableTableCell" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageToken": { + "description": "A detected token.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageToken", + "properties": { + "detectedBreak": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageTokenDetectedBreak", + "description": "Detected break at the end of a Token." + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for Token." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageTokenDetectedBreak": { + "description": "Detected break at the end of a Token.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageTokenDetectedBreak", + "properties": { + "type": { + "description": "Detected break type.", + "enum": [ + "TYPE_UNSPECIFIED", + "SPACE", + "WIDE_SPACE", + "HYPHEN" + ], + "enumDescriptions": [ + "Unspecified break type.", + "A single whitespace.", + "A wider whitespace.", + "A hyphen that indicates that a token has been split across lines." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentPageVisualElement": { + "description": "Detected non-text visual elements e.g. checkbox, signature etc. on the\npage.", + "id": "GoogleCloudDocumentaiV1beta1DocumentPageVisualElement", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentPageLayout", + "description": "Layout for VisualElement." + }, + "type": { + "description": "Type of the VisualElement.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentShardInfo": { + "description": "For a large document, sharding may be performed to produce several\ndocument shards. Each document shard contains this field to detail which\nshard it is.", + "id": "GoogleCloudDocumentaiV1beta1DocumentShardInfo", + "properties": { + "shardCount": { + "description": "Total number of shards.", + "format": "int64", + "type": "string" + }, + "shardIndex": { + "description": "The 0-based index of this shard.", + "format": "int64", + "type": "string" + }, + "textOffset": { + "description": "The index of the first character in Document.text in the overall\ndocument global text.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentStyle": { + "description": "Annotation for common text style attributes. This adheres to CSS\nconventions as much as possible.", + "id": "GoogleCloudDocumentaiV1beta1DocumentStyle", + "properties": { + "backgroundColor": { + "$ref": "GoogleTypeColor", + "description": "Text background color." + }, + "color": { + "$ref": "GoogleTypeColor", + "description": "Text color." + }, + "fontSize": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentStyleFontSize", + "description": "Font size." + }, + "fontWeight": { + "description": "Font weight. Possible values are normal, bold, bolder, and lighter.\nhttps://www.w3schools.com/cssref/pr_font_weight.asp", + "type": "string" + }, + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", + "description": "Text anchor indexing into the Document.text." + }, + "textDecoration": { + "description": "Text decoration. Follows CSS standard.\n \nhttps://www.w3schools.com/cssref/pr_text_text-decoration.asp", + "type": "string" + }, + "textStyle": { + "description": "Text style. Possible values are normal, italic, and oblique.\nhttps://www.w3schools.com/cssref/pr_font_font-style.asp", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentStyleFontSize": { + "description": "Font size with unit.", + "id": "GoogleCloudDocumentaiV1beta1DocumentStyleFontSize", + "properties": { + "size": { + "description": "Font size for the text.", + "format": "float", + "type": "number" + }, + "unit": { + "description": "Unit for the font size. Follows CSS naming (in, px, pt, etc.).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentTextAnchor": { + "description": "Text reference indexing into the Document.text.", + "id": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", + "properties": { + "textSegments": { + "description": "The text segments from the Document.text.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchorTextSegment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentTextAnchorTextSegment": { + "description": "A text segment in the Document.text. The indices may be out of bounds\nwhich indicate that the text extends into another document shard for\nlarge sharded documents. See ShardInfo.text_offset", + "id": "GoogleCloudDocumentaiV1beta1DocumentTextAnchorTextSegment", + "properties": { + "endIndex": { + "description": "TextSegment half open end UTF-8 char index in the\nDocument.text.", + "format": "int64", + "type": "string" + }, + "startIndex": { + "description": "TextSegment start UTF-8 char index in the Document.text.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1DocumentTranslation": { + "description": "A translation of the text segment.", + "id": "GoogleCloudDocumentaiV1beta1DocumentTranslation", + "properties": { + "languageCode": { + "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + }, + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentTextAnchor", + "description": "Provenance of the translation.\nText anchor indexing into the Document.text." + }, + "translatedText": { + "description": "Text translated into the target language.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1GcsDestination": { + "description": "The Google Cloud Storage location where the output file will be written to.", + "id": "GoogleCloudDocumentaiV1beta1GcsDestination", + "properties": { + "uri": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1GcsSource": { + "description": "The Google Cloud Storage location where the input file will be read from.", + "id": "GoogleCloudDocumentaiV1beta1GcsSource", + "properties": { + "uri": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1InputConfig": { + "description": "The desired input location and metadata.", + "id": "GoogleCloudDocumentaiV1beta1InputConfig", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudDocumentaiV1beta1GcsSource", + "description": "The Google Cloud Storage location to read the input from. This must be a\nsingle file." + }, + "mimeType": { + "description": "Required. Mimetype of the input. Current supported mimetypes are application/pdf,\nimage/tiff, and image/gif.\nIn addition, application/json type is supported for requests with\nProcessDocumentRequest.automl_params field set. The JSON file needs to\nbe in Document format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1NormalizedVertex": { + "description": "A vertex represents a 2D point in the image.\nNOTE: the normalized vertex coordinates are relative to the original image\nand range from 0 to 1.", + "id": "GoogleCloudDocumentaiV1beta1NormalizedVertex", + "properties": { + "x": { + "description": "X coordinate.", + "format": "float", + "type": "number" + }, + "y": { + "description": "Y coordinate.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1OperationMetadata": { + "description": "Contains metadata for the BatchProcessDocuments operation.", + "id": "GoogleCloudDocumentaiV1beta1OperationMetadata", + "properties": { + "createTime": { + "description": "The creation time of the operation.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "The state of the current batch processing.", + "enum": [ + "STATE_UNSPECIFIED", + "ACCEPTED", + "WAITING", + "RUNNING", + "SUCCEEDED", + "CANCELLED", + "FAILED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "Request is received.", + "Request operation is waiting for scheduling.", + "Request is being processed.", + "The batch processing completed successfully.", + "The batch processing was cancelled.", + "The batch processing has failed." + ], + "type": "string" + }, + "stateMessage": { + "description": "A message providing more details about the current state of processing.", + "type": "string" + }, + "updateTime": { + "description": "The last update time of the operation.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1OutputConfig": { + "description": "The desired output location and metadata.", + "id": "GoogleCloudDocumentaiV1beta1OutputConfig", + "properties": { + "gcsDestination": { + "$ref": "GoogleCloudDocumentaiV1beta1GcsDestination", + "description": "The Google Cloud Storage location to write the output to." + }, + "pagesPerShard": { + "description": "The max number of pages to include into each output Document shard JSON on\nGoogle Cloud Storage.\n\nThe valid range is [1, 100]. If not specified, the default value is 20.\n\nFor example, for one pdf file with 100 pages, 100 parsed pages will be\nproduced. If `pages_per_shard` = 20, then 5 Document shard JSON files each\ncontaining 20 parsed pages will be written under the prefix\nOutputConfig.gcs_destination.uri and suffix pages-x-to-y.json where\nx and y are 1-indexed page numbers.\n\nExample GCS outputs with 157 pages and pages_per_shard = 50:\n\npages-001-to-050.json\npages-051-to-100.json\npages-101-to-150.json\npages-151-to-157.json", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1ProcessDocumentResponse": { + "description": "Response to a single document processing request.", + "id": "GoogleCloudDocumentaiV1beta1ProcessDocumentResponse", + "properties": { + "inputConfig": { + "$ref": "GoogleCloudDocumentaiV1beta1InputConfig", + "description": "Information about the input file. This is the same as the corresponding\ninput config in the request." + }, + "outputConfig": { + "$ref": "GoogleCloudDocumentaiV1beta1OutputConfig", + "description": "The output location of the parsed responses. The responses are written to\nthis location as JSON-serialized `Document` objects." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta1Vertex": { + "description": "A vertex represents a 2D point in the image.\nNOTE: the vertex coordinates are in the same scale as the original image.", + "id": "GoogleCloudDocumentaiV1beta1Vertex", + "properties": { + "x": { + "description": "X coordinate.", + "format": "int32", + "type": "integer" + }, + "y": { + "description": "Y coordinate.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2AutoMlParams": { + "description": "Parameters to control AutoML model prediction behavior.", + "id": "GoogleCloudDocumentaiV1beta2AutoMlParams", + "properties": { + "model": { + "description": "Resource name of the AutoML model.\n\nFormat: `projects/{project-id}/locations/{location-id}/models/{model-id}`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest": { + "description": "Request to batch process documents as an asynchronous operation. The output\nis written to Cloud Storage as JSON in the [Document] format.", + "id": "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest", + "properties": { + "requests": { + "description": "Required. Individual requests for each document.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsResponse": { + "description": "Response to an batch document processing request. This is returned in\nthe LRO Operation after the operation is complete.", + "id": "GoogleCloudDocumentaiV1beta2BatchProcessDocumentsResponse", + "properties": { + "responses": { + "description": "Responses for each individual document.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2ProcessDocumentResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2BoundingPoly": { + "description": "A bounding polygon for the detected image annotation.", + "id": "GoogleCloudDocumentaiV1beta2BoundingPoly", + "properties": { + "normalizedVertices": { + "description": "The bounding polygon normalized vertices.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2NormalizedVertex" + }, + "type": "array" + }, + "vertices": { + "description": "The bounding polygon vertices.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2Vertex" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2Document": { + "description": "Document represents the canonical document resource in Document Understanding\nAI.\nIt is an interchange format that provides insights into documents and allows\nfor collaboration between users and Document Understanding AI to iterate and\noptimize for quality.", + "id": "GoogleCloudDocumentaiV1beta2Document", + "properties": { + "content": { + "description": "Inline document content, represented as a stream of bytes.\nNote: As with all `bytes` fields, protobuffers use a pure binary\nrepresentation, whereas JSON representations use base64.", + "format": "byte", + "type": "string" + }, + "entities": { + "description": "A list of entities detected on Document.text. For document shards,\nentities in this list may cross shard boundaries.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentEntity" + }, + "type": "array" + }, + "entityRelations": { + "description": "Relationship among Document.entities.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentEntityRelation" + }, + "type": "array" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Any error that occurred while processing this document." + }, + "labels": { + "description": "Labels for this document.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentLabel" + }, + "type": "array" + }, + "mimeType": { + "description": "An IANA published MIME type (also referred to as media type). For more\ninformation, see\nhttps://www.iana.org/assignments/media-types/media-types.xhtml.", + "type": "string" + }, + "pages": { + "description": "Visual page layout for the Document.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPage" + }, + "type": "array" + }, + "shardInfo": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentShardInfo", + "description": "Information about the sharding if this document is sharded part of a larger\ndocument. If the document is not sharded, this message is not specified." + }, + "text": { + "description": "UTF-8 encoded text in reading order from the document.", + "type": "string" + }, + "textStyles": { + "description": "Styles for the Document.text.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentStyle" + }, + "type": "array" + }, + "translations": { + "description": "A list of translations on Document.text. For document shards,\ntranslations in this list may cross shard boundaries.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentTranslation" + }, + "type": "array" + }, + "uri": { + "description": "Currently supports Google Cloud Storage URI of the form\n `gs://bucket_name/object_name`. Object versioning is not supported.\n See [Google Cloud Storage Request\n URIs](https://cloud.google.com/storage/docs/reference-uris) for more\n info.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentEntity": { + "description": "A phrase in the text that is a known entity type, such as a person, an\norganization, or location.", + "id": "GoogleCloudDocumentaiV1beta2DocumentEntity", + "properties": { + "confidence": { + "description": "Optional. Confidence of detected Schema entity. Range [0, 1].", + "format": "float", + "type": "number" + }, + "mentionId": { + "description": "Deprecated. Use `id` field instead.", + "type": "string" + }, + "mentionText": { + "description": "Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "type": "string" + }, + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", + "description": "Provenance of the entity.\nText anchor indexing into the Document.text." + }, + "type": { + "description": "Entity type from a schema e.g. `Address`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentEntityRelation": { + "description": "Relationship between Entities.", + "id": "GoogleCloudDocumentaiV1beta2DocumentEntityRelation", + "properties": { + "objectId": { + "description": "Object entity id.", + "type": "string" + }, + "relation": { + "description": "Relationship description.", + "type": "string" + }, + "subjectId": { + "description": "Subject entity id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentLabel": { + "description": "Label attaches schema information and/or other metadata to segments within\na Document. Multiple Labels on a single field can denote either\ndifferent labels, different instances of the same label created at\ndifferent times, or some combination of both.", + "id": "GoogleCloudDocumentaiV1beta2DocumentLabel", + "properties": { + "automlModel": { + "description": "Label is generated AutoML model. This field stores the full resource\nname of the AutoML model.\n\nFormat:\n`projects/{project-id}/locations/{location-id}/models/{model-id}`", + "type": "string" + }, + "confidence": { + "description": "Confidence score between 0 and 1 for label assignment.", + "format": "float", + "type": "number" + }, + "name": { + "description": "Name of the label.\n\nWhen the label is generated from AutoML Text Classification model, this\nfield represents the name of the category.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPage": { + "description": "A page in a Document.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPage", + "properties": { + "blocks": { + "description": "A list of visually detected text blocks on the page.\nA block has a set of lines (collected into paragraphs) that have a common\nline-spacing and orientation.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageBlock" + }, + "type": "array" + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "dimension": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDimension", + "description": "Physical dimension of the page." + }, + "formFields": { + "description": "A list of visually detected form fields on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageFormField" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for the page." + }, + "lines": { + "description": "A list of visually detected text lines on the page.\nA collection of tokens that a human would perceive as a line.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLine" + }, + "type": "array" + }, + "pageNumber": { + "description": "1-based index for current Page in a parent Document.\nUseful when a page is taken out of a Document for individual\nprocessing.", + "format": "int32", + "type": "integer" + }, + "paragraphs": { + "description": "A list of visually detected text paragraphs on the page.\nA collection of lines that a human would perceive as a paragraph.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageParagraph" + }, + "type": "array" + }, + "tables": { + "description": "A list of visually detected tables on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTable" + }, + "type": "array" + }, + "tokens": { + "description": "A list of visually detected tokens on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageToken" + }, + "type": "array" + }, + "visualElements": { + "description": "A list of detected non-text visual elements e.g. checkbox,\nsignature etc. on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageVisualElement" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageBlock": { + "description": "A block has a set of lines (collected into paragraphs) that have a\ncommon line-spacing and orientation.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageBlock", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for Block." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage": { + "description": "Detected language for a structural component.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage", + "properties": { + "confidence": { + "description": "Confidence of detected language. Range [0, 1].", + "format": "float", + "type": "number" + }, + "languageCode": { + "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageDimension": { + "description": "Dimension for the page.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageDimension", + "properties": { + "height": { + "description": "Page height.", + "format": "float", + "type": "number" + }, + "unit": { + "description": "Dimension unit.", + "type": "string" + }, + "width": { + "description": "Page width.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageFormField": { + "description": "A form field detected on the page.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageFormField", + "properties": { + "fieldName": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for the FormField name. e.g. `Address`, `Email`,\n`Grand total`, `Phone number`, etc." + }, + "fieldValue": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for the FormField value." + }, + "nameDetectedLanguages": { + "description": "A list of detected languages for name together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "valueDetectedLanguages": { + "description": "A list of detected languages for value together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "valueType": { + "description": "If the value is non-textual, this field represents the type. Current\nvalid values are:\n- blank (this indicates the field_value is normal text)\n- \"unfilled_checkbox\"\n- \"filled_checkbox\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageLayout": { + "description": "Visual element describing a layout unit on a page.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "properties": { + "boundingPoly": { + "$ref": "GoogleCloudDocumentaiV1beta2BoundingPoly", + "description": "The bounding polygon for the Layout." + }, + "confidence": { + "description": "Confidence of the current Layout within context of the object this\nlayout is for. e.g. confidence can be for a single token, a table,\na visual element, etc. depending on context. Range [0, 1].", + "format": "float", + "type": "number" + }, + "orientation": { + "description": "Detected orientation for the Layout.", + "enum": [ + "ORIENTATION_UNSPECIFIED", + "PAGE_UP", + "PAGE_RIGHT", + "PAGE_DOWN", + "PAGE_LEFT" + ], + "enumDescriptions": [ + "Unspecified orientation.", + "Orientation is aligned with page up.", + "Orientation is aligned with page right.\nTurn the head 90 degrees clockwise from upright to read.", + "Orientation is aligned with page down.\nTurn the head 180 degrees from upright to read.", + "Orientation is aligned with page left.\nTurn the head 90 degrees counterclockwise from upright to read." + ], + "type": "string" + }, + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", + "description": "Text anchor indexing into the Document.text." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageLine": { + "description": "A collection of tokens that a human would perceive as a line.\nDoes not cross column boundaries, can be horizontal, vertical, etc.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageLine", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for Line." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageParagraph": { + "description": "A collection of lines that a human would perceive as a paragraph.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageParagraph", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for Paragraph." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageTable": { + "description": "A table representation similar to HTML table structure.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageTable", + "properties": { + "bodyRows": { + "description": "Body rows of the table.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow" + }, + "type": "array" + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "headerRows": { + "description": "Header rows of the table.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for Table." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageTableTableCell": { + "description": "A cell representation inside the table.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableCell", + "properties": { + "colSpan": { + "description": "How many columns this cell spans.", + "format": "int32", + "type": "integer" + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for TableCell." + }, + "rowSpan": { + "description": "How many rows this cell spans.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow": { + "description": "A row of table cells.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow", + "properties": { + "cells": { + "description": "Cells that make up this row.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTableTableCell" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageToken": { + "description": "A detected token.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageToken", + "properties": { + "detectedBreak": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageTokenDetectedBreak", + "description": "Detected break at the end of a Token." + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for Token." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageTokenDetectedBreak": { + "description": "Detected break at the end of a Token.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageTokenDetectedBreak", + "properties": { + "type": { + "description": "Detected break type.", + "enum": [ + "TYPE_UNSPECIFIED", + "SPACE", + "WIDE_SPACE", + "HYPHEN" + ], + "enumDescriptions": [ + "Unspecified break type.", + "A single whitespace.", + "A wider whitespace.", + "A hyphen that indicates that a token has been split across lines." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentPageVisualElement": { + "description": "Detected non-text visual elements e.g. checkbox, signature etc. on the\npage.", + "id": "GoogleCloudDocumentaiV1beta2DocumentPageVisualElement", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentPageLayout", + "description": "Layout for VisualElement." + }, + "type": { + "description": "Type of the VisualElement.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentShardInfo": { + "description": "For a large document, sharding may be performed to produce several\ndocument shards. Each document shard contains this field to detail which\nshard it is.", + "id": "GoogleCloudDocumentaiV1beta2DocumentShardInfo", + "properties": { + "shardCount": { + "description": "Total number of shards.", + "format": "int64", + "type": "string" + }, + "shardIndex": { + "description": "The 0-based index of this shard.", + "format": "int64", + "type": "string" + }, + "textOffset": { + "description": "The index of the first character in Document.text in the overall\ndocument global text.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentStyle": { + "description": "Annotation for common text style attributes. This adheres to CSS\nconventions as much as possible.", + "id": "GoogleCloudDocumentaiV1beta2DocumentStyle", + "properties": { + "backgroundColor": { + "$ref": "GoogleTypeColor", + "description": "Text background color." + }, + "color": { + "$ref": "GoogleTypeColor", + "description": "Text color." + }, + "fontSize": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentStyleFontSize", + "description": "Font size." + }, + "fontWeight": { + "description": "Font weight. Possible values are normal, bold, bolder, and lighter.\nhttps://www.w3schools.com/cssref/pr_font_weight.asp", + "type": "string" + }, + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", + "description": "Text anchor indexing into the Document.text." + }, + "textDecoration": { + "description": "Text decoration. Follows CSS standard.\n \nhttps://www.w3schools.com/cssref/pr_text_text-decoration.asp", + "type": "string" + }, + "textStyle": { + "description": "Text style. Possible values are normal, italic, and oblique.\nhttps://www.w3schools.com/cssref/pr_font_font-style.asp", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentStyleFontSize": { + "description": "Font size with unit.", + "id": "GoogleCloudDocumentaiV1beta2DocumentStyleFontSize", + "properties": { + "size": { + "description": "Font size for the text.", + "format": "float", + "type": "number" + }, + "unit": { + "description": "Unit for the font size. Follows CSS naming (in, px, pt, etc.).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentTextAnchor": { + "description": "Text reference indexing into the Document.text.", + "id": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", + "properties": { + "textSegments": { + "description": "The text segments from the Document.text.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchorTextSegment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentTextAnchorTextSegment": { + "description": "A text segment in the Document.text. The indices may be out of bounds\nwhich indicate that the text extends into another document shard for\nlarge sharded documents. See ShardInfo.text_offset", + "id": "GoogleCloudDocumentaiV1beta2DocumentTextAnchorTextSegment", + "properties": { + "endIndex": { + "description": "TextSegment half open end UTF-8 char index in the\nDocument.text.", + "format": "int64", + "type": "string" + }, + "startIndex": { + "description": "TextSegment start UTF-8 char index in the Document.text.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2DocumentTranslation": { + "description": "A translation of the text segment.", + "id": "GoogleCloudDocumentaiV1beta2DocumentTranslation", + "properties": { + "languageCode": { + "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + }, + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentTextAnchor", + "description": "Provenance of the translation.\nText anchor indexing into the Document.text." + }, + "translatedText": { + "description": "Text translated into the target language.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2EntityExtractionParams": { + "description": "Parameters to control entity extraction behavior.", + "id": "GoogleCloudDocumentaiV1beta2EntityExtractionParams", + "properties": { + "enabled": { + "description": "Whether to enable entity extraction.", + "type": "boolean" + }, + "modelVersion": { + "description": "Model version of the entity extraction. Default is\n\"builtin/stable\". Specify \"builtin/latest\" for the latest model.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2FormExtractionParams": { + "description": "Parameters to control form extraction behavior.", + "id": "GoogleCloudDocumentaiV1beta2FormExtractionParams", + "properties": { + "enabled": { + "description": "Whether to enable form extraction.", + "type": "boolean" + }, + "keyValuePairHints": { + "description": "Reserved for future use.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2KeyValuePairHint" + }, + "type": "array" + }, + "modelVersion": { + "description": "Model version of the form extraction system. Default is\n\"builtin/stable\". Specify \"builtin/latest\" for the latest model.\nFor custom form models, specify: \u201ccustom/{model_name}\". Model name\nformat is \"bucket_name/path/to/modeldir\" corresponding to\n\"gs://bucket_name/path/to/modeldir\" where annotated examples are stored.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2GcsDestination": { + "description": "The Google Cloud Storage location where the output file will be written to.", + "id": "GoogleCloudDocumentaiV1beta2GcsDestination", + "properties": { + "uri": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2GcsSource": { + "description": "The Google Cloud Storage location where the input file will be read from.", + "id": "GoogleCloudDocumentaiV1beta2GcsSource", + "properties": { + "uri": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2InputConfig": { + "description": "The desired input location and metadata.", + "id": "GoogleCloudDocumentaiV1beta2InputConfig", + "properties": { + "contents": { + "description": "Content in bytes, represented as a stream of bytes.\nNote: As with all `bytes` fields, proto buffer messages use a pure binary\nrepresentation, whereas JSON representations use base64.\n\nThis field only works for synchronous ProcessDocument method.", + "format": "byte", + "type": "string" + }, + "gcsSource": { + "$ref": "GoogleCloudDocumentaiV1beta2GcsSource", + "description": "The Google Cloud Storage location to read the input from. This must be a\nsingle file." + }, + "mimeType": { + "description": "Required. Mimetype of the input. Current supported mimetypes are application/pdf,\nimage/tiff, and image/gif.\nIn addition, application/json type is supported for requests with\nProcessDocumentRequest.automl_params field set. The JSON file needs to\nbe in Document format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2KeyValuePairHint": { + "description": "Reserved for future use.", + "id": "GoogleCloudDocumentaiV1beta2KeyValuePairHint", + "properties": { + "key": { + "description": "The key text for the hint.", + "type": "string" + }, + "valueTypes": { + "description": "Type of the value. This is case-insensitive, and could be one of:\nADDRESS, LOCATION, ORGANIZATION, PERSON, PHONE_NUMBER,\nID, NUMBER, EMAIL, PRICE, TERMS, DATE, NAME. Types not in this list will\nbe ignored.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2NormalizedVertex": { + "description": "A vertex represents a 2D point in the image.\nNOTE: the normalized vertex coordinates are relative to the original image\nand range from 0 to 1.", + "id": "GoogleCloudDocumentaiV1beta2NormalizedVertex", + "properties": { + "x": { + "description": "X coordinate.", + "format": "float", + "type": "number" + }, + "y": { + "description": "Y coordinate.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2OcrParams": { + "description": "Parameters to control Optical Character Recognition (OCR) behavior.", + "id": "GoogleCloudDocumentaiV1beta2OcrParams", + "properties": { + "languageHints": { + "description": "List of languages to use for OCR. In most cases, an empty value\nyields the best results since it enables automatic language detection. For\nlanguages based on the Latin alphabet, setting `language_hints` is not\nneeded. In rare cases, when the language of the text in the image is known,\nsetting a hint will help get better results (although it will be a\nsignificant hindrance if the hint is wrong). Document processing returns an\nerror if one or more of the specified languages is not one of the\nsupported languages.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2OperationMetadata": { + "description": "Contains metadata for the BatchProcessDocuments operation.", + "id": "GoogleCloudDocumentaiV1beta2OperationMetadata", + "properties": { + "createTime": { + "description": "The creation time of the operation.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "The state of the current batch processing.", + "enum": [ + "STATE_UNSPECIFIED", + "ACCEPTED", + "WAITING", + "RUNNING", + "SUCCEEDED", + "CANCELLED", + "FAILED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "Request is received.", + "Request operation is waiting for scheduling.", + "Request is being processed.", + "The batch processing completed successfully.", + "The batch processing was cancelled.", + "The batch processing has failed." + ], + "type": "string" + }, + "stateMessage": { + "description": "A message providing more details about the current state of processing.", + "type": "string" + }, + "updateTime": { + "description": "The last update time of the operation.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2OutputConfig": { + "description": "The desired output location and metadata.", + "id": "GoogleCloudDocumentaiV1beta2OutputConfig", + "properties": { + "gcsDestination": { + "$ref": "GoogleCloudDocumentaiV1beta2GcsDestination", + "description": "The Google Cloud Storage location to write the output to." + }, + "pagesPerShard": { + "description": "The max number of pages to include into each output Document shard JSON on\nGoogle Cloud Storage.\n\nThe valid range is [1, 100]. If not specified, the default value is 20.\n\nFor example, for one pdf file with 100 pages, 100 parsed pages will be\nproduced. If `pages_per_shard` = 20, then 5 Document shard JSON files each\ncontaining 20 parsed pages will be written under the prefix\nOutputConfig.gcs_destination.uri and suffix pages-x-to-y.json where\nx and y are 1-indexed page numbers.\n\nExample GCS outputs with 157 pages and pages_per_shard = 50:\n\npages-001-to-050.json\npages-051-to-100.json\npages-101-to-150.json\npages-151-to-157.json", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest": { + "description": "Request to process one document.", + "id": "GoogleCloudDocumentaiV1beta2ProcessDocumentRequest", + "properties": { + "automlParams": { + "$ref": "GoogleCloudDocumentaiV1beta2AutoMlParams", + "description": "Controls AutoML model prediction behavior. AutoMlParams cannot be used\ntogether with other Params." + }, + "documentType": { + "description": "Specifies a known document type for deeper structure detection. Valid\nvalues are currently \"general\" and \"invoice\". If not provided, \"general\"\\\nis used as default. If any other value is given, the request is rejected.", + "type": "string" + }, + "entityExtractionParams": { + "$ref": "GoogleCloudDocumentaiV1beta2EntityExtractionParams", + "description": "Controls entity extraction behavior. If not specified, the system will\ndecide reasonable defaults." + }, + "formExtractionParams": { + "$ref": "GoogleCloudDocumentaiV1beta2FormExtractionParams", + "description": "Controls form extraction behavior. If not specified, the system will\ndecide reasonable defaults." + }, + "inputConfig": { + "$ref": "GoogleCloudDocumentaiV1beta2InputConfig", + "description": "Required. Information about the input file." + }, + "ocrParams": { + "$ref": "GoogleCloudDocumentaiV1beta2OcrParams", + "description": "Controls OCR behavior. If not specified, the system will decide reasonable\ndefaults." + }, + "outputConfig": { + "$ref": "GoogleCloudDocumentaiV1beta2OutputConfig", + "description": "The desired output location. This field is only needed in\nBatchProcessDocumentsRequest." + }, + "parent": { + "description": "Target project and location to make a call.\n\nFormat: `projects/{project-id}/locations/{location-id}`.\n\nIf no location is specified, a region will be chosen automatically.\nThis field is only populated when used in ProcessDocument method.", + "type": "string" + }, + "tableExtractionParams": { + "$ref": "GoogleCloudDocumentaiV1beta2TableExtractionParams", + "description": "Controls table extraction behavior. If not specified, the system will\ndecide reasonable defaults." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2ProcessDocumentResponse": { + "description": "Response to a single document processing request.", + "id": "GoogleCloudDocumentaiV1beta2ProcessDocumentResponse", + "properties": { + "inputConfig": { + "$ref": "GoogleCloudDocumentaiV1beta2InputConfig", + "description": "Information about the input file. This is the same as the corresponding\ninput config in the request." + }, + "outputConfig": { + "$ref": "GoogleCloudDocumentaiV1beta2OutputConfig", + "description": "The output location of the parsed responses. The responses are written to\nthis location as JSON-serialized `Document` objects." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2TableBoundHint": { + "description": "A hint for a table bounding box on the page for table parsing.", + "id": "GoogleCloudDocumentaiV1beta2TableBoundHint", + "properties": { + "boundingBox": { + "$ref": "GoogleCloudDocumentaiV1beta2BoundingPoly", + "description": "Bounding box hint for a table on this page. The coordinates must be\nnormalized to [0,1] and the bounding box must be an axis-aligned rectangle." + }, + "pageNumber": { + "description": "Optional. Page number for multi-paged inputs this hint applies to. If not\nprovided, this hint will apply to all pages by default. This value is\n1-based.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2TableExtractionParams": { + "description": "Parameters to control table extraction behavior.", + "id": "GoogleCloudDocumentaiV1beta2TableExtractionParams", + "properties": { + "enabled": { + "description": "Whether to enable table extraction.", + "type": "boolean" + }, + "headerHints": { + "description": "Optional. Reserved for future use.", + "items": { + "type": "string" + }, + "type": "array" + }, + "modelVersion": { + "description": "Model version of the table extraction system. Default is \"builtin/stable\".\nSpecify \"builtin/latest\" for the latest model.", + "type": "string" + }, + "tableBoundHints": { + "description": "Optional. Table bounding box hints that can be provided to complex cases\nwhich our algorithm cannot locate the table(s) in.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta2TableBoundHint" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta2Vertex": { + "description": "A vertex represents a 2D point in the image.\nNOTE: the vertex coordinates are in the same scale as the original image.", + "id": "GoogleCloudDocumentaiV1beta2Vertex", + "properties": { + "x": { + "description": "X coordinate.", + "format": "int32", + "type": "integer" + }, + "y": { + "description": "Y coordinate.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleTypeColor": { + "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nNote: when color equality needs to be decided, implementations, unless\ndocumented otherwise, will treat two colors to be equal if all their red,\ngreen, blue and alpha values each differ by at most 1e-5.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", + "id": "GoogleTypeColor", + "properties": { + "alpha": { + "description": "The fraction of this color that should be applied to the pixel. That is,\nthe final pixel color is defined by the equation:\n\n pixel color = alpha * (this color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color. This\nuses a wrapper message rather than a simple float scalar so that it is\npossible to distinguish between a default value and the value being unset.\nIf omitted, this color object is to be rendered as a solid color\n(as if the alpha value had been explicitly given with a value of 1.0).", + "format": "float", + "type": "number" + }, + "blue": { + "description": "The amount of blue in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "green": { + "description": "The amount of green in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "red": { + "description": "The amount of red in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Document AI API", + "version": "v1beta2", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/domainsrdap/v1/domainsrdap-api.json b/etc/api/domainsrdap/v1/domainsrdap-api.json index 70d114bd1f..b22a043eba 100644 --- a/etc/api/domainsrdap/v1/domainsrdap-api.json +++ b/etc/api/domainsrdap/v1/domainsrdap-api.json @@ -289,7 +289,7 @@ } } }, - "revision": "20200409", + "revision": "20200603", "rootUrl": "https://domainsrdap.googleapis.com/", "schemas": { "HttpBody": { diff --git a/etc/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json b/etc/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json index 7b734f12fd..db62294213 100644 --- a/etc/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json +++ b/etc/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json @@ -15,7 +15,7 @@ "description": "API for viewing and managing your reports in DoubleClick Bid Manager.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/bid-manager/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/6b9y3bDbjgvkpj1FGVAGd_f0qZM\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/9-5twGUs1hq-ELO4w_-sWYOtRM0\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -295,7 +295,7 @@ } } }, - "revision": "20200316", + "revision": "20200616", "rootUrl": "https://www.googleapis.com/", "schemas": { "DownloadLineItemsRequest": { @@ -672,6 +672,7 @@ "FILTER_TRUEVIEW_KEYWORD", "FILTER_TRUEVIEW_PARENTAL_STATUS", "FILTER_TRUEVIEW_PLACEMENT", + "FILTER_TRUEVIEW_PLACEMENT_ID", "FILTER_TRUEVIEW_REGION", "FILTER_TRUEVIEW_REGION_NAME", "FILTER_TRUEVIEW_REMARKETING_LIST", @@ -972,6 +973,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1270,6 +1272,7 @@ "FILTER_TRUEVIEW_KEYWORD", "FILTER_TRUEVIEW_PARENTAL_STATUS", "FILTER_TRUEVIEW_PLACEMENT", + "FILTER_TRUEVIEW_PLACEMENT_ID", "FILTER_TRUEVIEW_REGION", "FILTER_TRUEVIEW_REGION_NAME", "FILTER_TRUEVIEW_REMARKETING_LIST", @@ -1570,6 +1573,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1864,6 +1868,7 @@ "METRIC_ORIGINAL_AUDIENCE_FREQUENCY", "METRIC_PAUSES_AUDIO", "METRIC_PERCENT_IMPRESSIONS_WITH_POSITIVE_CUSTOM_VALUE", + "METRIC_PERCENT_INVALID_IMPRESSIONS_PREBID", "METRIC_PLATFORM_FEE_ADVERTISER", "METRIC_PLATFORM_FEE_PARTNER", "METRIC_PLATFORM_FEE_RATE", @@ -2439,6 +2444,7 @@ "", "", "", + "", "" ], "type": "string" diff --git a/etc/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json b/etc/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json index 2a326a28de..c0bab35144 100644 --- a/etc/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json +++ b/etc/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json @@ -15,7 +15,7 @@ "description": "API for viewing and managing your reports in DoubleClick Bid Manager.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/bid-manager/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/HgR482mnyPA6xsLHjUjlQzYwL1g\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/Ev2LSO2Wjf4faLv38E2HSxlElZw\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -257,7 +257,7 @@ } } }, - "revision": "20200316", + "revision": "20200616", "rootUrl": "https://www.googleapis.com/", "schemas": { "DownloadLineItemsRequest": { diff --git a/etc/api/drive/v2/drive-api.json b/etc/api/drive/v2/drive-api.json index 0e5ef74b57..d1e21bcb80 100644 --- a/etc/api/drive/v2/drive-api.json +++ b/etc/api/drive/v2/drive-api.json @@ -38,7 +38,7 @@ "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/drive/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/UEl2PHBvsMjh3TSXQxSnNlF4wSs\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/0HpFu_RDPkuIU_N39LrLS2PV3e0\"", "icons": { "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png", "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png" @@ -219,13 +219,13 @@ "type": "string" }, "driveId": { - "description": "The shared drive from which the change will be returned.", + "description": "The shared drive from which the change is returned.", "location": "query", "type": "string" }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -262,13 +262,13 @@ "id": "drive.changes.getStartPageToken", "parameters": { "driveId": { - "description": "The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive will be returned.", + "description": "The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive is returned.", "location": "query", "type": "string" }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -305,7 +305,7 @@ "id": "drive.changes.list", "parameters": { "driveId": { - "description": "The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", + "description": "The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", "location": "query", "type": "string" }, @@ -323,13 +323,13 @@ }, "includeItemsFromAllDrives": { "default": "false", - "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.", + "description": "Whether both My Drive and shared drive items should be included in results.", "location": "query", "type": "boolean" }, "includeSubscribed": { "default": "true", - "description": "Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the result.", + "description": "Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive are omitted from the result.", "location": "query", "type": "boolean" }, @@ -365,7 +365,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -403,7 +403,7 @@ "id": "drive.changes.watch", "parameters": { "driveId": { - "description": "The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", + "description": "The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", "location": "query", "type": "string" }, @@ -421,13 +421,13 @@ }, "includeItemsFromAllDrives": { "default": "false", - "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.", + "description": "Whether both My Drive and shared drive items should be included in results.", "location": "query", "type": "boolean" }, "includeSubscribed": { "default": "true", - "description": "Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the result.", + "description": "Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive are omitted from the result.", "location": "query", "type": "boolean" }, @@ -463,7 +463,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -544,7 +544,7 @@ }, "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. If the item's last parent is removed, the item will be placed under its owner's root.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. If the item's last parent is removed, the item is placed under its owner's root.", "location": "query", "type": "boolean" }, @@ -607,7 +607,7 @@ "parameters": { "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. If the child's owner makes the request, the child will be removed from all current folders and placed in the requested folder. Any other requests that increase the number of the child's parents will fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. If the child's owner makes the request, the child is removed from all current folders and placed in the requested folder. Any other requests that increase the number of the child's parents fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", "location": "query", "type": "boolean" }, @@ -619,7 +619,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1128,7 +1128,7 @@ }, "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. Requests that specify more than one parent will fail.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. Requests that specify more than one parent fail.", "location": "query", "type": "boolean" }, @@ -1157,7 +1157,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1223,7 +1223,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1351,7 +1351,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1414,7 +1414,7 @@ }, "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. Requests that specify more than one parent will fail.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. Requests that specify more than one parent fail.", "location": "query", "type": "boolean" }, @@ -1437,7 +1437,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1524,7 +1524,7 @@ }, "includeItemsFromAllDrives": { "default": "false", - "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.", + "description": "Whether both My Drive and shared drive items should be included in results.", "location": "query", "type": "boolean" }, @@ -1577,7 +1577,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1629,7 +1629,7 @@ }, "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. If the item's owner makes a request to add a single parent, the item will be removed from all current folders and placed in the requested folder. Other requests that increase the number of parents will fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. If the item's owner makes a request to add a single parent, the item is removed from all current folders and placed in the requested folder. Other requests that increase the number of parents fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", "location": "query", "type": "boolean" }, @@ -1696,7 +1696,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1761,7 +1761,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1800,7 +1800,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1838,7 +1838,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1897,7 +1897,7 @@ }, "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. If the item's owner makes a request to add a single parent, the item will be removed from all current folders and placed in the requested folder. Other requests that increase the number of parents will fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. If the item's owner makes a request to add a single parent, the item is removed from all current folders and placed in the requested folder. Other requests that increase the number of parents fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", "location": "query", "type": "boolean" }, @@ -1964,7 +1964,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2054,7 +2054,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2107,7 +2107,7 @@ "parameters": { "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. If the item's last parent is removed, the item will be placed under its owner's root.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. If the item's last parent is removed, the item is placed under its owner's root.", "location": "query", "type": "boolean" }, @@ -2176,7 +2176,7 @@ "parameters": { "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. If the child's owner makes the request, the child will be removed from all current folders and placed in the requested folder. Any other requests that increase the number of the child's parents will fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. If the child's owner makes the request, the child is removed from all current folders and placed in the requested folder. Any other requests that increase the number of the child's parents fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", "location": "query", "type": "boolean" }, @@ -2188,7 +2188,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2268,7 +2268,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2314,7 +2314,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2389,7 +2389,7 @@ }, "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. See moveToNewOwnersRoot for details.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. See moveToNewOwnersRoot for details.", "location": "query", "type": "boolean" }, @@ -2401,7 +2401,7 @@ }, "moveToNewOwnersRoot": { "default": "false", - "description": "This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. When set to true, the item will be moved to the new owner's My Drive root folder and all prior parents removed. If set to false, when enforceSingleParent=true, parents are not changed. If set to false, when enforceSingleParent=false, existing parents are not changed; however, the file will be added to the new owner's My Drive root folder, unless it is already in the new owner's My Drive.", + "description": "This parameter only takes effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. When set to true, the item will be moved to the new owner's My Drive root folder and all prior parents removed. If set to false, when enforceSingleParent=true, parents are not changed. If set to false, when enforceSingleParent=false, existing parents are not changed; however, the file will be added to the new owner's My Drive root folder, unless it is already in the new owner's My Drive.", "location": "query", "type": "boolean" }, @@ -2413,7 +2413,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2471,7 +2471,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2530,7 +2530,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2594,7 +2594,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -3442,7 +3442,7 @@ } } }, - "revision": "20200326", + "revision": "20200618", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { @@ -4527,6 +4527,10 @@ "description": "Whether the current user can add children to this folder. This is always false when the item is not a folder.", "type": "boolean" }, + "canAddFolderFromAnotherDrive": { + "description": "Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is false when the item is not a folder. Only populated for items in shared drives.", + "type": "boolean" + }, "canAddMyDriveParent": { "description": "Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.", "type": "boolean" @@ -5290,7 +5294,7 @@ "type": "string" }, "expirationDate": { - "description": "The time at which this permission will expire (RFC 3339 date-time). Expiration dates have the following restrictions: \n- They can only be set on user and group permissions \n- The date must be in the future \n- The date cannot be more than a year in the future \n- The date can only be set on drive.permissions.update or drive.permissions.patch requests", + "description": "The time at which this permission will expire (RFC 3339 date-time). Expiration dates have the following restrictions: \n- They cannot be set on shared drive items \n- They can only be set on user and group permissions \n- The date must be in the future \n- The date cannot be more than a year in the future \n- The date can only be set on drive.permissions.update or drive.permissions.patch requests", "format": "date-time", "type": "string" }, diff --git a/etc/api/drive/v3/drive-api.json b/etc/api/drive/v3/drive-api.json index 8d44877d0d..7f2a38e3ee 100644 --- a/etc/api/drive/v3/drive-api.json +++ b/etc/api/drive/v3/drive-api.json @@ -35,7 +35,7 @@ "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/drive/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/Gwpv0RWj7aub3RuREPPSzE4kDlg\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/kQu8Vg9hIDq0iLeHAOTEY97OKEg\"", "icons": { "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png", "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png" @@ -122,13 +122,13 @@ "id": "drive.changes.getStartPageToken", "parameters": { "driveId": { - "description": "The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive will be returned.", + "description": "The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive is returned.", "location": "query", "type": "string" }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -167,7 +167,7 @@ ], "parameters": { "driveId": { - "description": "The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", + "description": "The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", "location": "query", "type": "string" }, @@ -179,7 +179,7 @@ }, "includeItemsFromAllDrives": { "default": "false", - "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.", + "description": "Whether both My Drive and shared drive items should be included in results.", "location": "query", "type": "boolean" }, @@ -224,7 +224,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -264,7 +264,7 @@ ], "parameters": { "driveId": { - "description": "The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", + "description": "The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier.", "location": "query", "type": "string" }, @@ -276,7 +276,7 @@ }, "includeItemsFromAllDrives": { "default": "false", - "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.", + "description": "Whether both My Drive and shared drive items should be included in results.", "location": "query", "type": "boolean" }, @@ -321,7 +321,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -772,7 +772,7 @@ "parameters": { "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. Requests that specify more than one parent will fail.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. Requests that specify more than one parent fail.", "location": "query", "type": "boolean" }, @@ -801,7 +801,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -849,7 +849,7 @@ "parameters": { "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. Requests that specify more than one parent will fail.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. Requests that specify more than one parent fail.", "location": "query", "type": "boolean" }, @@ -872,7 +872,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -920,7 +920,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1030,7 +1030,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1088,7 +1088,7 @@ }, "includeItemsFromAllDrives": { "default": "false", - "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.", + "description": "Whether both My Drive and shared drive items should be included in results.", "location": "query", "type": "boolean" }, @@ -1130,7 +1130,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1191,7 +1191,7 @@ }, "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. If the item's owner makes a request to add a single parent, the item will be removed from all current folders and placed in the requested folder. Other requests that increase the number of parents will fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. If the item's owner makes a request to add a single parent, the item is removed from all current folders and placed in the requested folder. Other requests that increase the number of parents fail, except when the canAddMyDriveParent file capability is true and a single parent is being added.", "location": "query", "type": "boolean" }, @@ -1219,7 +1219,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1274,7 +1274,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1325,7 +1325,7 @@ }, "enforceSingleParent": { "default": "false", - "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter will only take effect if the item is not in a shared drive. See moveToNewOwnersRoot for details.", + "description": "Set to true to opt in to API behavior that aims for all items to have exactly one parent. This parameter only takes effect if the item is not in a shared drive. See moveToNewOwnersRoot for details.", "location": "query", "type": "boolean" }, @@ -1337,7 +1337,7 @@ }, "moveToNewOwnersRoot": { "default": "false", - "description": "This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. When set to true, the item will be moved to the new owner's My Drive root folder and all prior parents removed. If set to false, when enforceSingleParent=true, parents are not changed. If set to false, when enforceSingleParent=false, existing parents are not changed; however, the file will be added to the new owner's My Drive root folder, unless it is already in the new owner's My Drive.", + "description": "This parameter only takes effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. When set to true, the item is moved to the new owner's My Drive root folder and all prior parents removed. If set to false, when enforceSingleParent=true, parents are not changed. If set to false, when enforceSingleParent=false, existing parents are not changed; however, the file will be added to the new owner's My Drive root folder, unless it is already in the new owner's My Drive.", "location": "query", "type": "boolean" }, @@ -1348,7 +1348,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1406,7 +1406,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1452,7 +1452,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1511,7 +1511,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -1570,7 +1570,7 @@ }, "supportsAllDrives": { "default": "false", - "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.", + "description": "Whether the requesting application supports both My Drives and shared drives.", "location": "query", "type": "boolean" }, @@ -2126,7 +2126,7 @@ } } }, - "revision": "20200326", + "revision": "20200618", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { @@ -2705,6 +2705,10 @@ "description": "Whether the current user can add children to this folder. This is always false when the item is not a folder.", "type": "boolean" }, + "canAddFolderFromAnotherDrive": { + "description": "Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is false when the item is not a folder. Only populated for items in shared drives.", + "type": "boolean" + }, "canAddMyDriveParent": { "description": "Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.", "type": "boolean" diff --git a/etc/api/driveactivity/v2/driveactivity-api.json b/etc/api/driveactivity/v2/driveactivity-api.json index 1242cb9dbc..03985c521f 100644 --- a/etc/api/driveactivity/v2/driveactivity-api.json +++ b/etc/api/driveactivity/v2/driveactivity-api.json @@ -132,7 +132,7 @@ } } }, - "revision": "20200407", + "revision": "20200707", "rootUrl": "https://driveactivity.googleapis.com/", "schemas": { "Action": { @@ -895,10 +895,10 @@ }, "consolidationStrategy": { "$ref": "ConsolidationStrategy", - "description": "Details on how to consolidate related actions that make up the activity. If\nnot set, then related actions will not be consolidated." + "description": "Details on how to consolidate related actions that make up the activity. If\nnot set, then related actions are not consolidated." }, "filter": { - "description": "The filtering for items returned from this query request. The format of the\nfilter string is a sequence of expressions, joined by an optional \"AND\",\nwhere each expression is of the form \"field operator value\".\n\nSupported fields:\n\n - time: Uses numerical operators on date values either in\n terms of milliseconds since Jan 1, 1970 or in RFC 3339 format.\n Examples:\n - time > 1452409200000 AND time <= 1492812924310\n - time >= \"2016-01-10T01:02:03-05:00\"\n\n - detail.action_detail_case: Uses the \"has\" operator (:) and\n either a singular value or a list of allowed action types enclosed in\n parentheses.\n Examples:\n - detail.action_detail_case: RENAME\n - detail.action_detail_case:(CREATE UPLOAD)\n - -detail.action_detail_case:MOVE", + "description": "The filtering for items returned from this query request. The format of the\nfilter string is a sequence of expressions, joined by an optional \"AND\",\nwhere each expression is of the form \"field operator value\".\n\nSupported fields:\n\n - time: Uses numerical operators on date values either in\n terms of milliseconds since Jan 1, 1970 or in RFC 3339 format.\n Examples:\n - time > 1452409200000 AND time <= 1492812924310\n - time >= \"2016-01-10T01:02:03-05:00\"\n\n - detail.action_detail_case: Uses the \"has\" operator (:) and\n either a singular value or a list of allowed action types enclosed in\n parentheses.\n Examples:\n - detail.action_detail_case: RENAME\n - detail.action_detail_case:(CREATE EDIT)\n - -detail.action_detail_case:MOVE", "type": "string" }, "itemName": { @@ -906,12 +906,12 @@ "type": "string" }, "pageSize": { - "description": "The requested number of activity to return. If not set, a default value\nwill be used.", + "description": "The miminum number of activities desired in the response; the server will\nattempt to return at least this quanitity. The server may also return fewer\nactivities if it has a partial response ready before the request times out.\nIf not set, a default value is used.", "format": "int32", "type": "integer" }, "pageToken": { - "description": "The next_page_token value returned from a previous QueryDriveActivity\nrequest, if any.", + "description": "The token identifying which page of results to return. Set this to the\nnext_page_token value returned from a previous query to obtain the\nfollowing page of results. If not set, the first page of results will be\nreturned.", "type": "string" } }, diff --git a/etc/api/factchecktools/v1alpha1/factchecktools-api.json b/etc/api/factchecktools/v1alpha1/factchecktools-api.json index 3f8dcc7d38..330a7ff3a5 100644 --- a/etc/api/factchecktools/v1alpha1/factchecktools-api.json +++ b/etc/api/factchecktools/v1alpha1/factchecktools-api.json @@ -304,7 +304,7 @@ } } }, - "revision": "20200409", + "revision": "20200708", "rootUrl": "https://factchecktools.googleapis.com/", "schemas": { "GoogleFactcheckingFactchecktoolsV1alpha1Claim": { diff --git a/etc/api/fcm/v1/fcm-api.json b/etc/api/fcm/v1/fcm-api.json index 38601ec546..029318f153 100644 --- a/etc/api/fcm/v1/fcm-api.json +++ b/etc/api/fcm/v1/fcm-api.json @@ -142,7 +142,7 @@ } } }, - "revision": "20200406", + "revision": "20200706", "rootUrl": "https://fcm.googleapis.com/", "schemas": { "AndroidConfig": { @@ -396,7 +396,7 @@ "type": "object" }, "Color": { - "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", + "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nNote: when color equality needs to be decided, implementations, unless\ndocumented otherwise, will treat two colors to be equal if all their red,\ngreen, blue and alpha values each differ by at most 1e-5.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", "id": "Color", "properties": { "alpha": { diff --git a/etc/api/file/v1/file-api.json b/etc/api/file/v1/file-api.json index 12ae69b0b3..dda904c537 100644 --- a/etc/api/file/v1/file-api.json +++ b/etc/api/file/v1/file-api.json @@ -194,12 +194,12 @@ ], "parameters": { "instanceId": { - "description": "The name of the instance to create.\nThe name must be unique for the specified project and location.", + "description": "Required. The name of the instance to create.\nThe name must be unique for the specified project and location.", "location": "query", "type": "string" }, "parent": { - "description": "The instance's project and location, in the format\nprojects/{project_id}/locations/{location}. In Cloud Filestore,\nlocations map to GCP zones, for example **us-west1-b**.", + "description": "Required. The instance's project and location, in the format\nprojects/{project_id}/locations/{location}. In Cloud Filestore,\nlocations map to GCP zones, for example **us-west1-b**.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -227,7 +227,7 @@ ], "parameters": { "name": { - "description": "The instance resource name, in the format\nprojects/{project_id}/locations/{location}/instances/{instance_id}", + "description": "Required. The instance resource name, in the format\nprojects/{project_id}/locations/{location}/instances/{instance_id}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -252,7 +252,7 @@ ], "parameters": { "name": { - "description": "The instance resource name, in the format\nprojects/{project_id}/locations/{location}/instances/{instance_id}.", + "description": "Required. The instance resource name, in the format\nprojects/{project_id}/locations/{location}/instances/{instance_id}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -298,7 +298,7 @@ "type": "string" }, "parent": { - "description": "The project and location for which to retrieve instance information,\nin the format projects/{project_id}/locations/{location}. In Cloud\nFilestore, locations map to GCP zones, for example **us-west1-b**. To\nretrieve instance information for all locations, use \"-\" for the {location}\nvalue.", + "description": "Required. The project and location for which to retrieve instance information,\nin the format projects/{project_id}/locations/{location}. In Cloud\nFilestore, locations map to GCP zones, for example **us-west1-b**. To\nretrieve instance information for all locations, use \"-\" for the {location}\nvalue.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -477,7 +477,7 @@ } } }, - "revision": "20200406", + "revision": "20200707", "rootUrl": "https://file.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -541,6 +541,10 @@ "description": "The MaintenanceSchedule contains the scheduling information of published\nmaintenance schedule.", "type": "object" }, + "maintenanceSettings": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "description": "Optional. The MaintenanceSettings associated with instance." + }, "name": { "description": "Unique name of the resource. It uses the form:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", "type": "string" @@ -633,6 +637,17 @@ }, "type": "object" }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings": { + "description": "Maintenance settings associated with instance. Allows service producers and\nend users to assign settings that controls maintenance on this instance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "properties": { + "exclude": { + "description": "Optional. Exclude instance from maintenance. When true, rollout service will not\nattempt maintenance on the instance. Rollout service will include the\ninstance in reported rollout progress as not attempted.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": { "description": "Node information for custom per-node SLO implementations.\nSSA does not support per-node SLO, but producers can populate per-node\ninformation in SloMetadata for custom precomputations.\nSSA Eligibility Exporter will emit per-node metric based on this information.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata", @@ -749,7 +764,7 @@ "type": "string" }, "description": { - "description": "Optional. The description of the instance (2048 characters or less).", + "description": "The description of the instance (2048 characters or less).", "type": "string" }, "etag": { @@ -817,8 +832,8 @@ ], "enumDescriptions": [ "Not set.", - "STANDARD tier. BASIC_HDD is the preferred term for this tier.", - "PREMIUM tier. BASIC_SSD is the preferred term for this tier.", + "STANDARD tier.", + "PREMIUM tier.", "BASIC instances offer a maximum capacity of 63.9 TB.\nBASIC_HDD is an alias for STANDARD Tier, offering economical\nperformance backed by HDD.", "BASIC instances offer a maximum capacity of 63.9 TB.\nBASIC_SSD is an alias for PREMIUM Tier, and offers improved\nperformance backed by SSD.", "HIGH_SCALE instances offer expanded capacity and performance scaling\ncapabilities." diff --git a/etc/api/file/v1beta1/file-api.json b/etc/api/file/v1beta1/file-api.json index 973dc47f90..0eb09d66c9 100644 --- a/etc/api/file/v1beta1/file-api.json +++ b/etc/api/file/v1beta1/file-api.json @@ -40,11 +40,6 @@ "location": "query", "type": "string" }, - "access_token": { - "description": "OAuth access token.", - "location": "query", - "type": "string" - }, "alt": { "default": "json", "description": "Data format for response.", @@ -76,11 +71,6 @@ "location": "query", "type": "string" }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, "prettyPrint": { "default": "true", "description": "Returns response with indentations and line breaks.", @@ -194,12 +184,12 @@ ], "parameters": { "instanceId": { - "description": "The name of the instance to create.\nThe name must be unique for the specified project and location.", + "description": "Required. The ID of the instance to create.\nThe ID must be unique within the specified project and location.\n\nThis value must start with a lowercase letter followed by up to 62\nlowercase letters, numbers, or hyphens, and cannot end with a hyphen.", "location": "query", "type": "string" }, "parent": { - "description": "The instance's project and location, in the format\nprojects/{project_id}/locations/{location}. In Cloud Filestore,\nlocations map to GCP zones, for example **us-west1-b**.", + "description": "Required. The instance's project and location, in the format\nprojects/{project_id}/locations/{location}. In Cloud Filestore,\nlocations map to GCP zones, for example **us-west1-b**.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -227,7 +217,7 @@ ], "parameters": { "name": { - "description": "The instance resource name, in the format\nprojects/{project_id}/locations/{location}/instances/{instance_id}", + "description": "Required. The instance resource name, in the format\nprojects/{project_id}/locations/{location}/instances/{instance_id}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -252,7 +242,7 @@ ], "parameters": { "name": { - "description": "The instance resource name, in the format\nprojects/{project_id}/locations/{location}/instances/{instance_id}.", + "description": "Required. The instance resource name, in the format\nprojects/{project_id}/locations/{location}/instances/{instance_id}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -298,7 +288,7 @@ "type": "string" }, "parent": { - "description": "The project and location for which to retrieve instance information,\nin the format projects/{project_id}/locations/{location}. In Cloud\nFilestore, locations map to GCP zones, for example **us-west1-b**. To\nretrieve instance information for all locations, use \"-\" for the {location}\nvalue.", + "description": "Required. The project and location for which to retrieve instance information,\nin the format projects/{project_id}/locations/{location}. In Cloud\nFilestore, locations map to GCP zones, for example **us-west1-b**. To\nretrieve instance information for all locations, use \"-\" for the {location}\nvalue.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -330,7 +320,7 @@ "type": "string" }, "updateMask": { - "description": "Mask of fields to update. At least one path must be supplied in this\nfield. The elements of the repeated paths field may only include these\nfields:\n\n* \"description\"\n* \"file_shares\"\n* \"labels\"", + "description": "Required. Mask of fields to update. At least one path must be supplied in this\nfield. The elements of the repeated paths field may only include these\nfields:\n\n* \"description\"\n* \"file_shares\"\n* \"labels\"", "format": "google-fieldmask", "location": "query", "type": "string" @@ -477,7 +467,7 @@ } } }, - "revision": "20200406", + "revision": "20200613", "rootUrl": "https://file.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -504,6 +494,13 @@ "name": { "description": "The name of the file share (must be 16 characters or less).", "type": "string" + }, + "nfsExportOptions": { + "description": "Nfs Export Options.\nThere is a limit of 10 export options per file share.", + "items": { + "$ref": "NfsExportOptions" + }, + "type": "array" } }, "type": "object" @@ -541,6 +538,10 @@ "description": "The MaintenanceSchedule contains the scheduling information of published\nmaintenance schedule.", "type": "object" }, + "maintenanceSettings": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "description": "Optional. The MaintenanceSettings associated with instance." + }, "name": { "description": "Unique name of the resource. It uses the form:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", "type": "string" @@ -633,6 +634,17 @@ }, "type": "object" }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings": { + "description": "Maintenance settings associated with instance. Allows service producers and\nend users to assign settings that controls maintenance on this instance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "properties": { + "exclude": { + "description": "Optional. Exclude instance from maintenance. When true, rollout service will not\nattempt maintenance on the instance. Rollout service will include the\ninstance in reported rollout progress as not attempted.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": { "description": "Node information for custom per-node SLO implementations.\nSSA does not support per-node SLO, but producers can populate per-node\ninformation in SloMetadata for custom precomputations.\nSSA Eligibility Exporter will emit per-node metric based on this information.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata", @@ -749,7 +761,7 @@ "type": "string" }, "description": { - "description": "Optional. The description of the instance (2048 characters or less).", + "description": "The description of the instance (2048 characters or less).", "type": "string" }, "etag": { @@ -789,7 +801,8 @@ "READY", "REPAIRING", "DELETING", - "ERROR" + "ERROR", + "RESTORING" ], "enumDescriptions": [ "State not set.", @@ -797,7 +810,8 @@ "The instance is available for use.", "Work is being done on the instance. You can get further details from the\n`statusMessage` field of the `Instance` resource.", "The instance is shutting down.", - "The instance is experiencing an issue and might be unusable. You can get\nfurther details from the `statusMessage` field of the `Instance`\nresource." + "The instance is experiencing an issue and might be unusable. You can get\nfurther details from the `statusMessage` field of the `Instance`\nresource.", + "The instance is restoring a snapshot or backup to an existing file share\nand may be unusable during this time." ], "type": "string" }, @@ -960,6 +974,58 @@ }, "type": "object" }, + "NfsExportOptions": { + "description": "NFS export options specifications.", + "id": "NfsExportOptions", + "properties": { + "accessMode": { + "description": "Either READ_ONLY, for allowing only read requests on the exported\ndirectory, or READ_WRITE, for allowing both read and write requests.\nThe default is READ_WRITE.", + "enum": [ + "ACCESS_MODE_UNSPECIFIED", + "READ_ONLY", + "READ_WRITE" + ], + "enumDescriptions": [ + "AccessMode not set.", + "The client can only read the file share.", + "The client can read and write the file share (default)." + ], + "type": "string" + }, + "anonGid": { + "description": "An integer representing the anonymous group id with a default value of\n65534.\nAnon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be\nreturned if this field is specified for other squash_mode settings.", + "format": "int64", + "type": "string" + }, + "anonUid": { + "description": "An integer representing the anonymous user id with a default value of\n65534.\nAnon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be\nreturned if this field is specified for other squash_mode settings.", + "format": "int64", + "type": "string" + }, + "ipRanges": { + "description": "List of either an IPv4 addresses in the format\n{octet 1}.{octet 2}.{octet 3}.{octet 4} or CIDR ranges in the format\n{octet 1}.{octet 2}.{octet 3}.{octet 4}/{mask size} which may mount the\nfile share.\nOverlapping IP ranges are not allowed, both within and across\nNfsExportOptions. An error will be returned.\nThe limit is 64 IP ranges/addresses for each FileShareConfig among all\nNfsExportOptions.", + "items": { + "type": "string" + }, + "type": "array" + }, + "squashMode": { + "description": "Either NO_ROOT_SQUASH, for allowing root access on the exported directory,\nor ROOT_SQUASH, for not allowing root access. The default is\nNO_ROOT_SQUASH.", + "enum": [ + "SQUASH_MODE_UNSPECIFIED", + "NO_ROOT_SQUASH", + "ROOT_SQUASH" + ], + "enumDescriptions": [ + "SquashMode not set.", + "The Root user has root access to the file share (default).", + "The Root user has squashed access to the anonymous uid/gid." + ], + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "id": "Operation", diff --git a/etc/api/firebase/v1beta1/firebase-api.json b/etc/api/firebase/v1beta1/firebase-api.json index acbf72ef4d..9d886d6869 100644 --- a/etc/api/firebase/v1beta1/firebase-api.json +++ b/etc/api/firebase/v1beta1/firebase-api.json @@ -183,7 +183,7 @@ "projects": { "methods": { "addFirebase": { - "description": "Adds Firebase resources to the specified existing\n[Google Cloud Platform (GCP) `Project`]\n(https://cloud.google.com/resource-manager/reference/rest/v1/projects).\n
\n
Since a FirebaseProject is actually also a GCP `Project`, a\n`FirebaseProject` uses underlying GCP identifiers (most importantly,\nthe `projectId`) as its own for easy interop with GCP APIs.\n
\n
The result of this call is an [`Operation`](../../v1beta1/operations).\nPoll the `Operation` to track the provisioning process by calling\nGetOperation until\n[`done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When\n`done` is `true`, the `Operation` has either succeeded or failed. If the\n`Operation` succeeded, its\n[`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to\na FirebaseProject; if the `Operation` failed, its\n[`error`](../../v1beta1/operations#Operation.FIELDS.error) is set to a\ngoogle.rpc.Status. The `Operation` is automatically deleted after\ncompletion, so there is no need to call\nDeleteOperation.\n
\n
This method does not modify any billing account information on the\nunderlying GCP `Project`.\n
\n
To call `AddFirebase`, a member must be an Editor or Owner for the\nexisting GCP `Project`. Service accounts cannot call `AddFirebase`.", + "description": "Adds Firebase resources to the specified existing\n[Google Cloud Platform (GCP) `Project`]\n(https://cloud.google.com/resource-manager/reference/rest/v1/projects).\n
\n
Since a FirebaseProject is actually also a GCP `Project`, a\n`FirebaseProject` uses underlying GCP identifiers (most importantly,\nthe `PROJECT_NUMBER`) as its own for easy interop with GCP APIs.\n
\n
The result of this call is an [`Operation`](../../v1beta1/operations).\nPoll the `Operation` to track the provisioning process by calling\nGetOperation until\n[`done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When\n`done` is `true`, the `Operation` has either succeeded or failed. If the\n`Operation` succeeded, its\n[`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to\na FirebaseProject; if the `Operation` failed, its\n[`error`](../../v1beta1/operations#Operation.FIELDS.error) is set to a\ngoogle.rpc.Status. The `Operation` is automatically deleted after\ncompletion, so there is no need to call\nDeleteOperation.\n
\n
This method does not modify any billing account information on the\nunderlying GCP `Project`.\n
\n
To call `AddFirebase`, a project member or service account must have\nthe following permissions (the IAM roles of Editor and Owner contain these\npermissions):\n`firebase.projects.update`, `resourcemanager.projects.get`,\n`serviceusage.services.enable`, and `serviceusage.services.get`.", "flatPath": "v1beta1/projects/{projectsId}:addFirebase", "httpMethod": "POST", "id": "firebase.projects.addFirebase", @@ -192,7 +192,7 @@ ], "parameters": { "project": { - "description": "The resource name of the GCP `Project` to which Firebase resources will be\nadded, in the format:\n
projects/projectId\nAfter calling `AddFirebase`, the\n[`projectId`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_id)\nof the GCP `Project` is also the `projectId` of the FirebaseProject.", + "description": "The resource name of the GCP `Project` to which Firebase resources will be\nadded, in the format:\n
projects/PROJECT_NUMBER\nAfter calling `AddFirebase`, the\n[`project_id`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_id)\nof the GCP `Project` is also the `project_id` of the FirebaseProject.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -221,7 +221,7 @@ ], "parameters": { "parent": { - "description": "The parent `FirebaseProject` to link to an existing Google Analytics\naccount, in the format:\n
projects/projectId", + "description": "The parent `FirebaseProject` to link to an existing Google Analytics\naccount, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -250,7 +250,7 @@ ], "parameters": { "name": { - "description": "The fully qualified resource name of the Project, in the format:\n
projects/projectId", + "description": "The fully qualified resource name of the Project, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -278,7 +278,7 @@ ], "parameters": { "name": { - "description": "The fully qualified resource name of the Project, in the format:\n
projects/projectId/adminSdkConfig", + "description": "The fully qualified resource name of the Project, in the format:\n
projects/PROJECT_NUMBER/adminSdkConfig", "location": "path", "pattern": "^projects/[^/]+/adminSdkConfig$", "required": true, @@ -306,7 +306,7 @@ ], "parameters": { "name": { - "description": "The fully qualified resource name, in the format:\n
projects/projectId/analyticsDetails", + "description": "The fully qualified resource name, in the format:\n
projects/PROJECT_NUMBER/analyticsDetails", "location": "path", "pattern": "^projects/[^/]+/analyticsDetails$", "required": true, @@ -399,7 +399,7 @@ ], "parameters": { "parent": { - "description": "The parent `FirebaseProject` to unlink from its Google Analytics account,\nin the format:\n
projects/projectId", + "description": "The parent `FirebaseProject` to unlink from its Google Analytics account,\nin the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -439,7 +439,7 @@ "type": "string" }, "parent": { - "description": "The parent Project for which to list Apps, in the format:\n
projects/projectId", + "description": "The parent Project for which to list Apps, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -471,7 +471,7 @@ ], "parameters": { "parent": { - "description": "The parent Project in which to create an App, in the format:\n
projects/projectId", + "description": "The parent Project in which to create an App, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -500,7 +500,7 @@ ], "parameters": { "name": { - "description": "The fully qualified resource name of the App, in the format:\n
projects/projectId/androidApps/appId\n
As an appId is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/androidApps/appId", + "description": "The fully qualified resource name of the App, in the format:\n
projects/PROJECT_NUMBER/androidApps/APP_ID\n
As an APP_ID is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/androidApps/APP_ID", "location": "path", "pattern": "^projects/[^/]+/androidApps/[^/]+$", "required": true, @@ -528,7 +528,7 @@ ], "parameters": { "name": { - "description": "The resource name of the App configuration to download, in the format:\n
projects/projectId/androidApps/appId/config\n
As an appId is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/androidApps/appId", + "description": "The resource name of the App configuration to download, in the format:\n
projects/PROJECT_NUMBER/androidApps/APP_ID/config\n
As an APP_ID is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/androidApps/APP_ID", "location": "path", "pattern": "^projects/[^/]+/androidApps/[^/]+/config$", "required": true, @@ -567,7 +567,7 @@ "type": "string" }, "parent": { - "description": "The parent Project for which to list Apps, in the format:\n
projects/projectId", + "description": "The parent Project for which to list Apps, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -602,7 +602,7 @@ "type": "string" }, "updateMask": { - "description": "Specifies which fields to update.\n
Note that the fields `name`, `appId`, `projectId`, and `packageName`\nare all immutable.", + "description": "Specifies which fields to update.\n
Note that the fields `name`, `app_id`, `project_id`, and `package_name`\nare all immutable.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -634,7 +634,7 @@ ], "parameters": { "parent": { - "description": "The parent App to which a SHA certificate will be added, in the format:\n
projects/projectId/androidApps/appId\n
As an appId is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/androidApps/appId", + "description": "The parent App to which a SHA certificate will be added, in the format:\n
projects/PROJECT_NUMBER/androidApps/APP_ID\n
As an APP_ID is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/androidApps/APP_ID", "location": "path", "pattern": "^projects/[^/]+/androidApps/[^/]+$", "required": true, @@ -663,7 +663,7 @@ ], "parameters": { "name": { - "description": "The fully qualified resource name of the `sha-key`, in the format:\n
projects/projectId/androidApps/appId/sha/shaId\n
You can obtain the full name from the response of\n[`ListShaCertificates`](../projects.androidApps.sha/list) or the original\n[`CreateShaCertificate`](../projects.androidApps.sha/create).", + "description": "The fully qualified resource name of the `sha-key`, in the format:\n
projects/PROJECT_NUMBER/androidApps/APP_ID/sha/SHA_ID\n
You can obtain the full name from the response of\n[`ListShaCertificates`](../projects.androidApps.sha/list) or the original\n[`CreateShaCertificate`](../projects.androidApps.sha/create).", "location": "path", "pattern": "^projects/[^/]+/androidApps/[^/]+/sha/[^/]+$", "required": true, @@ -689,7 +689,7 @@ ], "parameters": { "parent": { - "description": "The parent App for which to list SHA certificates, in the format:\n
projects/projectId/androidApps/appId\n
As an appId is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/androidApps/appId", + "description": "The parent App for which to list SHA certificates, in the format:\n
projects/PROJECT_NUMBER/androidApps/APP_ID\n
As an APP_ID is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/androidApps/APP_ID", "location": "path", "pattern": "^projects/[^/]+/androidApps/[^/]+$", "required": true, @@ -714,7 +714,7 @@ "availableLocations": { "methods": { "list": { - "description": "Returns a list of valid Google Cloud Platform (GCP) resource locations for\nthe specified Project (including a FirebaseProject).\n
\n
One of these locations can be selected as the Project's [_default_ GCP\nresource location](https://firebase.google.com/docs/projects/locations),\nwhich is the geographical location where project resources, such as Cloud\nFirestore, will be provisioned by default. However, if the default GCP\nresource location has already been set for the Project, then this setting\ncannot be changed.\n
\n
This call checks for any possible\n[location\nrestrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations)\nfor the specified Project and, thus, might return a subset of all possible\nGCP resource locations. To list all GCP resource locations (regardless of\nany restrictions), call the endpoint without specifying a `projectId` (that\nis, `/v1beta1/{parent=projects/-}/listAvailableLocations`).\n
\n
To call `ListAvailableLocations` with a specified project, a member\nmust be at minimum a Viewer of the project. Calls without a specified\nproject do not require any specific project permissions.", + "description": "Returns a list of valid Google Cloud Platform (GCP) resource locations for\nthe specified Project (including a FirebaseProject).\n
\n
One of these locations can be selected as the Project's [_default_ GCP\nresource location](https://firebase.google.com/docs/projects/locations),\nwhich is the geographical location where project resources, such as Cloud\nFirestore, will be provisioned by default. However, if the default GCP\nresource location has already been set for the Project, then this setting\ncannot be changed.\n
\n
This call checks for any possible\n[location\nrestrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations)\nfor the specified Project and, thus, might return a subset of all possible\nGCP resource locations. To list all GCP resource locations (regardless of\nany restrictions), call the endpoint without specifying a `PROJECT_NUMBER`\n(that is, `/v1beta1/{parent=projects/-}/listAvailableLocations`).
\n
To call `ListAvailableLocations` with a specified project, a member\nmust be at minimum a Viewer of the project. Calls without a specified\nproject do not require any specific project permissions.", "flatPath": "v1beta1/projects/{projectsId}/availableLocations", "httpMethod": "GET", "id": "firebase.projects.availableLocations.list", @@ -734,7 +734,7 @@ "type": "string" }, "parent": { - "description": "The Project for which to list GCP resource locations, in the format:\n
projects/projectId\n
If no project is specified (that is, `projects/-`), the returned list\ndoes not take into account org-specific or project-specific location\nrestrictions.", + "description": "The Project for which to list GCP resource locations, in the format:\n
projects/PROJECT_NUMBER\n
If no project is specified (that is, `projects/-`), the returned list\ndoes not take into account org-specific or project-specific location\nrestrictions.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -766,7 +766,7 @@ ], "parameters": { "parent": { - "description": "The resource name of the Project for which the default GCP resource\nlocation will be set, in the format:\n
projects/projectId", + "description": "The resource name of the Project for which the default GCP resource\nlocation will be set, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -799,7 +799,7 @@ ], "parameters": { "parent": { - "description": "The parent Project in which to create an App, in the format:\n
projects/projectId", + "description": "The parent Project in which to create an App, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -828,7 +828,7 @@ ], "parameters": { "name": { - "description": "The fully qualified resource name of the App, in the format:\nprojects/projectId/iosApps/appId\n
As an appId is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/iosApps/appId", + "description": "The fully qualified resource name of the App, in the format:\nprojects/PROJECT_NUMBER/iosApps/APP_ID\n
As an APP_ID is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/iosApps/APP_ID", "location": "path", "pattern": "^projects/[^/]+/iosApps/[^/]+$", "required": true, @@ -856,7 +856,7 @@ ], "parameters": { "name": { - "description": "The resource name of the App configuration to download, in the format:\n
projects/projectId/iosApps/appId/config\n
As an appId is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/iosApps/appId", + "description": "The resource name of the App configuration to download, in the format:\n
projects/PROJECT_NUMBER/iosApps/APP_ID/config\n
As an APP_ID is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/iosApps/APP_ID", "location": "path", "pattern": "^projects/[^/]+/iosApps/[^/]+/config$", "required": true, @@ -895,7 +895,7 @@ "type": "string" }, "parent": { - "description": "The parent Project for which to list Apps, in the format:\n
projects/projectId", + "description": "The parent Project for which to list Apps, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -962,7 +962,7 @@ ], "parameters": { "parent": { - "description": "The parent Project in which to create an App, in the format:\n
projects/projectId", + "description": "The parent Project in which to create an App, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -991,7 +991,7 @@ ], "parameters": { "name": { - "description": "The fully qualified resource name of the App, in the format:\n
projects/projectId/webApps/appId\n
As an appId is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/webApps/appId", + "description": "The fully qualified resource name of the App, in the format:\n
projects/PROJECT_NUMBER/webApps/APP_ID\n
As an APP_ID is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/webApps/APP_ID", "location": "path", "pattern": "^projects/[^/]+/webApps/[^/]+$", "required": true, @@ -1019,7 +1019,7 @@ ], "parameters": { "name": { - "description": "The resource name of the App configuration to download, in the format:\n
projects/projectId/webApps/appId/config\n
As an appId is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/webApps/appId", + "description": "The resource name of the App configuration to download, in the format:\n
projects/PROJECT_NUMBER/webApps/APP_ID/config\n
As an APP_ID is a unique identifier, the Unique Resource\nfrom Sub-Collection access pattern may be used here, in the format:\n
projects/-/webApps/APP_ID", "location": "path", "pattern": "^projects/[^/]+/webApps/[^/]+/config$", "required": true, @@ -1058,7 +1058,7 @@ "type": "string" }, "parent": { - "description": "The parent Project for which to list Apps, in the format:\n
projects/projectId", + "description": "The parent Project for which to list Apps, in the format:\n
projects/PROJECT_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1116,7 +1116,7 @@ } } }, - "revision": "20200407", + "revision": "20200707", "rootUrl": "https://firebase.googleapis.com/", "schemas": { "AddFirebaseRequest": { @@ -1611,7 +1611,7 @@ "type": "string" }, "project": { - "description": "The resource name of the GCP `Project` to which Firebase resources can be\nadded, in the format:\n
projects/projectId", + "description": "The resource name of the GCP `Project` to which Firebase resources can be\nadded, in the format:\n
projects/PROJECT_NUMBER", "type": "string" } }, @@ -1663,7 +1663,7 @@ "type": "string" }, "name": { - "description": "The fully qualified resource name of the `sha-key`, in the format:\n
projects/projectId/androidApps/appId/sha/shaId", + "description": "The fully qualified resource name of the `sha-key`, in the format:\n
projects/PROJECT_NUMBER/androidApps/APP_ID/sha/SHA_ID", "type": "string" }, "shaHash": { @@ -1738,7 +1738,7 @@ "id": "StreamMapping", "properties": { "app": { - "description": "The fully qualified resource name of the Firebase App associated with the\nGoogle Analytics data stream, in the format:\n
projects/projectId/androidApps/appId\nor\nprojects/projectId/iosApps/appId\nor\nprojects/projectId/webApps/appId", + "description": "The fully qualified resource name of the Firebase App associated with the\nGoogle Analytics data stream, in the format:\n
projects/PROJECT_NUMBER/androidApps/APP_ID\nor\nprojects/PROJECT_NUMBER/iosApps/APP_ID\nor\nprojects/PROJECT_NUMBER/webApps/APP_ID", "type": "string" }, "measurementId": { @@ -1825,7 +1825,7 @@ "type": "string" }, "measurementId": { - "description": "The unique Google-assigned identifier of the Google Analytics web stream\nassociated with the Firebase Web App. Firebase SDKs use this ID to interact\nwith Google Analytics APIs.\n
\n
This field is only present if the App is linked to a web stream in a\nGoogle Analytics App + Web property. Learn more about this ID and Google\nAnalytics web streams in the [Analytics\ndocumentation](https://support.google.com/analytics/topic/9303475).\n
\n
To generate a `measurementId` and link the Web App with a Google\nAnalytics web stream, call\n[`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics).", + "description": "This field will no longer be provided here. Instead, use\n`GetAnalyticsDetails`", "type": "string" }, "messagingSenderId": { diff --git a/etc/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json b/etc/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json index 2e559aac42..088d653980 100644 --- a/etc/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json +++ b/etc/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json @@ -224,7 +224,7 @@ } } }, - "revision": "20200410", + "revision": "20200706", "rootUrl": "https://firebasedynamiclinks.googleapis.com/", "schemas": { "AnalyticsInfo": { diff --git a/etc/api/firebasehosting/v1/firebasehosting-api.json b/etc/api/firebasehosting/v1/firebasehosting-api.json new file mode 100644 index 0000000000..9fea86b52f --- /dev/null +++ b/etc/api/firebasehosting/v1/firebasehosting-api.json @@ -0,0 +1,289 @@ +{ + "basePath": "", + "baseUrl": "https://firebasehosting.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Firebase Hosting", + "description": "The Firebase Hosting REST API enables programmatic and customizable deployments to your Firebase-hosted sites. Use this REST API to deploy new or updated hosting configurations and content files.", + "discoveryVersion": "v1", + "documentationLink": "https://firebase.google.com/docs/hosting/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "firebasehosting:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://firebasehosting.mtls.googleapis.com/", + "name": "firebasehosting", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "firebasehosting.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + } + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "firebasehosting.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + } + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1/operations", + "httpMethod": "GET", + "id": "firebasehosting.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ListOperationsResponse" + } + } + } + } + }, + "revision": "20200709", + "rootUrl": "https://firebasehosting.googleapis.com/", + "schemas": { + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Firebase Hosting API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/firebasehosting/v1beta1/firebasehosting-api.json b/etc/api/firebasehosting/v1beta1/firebasehosting-api.json index 74c69ddca3..b6722498d4 100644 --- a/etc/api/firebasehosting/v1beta1/firebasehosting-api.json +++ b/etc/api/firebasehosting/v1beta1/firebasehosting-api.json @@ -149,6 +149,71 @@ } }, "sites": { + "methods": { + "getConfig": { + "description": "Gets the Hosting metadata for a specific site.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/config", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.getConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The site for which to get the SiteConfig, in the format:\nsites/site-name/config", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/config$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "SiteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + }, + "updateConfig": { + "description": "Sets the Hosting metadata for a specific site.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/config", + "httpMethod": "PATCH", + "id": "firebasehosting.projects.sites.updateConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The site for which to update the SiteConfig, in the format:\nsites/site-name/config", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/config$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "A set of field names from your [site configuration](../sites.SiteConfig)\nthat you want to update.\n
A field will be overwritten if, and only if, it's in the mask.\n
If a mask is not provided then a default mask of only\n[`max_versions`](../sites.SiteConfig.max_versions) will be used.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "SiteConfig" + }, + "response": { + "$ref": "SiteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + }, "resources": { "channels": { "resources": { @@ -164,7 +229,7 @@ ], "parameters": { "parent": { - "description": "The site that the release belongs to, in the format:\nsites/site-name", + "description": "Required. The site that the release belongs to, in the format:\nsites/site-name", "location": "path", "pattern": "^projects/[^/]+/sites/[^/]+/channels/[^/]+$", "required": true, @@ -231,6 +296,161 @@ } } }, + "domains": { + "methods": { + "create": { + "description": "Creates a domain mapping on the specified site.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/domains", + "httpMethod": "POST", + "id": "firebasehosting.projects.sites.domains.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent to create the domain association for, in the format:\nsites/site-name", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/domains", + "request": { + "$ref": "Domain" + }, + "response": { + "$ref": "Domain" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "delete": { + "description": "Deletes the existing domain mapping on the specified site.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/domains/{domainsId}", + "httpMethod": "DELETE", + "id": "firebasehosting.projects.sites.domains.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the domain association to delete.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets a domain mapping on the specified site.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/domains/{domainsId}", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.domains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the domain configuration to get.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Domain" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + }, + "list": { + "description": "Lists the domains for the specified site.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/domains", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.domains.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The page size to return. Defaults to 50.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token from a previous request, if provided.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent for which to list domains, in the format:\nsites/site-name", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/domains", + "response": { + "$ref": "ListDomainsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + }, + "update": { + "description": "Updates the specified domain mapping, creating the mapping as if it does\nnot exist.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/domains/{domainsId}", + "httpMethod": "PUT", + "id": "firebasehosting.projects.sites.domains.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the domain association to update or create, if an\nassociation doesn't already exist.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Domain" + }, + "response": { + "$ref": "Domain" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, "releases": { "methods": { "create": { @@ -243,7 +463,7 @@ ], "parameters": { "parent": { - "description": "The site that the release belongs to, in the format:\nsites/site-name", + "description": "Required. The site that the release belongs to, in the format:\nsites/site-name", "location": "path", "pattern": "^projects/[^/]+/sites/[^/]+$", "required": true, @@ -307,6 +527,239 @@ ] } } + }, + "versions": { + "methods": { + "create": { + "description": "Creates a new version for a site.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/versions", + "httpMethod": "POST", + "id": "firebasehosting.projects.sites.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent to create the version for, in the format:\nsites/site-name", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + }, + "sizeBytes": { + "description": "The self-reported size of the version. This value is used for a pre-emptive\nquota check for legacy version uploads.", + "format": "int64", + "location": "query", + "type": "string" + }, + "versionId": { + "description": "A unique id for the new version. This is only specified for legacy version\ncreations.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "request": { + "$ref": "Version" + }, + "response": { + "$ref": "Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "delete": { + "description": "Deletes the specified version.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "firebasehosting.projects.sites.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version to be deleted, in the format:\nsites/site-name/versions/versionID", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "list": { + "description": "Lists the versions that have been created on the specified site.\nWill include filtering in the future.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/versions", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter string used to return a subset of versions in the response.\nCurrently supported fields for filtering are: name, status,\nand create_time. Filter processing will be implemented in accordance\nwith go/filtering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of versions to return. The service may return fewer than\nthis value.\nIf unspecified, at most 25 versions will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token from a previous request, if provided.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent for which to list files, in the format:\nsites/site-name", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "response": { + "$ref": "ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + }, + "patch": { + "description": "Updates the specified metadata for a version. Note that this method will\nfail with `FAILED_PRECONDITION` in the event of an invalid state\ntransition. The only valid transition for a version is currently from a\n`CREATED` status to a `FINALIZED` status.\nUse [`DeleteVersion`](../sites.versions/delete) to set the status of a\nversion to `DELETED`.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/versions/{versionsId}", + "httpMethod": "PATCH", + "id": "firebasehosting.projects.sites.versions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The unique identifier for a version, in the format:\nsites/site-name/versions/versionID\nThis name is provided in the response body when you call the\n[`CreateVersion`](../sites.versions/create) endpoint.", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "A set of field names from your [version](../sites.versions) that you want\nto update.\n
A field will be overwritten if, and only if, it's in the mask.\n
If a mask is not provided then a default mask of only\n[`status`](../sites.versions#Version.FIELDS.status) will be used.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Version" + }, + "response": { + "$ref": "Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "populateFiles": { + "description": "Adds content files to a version.\nEach file must be under 2 GB.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/versions/{versionsId}:populateFiles", + "httpMethod": "POST", + "id": "firebasehosting.projects.sites.versions.populateFiles", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The version to add files to, in the format:\nsites/site-name/versions/versionID", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}:populateFiles", + "request": { + "$ref": "PopulateVersionFilesRequest" + }, + "response": { + "$ref": "PopulateVersionFilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + }, + "resources": { + "files": { + "methods": { + "list": { + "description": "Lists the remaining files to be uploaded for the specified version.", + "flatPath": "v1beta1/projects/{projectsId}/sites/{sitesId}/versions/{versionsId}/files", + "httpMethod": "GET", + "id": "firebasehosting.projects.sites.versions.files.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The page size to return. Defaults to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token from a previous request, if provided. This will be the\nencoded version of a firebase.hosting.proto.metadata.ListFilesPageToken.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent to list files for, in the format:\nsites/site-name/versions/versionID", + "location": "path", + "pattern": "^projects/[^/]+/sites/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "status": { + "description": "The type of files in the version that should be listed.", + "enum": [ + "STATUS_UNSPECIFIED", + "EXPECTED", + "ACTIVE" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/files", + "response": { + "$ref": "ListVersionFilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] + } + } + } + } } } } @@ -393,7 +846,7 @@ ], "parameters": { "parent": { - "description": "The site that the release belongs to, in the format:\nsites/site-name", + "description": "Required. The site that the release belongs to, in the format:\nsites/site-name", "location": "path", "pattern": "^sites/[^/]+/channels/[^/]+$", "required": true, @@ -627,7 +1080,7 @@ ], "parameters": { "parent": { - "description": "The site that the release belongs to, in the format:\nsites/site-name", + "description": "Required. The site that the release belongs to, in the format:\nsites/site-name", "location": "path", "pattern": "^sites/[^/]+$", "required": true, @@ -694,31 +1147,6 @@ }, "versions": { "methods": { - "clone": { - "description": "Creates a new version on the target site using the content\nof the specified version.", - "flatPath": "v1beta1/sites/{sitesId}/versions:clone", - "httpMethod": "POST", - "id": "firebasehosting.sites.versions.clone", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The target site where the cloned version will reside,\nin the format: `sites/{site}`", - "location": "path", - "pattern": "^sites/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/versions:clone", - "request": { - "$ref": "CloneVersionRequest" - }, - "response": { - "$ref": "Operation" - } - }, "create": { "description": "Creates a new version for a site.", "flatPath": "v1beta1/sites/{sitesId}/versions", @@ -821,7 +1249,13 @@ "path": "v1beta1/{+parent}/versions", "response": { "$ref": "ListVersionsResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ] }, "patch": { "description": "Updates the specified metadata for a version. Note that this method will\nfail with `FAILED_PRECONDITION` in the event of an invalid state\ntransition. The only valid transition for a version is currently from a\n`CREATED` status to a `FINALIZED` status.\nUse [`DeleteVersion`](../sites.versions/delete) to set the status of a\nversion to `DELETED`.", @@ -859,7 +1293,7 @@ ] }, "populateFiles": { - "description": "Adds content files to a version.", + "description": "Adds content files to a version.\nEach file must be under 2 GB.", "flatPath": "v1beta1/sites/{sitesId}/versions/{versionsId}:populateFiles", "httpMethod": "POST", "id": "firebasehosting.sites.versions.populateFiles", @@ -947,7 +1381,7 @@ } } }, - "revision": "20200325", + "revision": "20200709", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "ActingUser": { @@ -995,29 +1429,6 @@ }, "type": "object" }, - "CloneVersionRequest": { - "description": "The request sent to CloneVersion.", - "id": "CloneVersionRequest", - "properties": { - "exclude": { - "$ref": "PathFilter", - "description": "If provided, only paths that do not match any of the regexes in this\nlist will be included in the new version." - }, - "finalize": { - "description": "If true, immediately finalize the version after cloning is complete.", - "type": "boolean" - }, - "include": { - "$ref": "PathFilter", - "description": "If provided, only paths that match one or more regexes in this list\nwill be included in the new version." - }, - "sourceVersion": { - "description": "Required. The name of the version to be cloned, in the format:\n`sites/{site}/versions/{version}`", - "type": "string" - } - }, - "type": "object" - }, "CloudRunRewrite": { "description": "A configured rewrite that directs requests to a Cloud Run service. If the\nCloud Run service does not exist when setting or updating your Firebase\nHosting configuration, then the request fails. Any errors from the Cloud Run\nservice are passed to the end user (for example, if you delete a service, any\nrequests directed to that service receive a `404` error).", "id": "CloudRunRewrite", @@ -1192,11 +1603,11 @@ "type": "object" }, "Header": { - "description": "A [`header`](/docs/hosting/full-config#headers) defines custom headers to\nadd to a response should the request URL path match the pattern.", + "description": "A [`header`](/docs/hosting/full-config#headers) is an object that specifies\na URL pattern that, if matched to the request URL path, triggers Hosting to\napply the specified custom response headers.", "id": "Header", "properties": { "glob": { - "description": "The user-supplied [glob\npattern](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", + "description": "The user-supplied\n[glob](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", "type": "string" }, "headers": { @@ -1214,6 +1625,7 @@ "type": "object" }, "ListDomainsResponse": { + "description": "The response to listing Domains.", "id": "ListDomainsResponse", "properties": { "domains": { @@ -1316,21 +1728,8 @@ }, "type": "object" }, - "PathFilter": { - "description": "A representation of filter path.", - "id": "PathFilter", - "properties": { - "regexes": { - "description": "An array of regexes to filter by.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "PopulateVersionFilesRequest": { + "description": "The request to populate a Version's Files.", "id": "PopulateVersionFilesRequest", "properties": { "files": { @@ -1377,11 +1776,11 @@ "type": "object" }, "Redirect": { - "description": "A [`redirect`](/docs/hosting/full-config#redirects) represents the\nconfiguration for returning an HTTP redirect response given a matching\nrequest URL path.", + "description": "A [`redirect`](/docs/hosting/full-config#redirects) object specifies a URL\npattern that, if matched to the request URL path, triggers Hosting to\nrespond with a redirect to the specified destination path.", "id": "Redirect", "properties": { "glob": { - "description": "The user-supplied [glob\npattern](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", + "description": "The user-supplied\n[glob](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", "type": "string" }, "location": { @@ -1445,7 +1844,7 @@ "type": "object" }, "Rewrite": { - "description": "A [`rewrite`](/docs/hosting/full-config#rewrites) represents an internal\ncontent rewrite on the version. If the pattern matches, the request will be\nhandled as if it were to the destination path specified in the\nconfiguration.", + "description": "A [`rewrite`](/docs/hosting/full-config#rewrites) object specifies a URL\npattern that, if matched to the request URL path, triggers Hosting to\nrespond as if the service were given the specified destination URL.", "id": "Rewrite", "properties": { "dynamicLinks": { @@ -1457,7 +1856,7 @@ "type": "string" }, "glob": { - "description": "The user-supplied [glob\npattern](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", + "description": "The user-supplied\n[glob](/docs/hosting/full-config#glob_pattern_matching) to match\nagainst the request URL path.", "type": "string" }, "path": { @@ -1476,7 +1875,7 @@ "type": "object" }, "ServingConfig": { - "description": "The configuration for how incoming requests to a site should be routed and\nprocessed before serving content. The patterns are matched and applied\naccording to a specific\n[priority order](/docs/hosting/full-config#hosting_priority_order).", + "description": "The configuration for how incoming requests to a site should be routed and\nprocessed before serving content. The URL request paths are matched against\nthe specified URL patterns in the configuration, then Hosting applies the\napplicable configuration according to a specific\n[priority order](/docs/hosting/full-config#hosting_priority_order).", "id": "ServingConfig", "properties": { "appAssociation": { @@ -1496,21 +1895,21 @@ "type": "boolean" }, "headers": { - "description": "A list of custom response headers that are added to the content if the\nrequest URL path matches the glob.", + "description": "An array of objects, where each object specifies a URL pattern that, if\nmatched to the request URL path, triggers Hosting to apply the specified\ncustom response headers.", "items": { "$ref": "Header" }, "type": "array" }, "redirects": { - "description": "A list of globs that will cause the response to redirect to another\nlocation.", + "description": "An array of objects (called redirect rules), where each rule specifies a\nURL pattern that, if matched to the request URL path, triggers Hosting to\nrespond with a redirect to the specified destination path.", "items": { "$ref": "Redirect" }, "type": "array" }, "rewrites": { - "description": "A list of rewrites that will act as if the service were given the\ndestination URL.", + "description": "An array of objects (called rewrite rules), where each rule specifies a URL\npattern that, if matched to the request URL path, triggers Hosting to\nrespond as if the service were given the specified destination URL.", "items": { "$ref": "Rewrite" }, @@ -1537,6 +1936,10 @@ "description": "A `SiteConfig` contains metadata associated with a specific site that\ncontrols Firebase Hosting serving behavior", "id": "SiteConfig", "properties": { + "cloudLoggingEnabled": { + "description": "Whether or not web requests made by site visitors are logged via Cloud\nLogging.", + "type": "boolean" + }, "maxVersions": { "description": "The number of FINALIZED versions that will be held for a site before\nautomatic deletion. When a new version is deployed, content for versions\nin storage in excess of this number will be deleted, and will no longer be\nbilled for storage usage. Oldest versions will be deleted first; sites are\ncreated with an unlimited number of max_versions by default.", "format": "int64", @@ -1635,8 +2038,7 @@ "FINALIZED", "DELETED", "ABANDONED", - "EXPIRED", - "CLONING" + "EXPIRED" ], "enumDescriptions": [ "The default status; should not be intentionally used.", @@ -1644,8 +2046,7 @@ "All content has been added to the version, and the version can no longer be\nchanged.", "The version has been deleted.", "The version was not updated to `FINALIZED` within 12 hours and was\nautomatically deleted.", - "The version is outside the site-configured limit for the number of\nretained versions, so the version's content is scheduled for deletion.", - "The version is being cloned from another version. All content is still\nbeing copied over." + "The version is outside the site-configured limit for the number of\nretained versions, so the version's content is scheduled for deletion." ], "type": "string" }, diff --git a/etc/api/firebaseml/v1/firebaseml-api.json b/etc/api/firebaseml/v1/firebaseml-api.json new file mode 100644 index 0000000000..4532127610 --- /dev/null +++ b/etc/api/firebaseml/v1/firebaseml-api.json @@ -0,0 +1,331 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://firebaseml.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Firebase ML", + "description": "Access custom machine learning models hosted via Firebase ML.", + "discoveryVersion": "v1", + "documentationLink": "https://firebase.google.com", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "firebaseml:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://firebaseml.mtls.googleapis.com/", + "name": "firebaseml", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "firebaseml.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "firebaseml.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1/operations", + "httpMethod": "GET", + "id": "firebaseml.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + }, + "revision": "20200708", + "rootUrl": "https://firebaseml.googleapis.com/", + "schemas": { + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ModelOperationMetadata": { + "description": "This is returned in the longrunning operations\nfor create/update.", + "id": "ModelOperationMetadata", + "properties": { + "basicOperationStatus": { + "enum": [ + "BASIC_OPERATION_STATUS_UNSPECIFIED", + "BASIC_OPERATION_STATUS_UPLOADING", + "BASIC_OPERATION_STATUS_VERIFYING" + ], + "enumDescriptions": [ + "The status is unspecified", + "The model file is being uploaded", + "The model file is being verified" + ], + "type": "string" + }, + "name": { + "description": "The name of the model we are creating/updating\nThe name must have the form `projects/{project_id}/models/{model_id}`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Firebase ML API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/firebaseml/v1beta2/firebaseml-api.json b/etc/api/firebaseml/v1beta2/firebaseml-api.json new file mode 100644 index 0000000000..dbd5f31e60 --- /dev/null +++ b/etc/api/firebaseml/v1beta2/firebaseml-api.json @@ -0,0 +1,502 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://firebaseml.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Firebase ML", + "description": "Access custom machine learning models hosted via Firebase ML.", + "discoveryVersion": "v1", + "documentationLink": "https://firebase.google.com", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "firebaseml:v1beta2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://firebaseml.mtls.googleapis.com/", + "name": "firebaseml", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "models": { + "methods": { + "create": { + "description": "Creates a model in Firebase ML.\nThe longrunning operation will eventually return a Model", + "flatPath": "v1beta2/projects/{projectsId}/models", + "httpMethod": "POST", + "id": "firebaseml.projects.models.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent project resource where the model is to be created.\nThe parent must have the form `projects/{project_id}`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/models", + "request": { + "$ref": "Model" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a model", + "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}", + "httpMethod": "DELETE", + "id": "firebaseml.projects.models.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the model to delete.\nThe name must have the form `projects/{project_id}/models/{model_id}`", + "location": "path", + "pattern": "^projects/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a model resource.", + "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}", + "httpMethod": "GET", + "id": "firebaseml.projects.models.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the model to get.\nThe name must have the form `projects/{project_id}/models/{model_id}`", + "location": "path", + "pattern": "^projects/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "Model" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the models", + "flatPath": "v1beta2/projects/{projectsId}/models", + "httpMethod": "GET", + "id": "firebaseml.projects.models.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "A filter for the list\ne.g. 'tags: abc' to list models which are tagged with \"abc\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the parent to list models for.\nThe parent must have the form `projects/{project_id}'", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/models", + "response": { + "$ref": "ListModelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a model. The longrunning operation will eventually return a Model.", + "flatPath": "v1beta2/projects/{projectsId}/models/{modelsId}", + "httpMethod": "PATCH", + "id": "firebaseml.projects.models.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the Model.\nModel names have the form `projects/{project_id}/models/{model_id}`\nThe name is ignored when creating a model.", + "location": "path", + "pattern": "^projects/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "request": { + "$ref": "Model" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta2/projects/{projectsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "firebaseml.projects.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + }, + "revision": "20200708", + "rootUrl": "https://firebaseml.googleapis.com/", + "schemas": { + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ListModelsResponse": { + "description": "The response for list models", + "id": "ListModelsResponse", + "properties": { + "models": { + "description": "The list of models", + "items": { + "$ref": "Model" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "Model": { + "description": "An ML model hosted in Firebase ML", + "id": "Model", + "properties": { + "activeOperations": { + "description": "Output only. Lists operation ids associated with this model whose status is NOT done.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Timestamp when this model was created in Firebase ML.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "Required. The name of the model to create. The name can be up to 32 characters long\nand can consist only of ASCII Latin letters A-Z and a-z, underscores(_)\nand ASCII digits 0-9. It must start with a letter.", + "type": "string" + }, + "etag": { + "description": "Output only. See RFC7232\nhttps://tools.ietf.org/html/rfc7232#section-2.3", + "type": "string" + }, + "modelHash": { + "description": "Output only. The model_hash will change if a new file is available for download.", + "type": "string" + }, + "name": { + "description": "The resource name of the Model.\nModel names have the form `projects/{project_id}/models/{model_id}`\nThe name is ignored when creating a model.", + "type": "string" + }, + "state": { + "$ref": "ModelState", + "description": "State common to all model types.\nIncludes publishing and validation information." + }, + "tags": { + "description": "User defined tags which can be used to group/filter models during listing", + "items": { + "type": "string" + }, + "type": "array" + }, + "tfliteModel": { + "$ref": "TfLiteModel", + "description": "A TFLite Model" + }, + "updateTime": { + "description": "Output only. Timestamp when this model was updated in Firebase ML.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ModelOperationMetadata": { + "description": "This is returned in the longrunning operations\nfor create/update.", + "id": "ModelOperationMetadata", + "properties": { + "basicOperationStatus": { + "enum": [ + "BASIC_OPERATION_STATUS_UNSPECIFIED", + "BASIC_OPERATION_STATUS_UPLOADING", + "BASIC_OPERATION_STATUS_VERIFYING" + ], + "enumDescriptions": [ + "The status is unspecified", + "The model file is being uploaded", + "The model file is being verified" + ], + "type": "string" + }, + "name": { + "description": "The name of the model we are creating/updating\nThe name must have the form `projects/{project_id}/models/{model_id}`", + "type": "string" + } + }, + "type": "object" + }, + "ModelState": { + "description": "State common to all model types.\nIncludes publishing and validation information.", + "id": "ModelState", + "properties": { + "published": { + "description": "Indicates if this model has been published.", + "type": "boolean" + }, + "validationError": { + "$ref": "Status", + "description": "Output only. Indicates the latest validation error on the model if any.\nA model may have validation errors if there were problems during\nthe model creation/update.\ne.g. in the case of a TfLiteModel, if a tflite model file was\nmissing or in the wrong format.\nThis field will be empty for valid models." + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TfLiteModel": { + "description": "Information that is specific to TfLite models.", + "id": "TfLiteModel", + "properties": { + "gcsTfliteUri": { + "description": "The TfLite file containing the model. (Stored in Google Cloud).\nThe gcs_tflite_uri should have form: gs://some-bucket/some-model.tflite\nNote: If you update the file in the original location, it is\nnecessary to call UpdateModel for ML to pick up and validate the\nupdated file.", + "type": "string" + }, + "sizeBytes": { + "description": "Output only. The size of the TFLite model", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Firebase ML API", + "version": "v1beta2", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/firebaserules/v1/firebaserules-api.json b/etc/api/firebaserules/v1/firebaserules-api.json index a54e8cdeff..447ac2e910 100644 --- a/etc/api/firebaserules/v1/firebaserules-api.json +++ b/etc/api/firebaserules/v1/firebaserules-api.json @@ -472,7 +472,7 @@ } } }, - "revision": "20200303", + "revision": "20200610", "rootUrl": "https://firebaserules.googleapis.com/", "schemas": { "Arg": { diff --git a/etc/api/firestore/v1/firestore-api.json b/etc/api/firestore/v1/firestore-api.json index a7988903b4..a506987954 100644 --- a/etc/api/firestore/v1/firestore-api.json +++ b/etc/api/firestore/v1/firestore-api.json @@ -1102,7 +1102,7 @@ } } }, - "revision": "20200311", + "revision": "20200522", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "ArrayValue": { diff --git a/etc/api/firestore/v1beta1/firestore-api.json b/etc/api/firestore/v1beta1/firestore-api.json index 900b06829f..7c9cda3fa3 100644 --- a/etc/api/firestore/v1beta1/firestore-api.json +++ b/etc/api/firestore/v1beta1/firestore-api.json @@ -791,7 +791,7 @@ } } }, - "revision": "20200311", + "revision": "20200522", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "ArrayValue": { diff --git a/etc/api/firestore/v1beta2/firestore-api.json b/etc/api/firestore/v1beta2/firestore-api.json index 0a61fbe529..50891d9eaa 100644 --- a/etc/api/firestore/v1beta2/firestore-api.json +++ b/etc/api/firestore/v1beta2/firestore-api.json @@ -415,7 +415,7 @@ } } }, - "revision": "20200311", + "revision": "20200522", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/fitness/v1/fitness-api.json b/etc/api/fitness/v1/fitness-api.json index cb13495384..bfad00c1ea 100644 --- a/etc/api/fitness/v1/fitness-api.json +++ b/etc/api/fitness/v1/fitness-api.json @@ -59,35 +59,62 @@ } } }, - "basePath": "/fitness/v1/users/", - "baseUrl": "https://www.googleapis.com/fitness/v1/users/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/fitness/v1", - "description": "Stores and accesses user data in the fitness store from apps on any platform.", + "description": "The Fitness API for managing users' fitness tracking data.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/fit/rest/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/iuUg3nKvw8ifICOqBNJ37HGT-yg\"", + "documentationLink": "https://developers.google.com/fit/rest/v1/get-started", "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "fitness:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "fitness", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -110,12 +137,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -127,7 +159,8 @@ "dataSources": { "methods": { "create": { - "description": "Creates a new data source that is unique across all data sources belonging to this user.\n\nA data source is a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point in every dataset inserted into or read from the Fitness API has an associated data source.\n\nEach data source produces a unique stream of dataset updates, with a unique data source identifier. Not all changes to data source affect the data stream ID, so that data collected by updated versions of the same application/device can still be considered to belong to the same data source.\n\nData sources are identified using a string generated by the server, based on the contents of the source being created. The dataStreamId field should not be set when invoking this method. It will be automatically generated by the server with the correct format. If a dataStreamId is set, it must match the format that the server would generate. This format is a combination of some fields from the data source, and has a specific order. If it doesn't match, the request will fail with an error.\n\nSpecifying a DataType which is not a known type (beginning with \"com.google.\") will create a DataSource with a custom data type. Custom data types are only readable by the application that created them. Custom data types are deprecated; use standard data types instead.\n\nIn addition to the data source fields included in the data source ID, the developer project number that is authenticated when creating the data source is included. This developer project number is obfuscated when read by any other developer reading public data types.", + "description": "Creates a new data source that is unique across all data sources belonging\nto this user.\n\nA data source is a unique source of sensor data. Data sources can expose\nraw data coming from hardware sensors on local or companion devices. They\ncan also expose derived data, created by transforming or merging other data\nsources. Multiple data sources can exist for the same data type. Every data\npoint in every dataset inserted into or read from the Fitness API has an\nassociated data source.\n\nEach data source produces a unique stream of dataset updates, with a\nunique data source identifier. Not all changes to data source affect the\ndata stream ID, so that data collected by updated versions of the same\napplication/device can still be considered to belong to the same data\nsource.\n\nData sources are identified using a string generated by the server, based\non the contents of the source being created. The dataStreamId\nfield should not be set when invoking this method. It\nwill be automatically generated by the server with the correct format. If\na dataStreamId is set, it must match the format that the\nserver would generate. This format is a combination of some fields from the\ndata source, and has a specific order. If it doesn't match, the request\nwill fail with an error.\n\nSpecifying a DataType which is not a known type (beginning with\n\"com.google.\") will create a DataSource with a custom data type.\nCustom data types are only readable by the application that created them.\nCustom data types are deprecated; use standard data types\ninstead.\n\nIn addition to the data source fields included in the data source ID, the\ndeveloper project number that is authenticated when creating the data\nsource is included. This developer project number is obfuscated when read\nby any other developer reading public data types.", + "flatPath": "fitness/v1/users/{userId}/dataSources", "httpMethod": "POST", "id": "fitness.users.dataSources.create", "parameterOrder": [ @@ -135,13 +168,13 @@ ], "parameters": { "userId": { - "description": "Create the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Create the data source for the person identified. Use me to\nindicate the authenticated user. Only me is supported at this\ntime.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources", + "path": "fitness/v1/users/{userId}/dataSources", "request": { "$ref": "DataSource" }, @@ -161,7 +194,8 @@ ] }, "delete": { - "description": "Deletes the specified data source. The request will fail if the data source contains any data points.", + "description": "Deletes the specified data source. The request will fail if the data\nsource contains any data points.", + "flatPath": "fitness/v1/users/{userId}/dataSources/{dataSourceId}", "httpMethod": "DELETE", "id": "fitness.users.dataSources.delete", "parameterOrder": [ @@ -176,13 +210,13 @@ "type": "string" }, "userId": { - "description": "Retrieve a data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Retrieve a data source for the person identified. Use me to\nindicate the authenticated user. Only me is supported at this\ntime.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources/{dataSourceId}", + "path": "fitness/v1/users/{userId}/dataSources/{dataSourceId}", "response": { "$ref": "DataSource" }, @@ -200,6 +234,7 @@ }, "get": { "description": "Returns the specified data source.", + "flatPath": "fitness/v1/users/{userId}/dataSources/{dataSourceId}", "httpMethod": "GET", "id": "fitness.users.dataSources.get", "parameterOrder": [ @@ -214,13 +249,13 @@ "type": "string" }, "userId": { - "description": "Retrieve a data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Retrieve a data source for the person identified. Use me to\nindicate the authenticated user. Only me is supported at this\ntime.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources/{dataSourceId}", + "path": "fitness/v1/users/{userId}/dataSources/{dataSourceId}", "response": { "$ref": "DataSource" }, @@ -246,7 +281,8 @@ ] }, "list": { - "description": "Lists all data sources that are visible to the developer, using the OAuth scopes provided. The list is not exhaustive; the user may have private data sources that are only visible to other developers, or calls using other scopes.", + "description": "Lists all data sources that are visible to the developer, using the OAuth\nscopes provided. The list is not exhaustive; the user may have private\ndata sources that are only visible to other developers, or calls using\nother scopes.", + "flatPath": "fitness/v1/users/{userId}/dataSources", "httpMethod": "GET", "id": "fitness.users.dataSources.list", "parameterOrder": [ @@ -254,19 +290,19 @@ ], "parameters": { "dataTypeName": { - "description": "The names of data types to include in the list. If not specified, all data sources will be returned.", + "description": "The names of data types to include in the list. If not specified, all\ndata sources will be returned.", "location": "query", "repeated": true, "type": "string" }, "userId": { - "description": "List data sources for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "List data sources for the person identified. Use me to\nindicate the authenticated user. Only me is supported at this\ntime.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources", + "path": "fitness/v1/users/{userId}/dataSources", "response": { "$ref": "ListDataSourcesResponse" }, @@ -292,7 +328,8 @@ ] }, "update": { - "description": "Updates the specified data source. The dataStreamId, dataType, type, dataStreamName, and device properties with the exception of version, cannot be modified.\n\nData sources are identified by their dataStreamId.", + "description": "Updates the specified data source. The dataStreamId,\ndataType, type, dataStreamName, and\ndevice properties with the exception of version,\ncannot be modified.\n\nData sources are identified by their dataStreamId.", + "flatPath": "fitness/v1/users/{userId}/dataSources/{dataSourceId}", "httpMethod": "PUT", "id": "fitness.users.dataSources.update", "parameterOrder": [ @@ -307,13 +344,13 @@ "type": "string" }, "userId": { - "description": "Update the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Update the data source for the person identified. Use me to\nindicate the authenticated user. Only me is supported at this\ntime.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources/{dataSourceId}", + "path": "fitness/v1/users/{userId}/dataSources/{dataSourceId}", "request": { "$ref": "DataSource" }, @@ -338,6 +375,7 @@ "methods": { "list": { "description": "Queries for user's data point changes for a particular data source.", + "flatPath": "fitness/v1/users/{userId}/dataSources/{dataSourceId}/dataPointChanges", "httpMethod": "GET", "id": "fitness.users.dataSources.dataPointChanges.list", "parameterOrder": [ @@ -352,24 +390,24 @@ "type": "string" }, "limit": { - "description": "If specified, no more than this many data point changes will be included in the response.", + "description": "If specified, no more than this many data point changes will be included\nin the response.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.", + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\nnextPageToken from the previous response.", "location": "query", "type": "string" }, "userId": { - "description": "List data points for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "List data points for the person identified. Use me to indicate\nthe authenticated user. Only me is supported at this time.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources/{dataSourceId}/dataPointChanges", + "path": "fitness/v1/users/{userId}/dataSources/{dataSourceId}/dataPointChanges", "response": { "$ref": "ListDataPointChangesResponse" }, @@ -399,7 +437,8 @@ "datasets": { "methods": { "delete": { - "description": "Performs an inclusive delete of all data points whose start and end times have any overlap with the time range specified by the dataset ID. For most data types, the entire data point will be deleted. For data types where the time span represents a consistent value (such as com.google.activity.segment), and a data point straddles either end point of the dataset, only the overlapping portion of the data point will be deleted.", + "description": "Performs an inclusive delete of all data points whose start and end times\nhave any overlap with the time range specified by the dataset ID. For most\ndata types, the entire data point will be deleted. For data types where the\ntime span represents a consistent value (such as\ncom.google.activity.segment), and a data point straddles\neither end point of the dataset, only the overlapping portion of the data\npoint will be deleted.", + "flatPath": "fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", "httpMethod": "DELETE", "id": "fitness.users.dataSources.datasets.delete", "parameterOrder": [ @@ -421,7 +460,7 @@ "type": "string" }, "datasetId": { - "description": "Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: \"startTime-endTime\" where startTime and endTime are 64 bit integers.", + "description": "Dataset identifier that is a composite of the minimum data point start time\nand maximum data point end time represented as nanoseconds from the epoch.\nThe ID is formatted like: \"startTime-endTime\"\nwhere startTime and endTime are 64 bit integers.", "location": "path", "required": true, "type": "string" @@ -433,13 +472,13 @@ "type": "string" }, "userId": { - "description": "Delete a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Delete a dataset for the person identified. Use me to indicate\nthe authenticated user. Only me is supported at this time.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", + "path": "fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", "scopes": [ "https://www.googleapis.com/auth/fitness.activity.write", "https://www.googleapis.com/auth/fitness.blood_glucose.write", @@ -453,7 +492,8 @@ ] }, "get": { - "description": "Returns a dataset containing all data points whose start and end times overlap with the specified range of the dataset minimum start time and maximum end time. Specifically, any data point whose start time is less than or equal to the dataset end time and whose end time is greater than or equal to the dataset start time.", + "description": "Returns a dataset containing all data points whose start and end times\noverlap with the specified range of the dataset minimum start time and\nmaximum end time. Specifically, any data point whose start time is less\nthan or equal to the dataset end time and whose end time is greater than or\nequal to the dataset start time.", + "flatPath": "fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", "httpMethod": "GET", "id": "fitness.users.dataSources.datasets.get", "parameterOrder": [ @@ -469,30 +509,30 @@ "type": "string" }, "datasetId": { - "description": "Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: \"startTime-endTime\" where startTime and endTime are 64 bit integers.", + "description": "Dataset identifier that is a composite of the minimum data point start time\nand maximum data point end time represented as nanoseconds from the epoch.\nThe ID is formatted like: \"startTime-endTime\"\nwhere startTime and endTime are 64 bit integers.", "location": "path", "required": true, "type": "string" }, "limit": { - "description": "If specified, no more than this many data points will be included in the dataset. If there are more data points in the dataset, nextPageToken will be set in the dataset response.", + "description": "If specified, no more than this many data points will be included in the\ndataset. If there are more data points in the dataset, nextPageToken\nwill be set in the dataset response.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The continuation token, which is used to page through large datasets. To get the next page of a dataset, set this parameter to the value of nextPageToken from the previous response. Each subsequent call will yield a partial dataset with data point end timestamps that are strictly smaller than those in the previous partial response.", + "description": "The continuation token, which is used to page through large datasets.\nTo get the next page of a dataset, set this parameter to the value of\nnextPageToken from the previous response. Each subsequent\ncall will yield a partial dataset with data point end timestamps that are\nstrictly smaller than those in the previous partial response.", "location": "query", "type": "string" }, "userId": { - "description": "Retrieve a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Retrieve a dataset for the person identified. Use me to\nindicate the authenticated user. Only me is supported at this\ntime.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", + "path": "fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", "response": { "$ref": "Dataset" }, @@ -518,7 +558,8 @@ ] }, "patch": { - "description": "Adds data points to a dataset. The dataset need not be previously created. All points within the given dataset will be returned with subsquent calls to retrieve this dataset. Data points can belong to more than one dataset. This method does not use patch semantics.", + "description": "Adds data points to a dataset. The dataset need not be previously created.\nAll points within the given dataset will be returned with subsquent calls\nto retrieve this dataset. Data points can belong to more than one dataset.\nThis method does not use patch semantics.", + "flatPath": "fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", "httpMethod": "PATCH", "id": "fitness.users.dataSources.datasets.patch", "parameterOrder": [ @@ -528,7 +569,7 @@ ], "parameters": { "currentTimeMillis": { - "description": "The client's current time in milliseconds since epoch. Note that the minStartTimeNs and maxEndTimeNs properties in the request body are in nanoseconds instead of milliseconds.", + "description": "The client's current time in milliseconds since epoch. Note that the\nminStartTimeNs and maxEndTimeNs properties in\nthe request body are in nanoseconds instead of milliseconds.", "format": "int64", "location": "query", "type": "string" @@ -540,19 +581,19 @@ "type": "string" }, "datasetId": { - "description": "Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: \"startTime-endTime\" where startTime and endTime are 64 bit integers.", + "description": "Dataset identifier that is a composite of the minimum data point start time\nand maximum data point end time represented as nanoseconds from the epoch.\nThe ID is formatted like: \"startTime-endTime\"\nwhere startTime and endTime are 64 bit integers.", "location": "path", "required": true, "type": "string" }, "userId": { - "description": "Patch a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Patch a dataset for the person identified. Use me to indicate\nthe authenticated user. Only me is supported at this time.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", + "path": "fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}", "request": { "$ref": "Dataset" }, @@ -578,7 +619,8 @@ "dataset": { "methods": { "aggregate": { - "description": "Aggregates data of a certain type or stream into buckets divided by a given type of boundary. Multiple data sets of multiple types and from multiple sources can be aggregated into exactly one bucket type per request.", + "description": "Aggregates data of a certain type or stream into buckets divided by a given\ntype of boundary. Multiple data sets of multiple types and from multiple\nsources can be aggregated into exactly one bucket type per request.", + "flatPath": "fitness/v1/users/{userId}/dataset:aggregate", "httpMethod": "POST", "id": "fitness.users.dataset.aggregate", "parameterOrder": [ @@ -586,13 +628,13 @@ ], "parameters": { "userId": { - "description": "Aggregate data for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Aggregate data for the person identified. Use me to indicate\nthe authenticated user. Only me is supported at this time.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/dataset:aggregate", + "path": "fitness/v1/users/{userId}/dataset:aggregate", "request": { "$ref": "AggregateRequest" }, @@ -626,6 +668,7 @@ "methods": { "delete": { "description": "Deletes a session specified by the given session ID.", + "flatPath": "fitness/v1/users/{userId}/sessions/{sessionId}", "httpMethod": "DELETE", "id": "fitness.users.sessions.delete", "parameterOrder": [ @@ -646,19 +689,20 @@ "type": "string" }, "userId": { - "description": "Delete a session for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Delete a session for the person identified. Use me to indicate\nthe authenticated user. Only me is supported at this time.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/sessions/{sessionId}", + "path": "fitness/v1/users/{userId}/sessions/{sessionId}", "scopes": [ "https://www.googleapis.com/auth/fitness.activity.write" ] }, "list": { "description": "Lists sessions previously created.", + "flatPath": "fitness/v1/users/{userId}/sessions", "httpMethod": "GET", "id": "fitness.users.sessions.list", "parameterOrder": [ @@ -673,33 +717,33 @@ "type": "integer" }, "endTime": { - "description": "An RFC3339 timestamp. Only sessions ending between the start and end times will be included in the response.", + "description": "An RFC3339 timestamp.\nOnly sessions ending between the start and end times will be included in\nthe response. If this time is omitted but startTime is\nspecified, all sessions from startTime to the end of time will\nbe returned.", "location": "query", "type": "string" }, "includeDeleted": { - "description": "If true, deleted sessions will be returned. When set to true, sessions returned in this response will only have an ID and will not have any other fields.", + "description": "If true, and if both startTime and endTime are\nomitted, session deletions will be returned.", "location": "query", "type": "boolean" }, "pageToken": { - "description": "The continuation token, which is used for incremental syncing. To get the next batch of changes, set this parameter to the value of nextPageToken from the previous response. This token is treated as a timestamp (in millis since epoch). If specified, the API returns sessions modified since this time. The page token is ignored if either start or end time is specified. If none of start time, end time, and the page token is specified, sessions modified in the last 30 days are returned.", + "description": "The continuation token, which is used for incremental syncing.\nTo get the next batch of changes, set this parameter to the value of\nnextPageToken from the previous response. The page token is\nignored if either start or end time is specified. If none of start time,\nend time, and the page token is specified, sessions modified in the last\n30 days are returned.", "location": "query", "type": "string" }, "startTime": { - "description": "An RFC3339 timestamp. Only sessions ending between the start and end times will be included in the response.", + "description": "An RFC3339 timestamp.\nOnly sessions ending between the start and end times will be included in\nthe response. If this time is omitted but endTime is specified,\nall sessions from the start of time up to endTime will be\nreturned.", "location": "query", "type": "string" }, "userId": { - "description": "List sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "List sessions for the person identified. Use me to indicate\nthe authenticated user. Only me is supported at this time.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/sessions", + "path": "fitness/v1/users/{userId}/sessions", "response": { "$ref": "ListSessionsResponse" }, @@ -726,6 +770,7 @@ }, "update": { "description": "Updates or insert a given session.", + "flatPath": "fitness/v1/users/{userId}/sessions/{sessionId}", "httpMethod": "PUT", "id": "fitness.users.sessions.update", "parameterOrder": [ @@ -746,13 +791,13 @@ "type": "string" }, "userId": { - "description": "Create sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "description": "Create sessions for the person identified. Use me to indicate\nthe authenticated user. Only me is supported at this time.", "location": "path", "required": true, "type": "string" } }, - "path": "{userId}/sessions/{sessionId}", + "path": "fitness/v1/users/{userId}/sessions/{sessionId}", "request": { "$ref": "Session" }, @@ -768,7 +813,7 @@ } } }, - "revision": "20200407", + "revision": "20200707", "rootUrl": "https://www.googleapis.com/", "schemas": { "AggregateBucket": { @@ -787,7 +832,7 @@ "type": "array" }, "endTimeMillis": { - "description": "The end time for the aggregated data, in milliseconds since epoch, inclusive.", + "description": "The end time for the aggregated data, in milliseconds since epoch,\ninclusive.", "format": "int64", "type": "string" }, @@ -796,25 +841,25 @@ "description": "Available for Bucket.Type.SESSION" }, "startTimeMillis": { - "description": "The start time for the aggregated data, in milliseconds since epoch, inclusive.", + "description": "The start time for the aggregated data, in milliseconds since epoch,\ninclusive.", "format": "int64", "type": "string" }, "type": { - "description": "The type of a bucket signifies how the data aggregation is performed in the bucket.", + "description": "The type of a bucket signifies how the data aggregation is performed in the\nbucket.", "enum": [ - "activitySegment", - "activityType", - "session", + "unknown", "time", - "unknown" + "session", + "activityType", + "activitySegment" ], "enumDescriptions": [ "", - "", - "", - "", - "" + "Denotes that bucketing by time is requested. When this is specified, the\ntimeBucketDurationMillis field is used to determine how many buckets will\nbe returned.", + "Denotes that bucketing by session is requested. When this is specified,\nonly data that occurs within sessions that begin and end within the\ndataset time frame, is included in the results.", + "Denotes that bucketing by activity type is requested. When this is\nspecified, there will be one bucket for each unique activity type that\na user participated in, during the dataset time frame of interest.", + "Denotes that bucketing by individual activity segment is requested. This\nwill aggregate data by the time boundaries specified by each activity\nsegment occurring within the dataset time frame of interest." ], "type": "string" } @@ -826,11 +871,11 @@ "id": "AggregateBy", "properties": { "dataSourceId": { - "description": "A data source ID to aggregate. Only data from the specified data source ID will be included in the aggregation. If specified, this data source must exist; the OAuth scopes in the supplied credentials must grant read access to this data type. The dataset in the response will have the same data source ID. Note: Data can be aggregated by either the dataTypeName or the dataSourceId, not both.", + "description": "A data source ID to aggregate. Only data from the specified data source ID\nwill be included in the aggregation. If specified, this data source must\nexist; the OAuth scopes in the supplied credentials must grant read access\nto this data type. The dataset in the response will have the same data\nsource ID. Note: Data can be aggregated by either the dataTypeName or the\ndataSourceId, not both.", "type": "string" }, "dataTypeName": { - "description": "The data type to aggregate. All data sources providing this data type will contribute data to the aggregation. The response will contain a single dataset for this data type name. The dataset will have a data source ID of derived::com.google.android.gms:aggregated. If the user has no data for this data type, an empty data set will be returned. Note: Data can be aggregated by either the dataTypeName or the dataSourceId, not both.", + "description": "The data type to aggregate. All data sources providing this data type will\ncontribute data to the aggregation. The response will contain a single\ndataset for this data type name. The dataset will have a data source ID of\nderived::com.google.android.gms:aggregated.\nIf the user has no data for this data type, an empty data set will be\nreturned. Note: Data can be aggregated by either the dataTypeName or the\ndataSourceId, not both.", "type": "string" } }, @@ -846,7 +891,7 @@ "fitness.users.dataset.aggregate" ] }, - "description": "The specification of data to be aggregated. At least one aggregateBy spec must be provided. All data that is specified will be aggregated using the same bucketing criteria. There will be one dataset in the response for every aggregateBy spec.", + "description": "The specification of data to be aggregated. At least one aggregateBy spec\nmust be provided. All data that is specified will be aggregated using the\nsame bucketing criteria. There will be one dataset in the response for\nevery aggregateBy spec.", "items": { "$ref": "AggregateBy" }, @@ -854,19 +899,19 @@ }, "bucketByActivitySegment": { "$ref": "BucketByActivity", - "description": "Specifies that data be aggregated each activity segment recored for a user. Similar to bucketByActivitySegment, but bucketing is done for each activity segment rather than all segments of the same type. Mutually exclusive of other bucketing specifications." + "description": "Specifies that data be aggregated each activity segment recored for a user.\nSimilar to bucketByActivitySegment, but bucketing is done for each activity\nsegment rather than all segments of the same type. Mutually exclusive of\nother bucketing specifications." }, "bucketByActivityType": { "$ref": "BucketByActivity", - "description": "Specifies that data be aggregated by the type of activity being performed when the data was recorded. All data that was recorded during a certain activity type (for the given time range) will be aggregated into the same bucket. Data that was recorded while the user was not active will not be included in the response. Mutually exclusive of other bucketing specifications." + "description": "Specifies that data be aggregated by the type of activity being performed\nwhen the data was recorded. All data that was recorded during a certain\nactivity type (.for the given time range) will be aggregated into the same\nbucket. Data that was recorded while the user was not active will not be\nincluded in the response. Mutually exclusive of other bucketing\nspecifications." }, "bucketBySession": { "$ref": "BucketBySession", - "description": "Specifies that data be aggregated by user sessions. Data that does not fall within the time range of a session will not be included in the response. Mutually exclusive of other bucketing specifications." + "description": "Specifies that data be aggregated by user sessions. Data that does not fall\nwithin the time range of a session will not be included in the response.\nMutually exclusive of other bucketing specifications." }, "bucketByTime": { "$ref": "BucketByTime", - "description": "Specifies that data be aggregated by a single time interval. Mutually exclusive of other bucketing specifications." + "description": "Specifies that data be aggregated by a single time interval. Mutually\nexclusive of other bucketing specifications." }, "endTimeMillis": { "annotations": { @@ -874,36 +919,36 @@ "fitness.users.dataset.aggregate" ] }, - "description": "The end of a window of time. Data that intersects with this time window will be aggregated. The time is in milliseconds since epoch, inclusive.", + "description": "The end of a window of time. Data that intersects with this time\nwindow will be aggregated. The time is in milliseconds since epoch,\ninclusive.", "format": "int64", "type": "string" }, "filteredDataQualityStandard": { "description": "DO NOT POPULATE THIS FIELD. It is ignored.", + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "items": { "enum": [ - "dataQualityBloodGlucoseIso151972003", - "dataQualityBloodGlucoseIso151972013", + "dataQualityUnknown", + "dataQualityBloodPressureEsh2002", + "dataQualityBloodPressureEsh2010", "dataQualityBloodPressureAami", "dataQualityBloodPressureBhsAA", "dataQualityBloodPressureBhsAB", "dataQualityBloodPressureBhsBA", "dataQualityBloodPressureBhsBB", - "dataQualityBloodPressureEsh2002", - "dataQualityBloodPressureEsh2010", - "dataQualityUnknown" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "dataQualityBloodGlucoseIso151972003", + "dataQualityBloodGlucoseIso151972013" ], "type": "string" }, @@ -915,7 +960,7 @@ "fitness.users.dataset.aggregate" ] }, - "description": "The start of a window of time. Data that intersects with this time window will be aggregated. The time is in milliseconds since epoch, inclusive.", + "description": "The start of a window of time. Data that intersects with this time\nwindow will be aggregated. The time is in milliseconds since epoch,\ninclusive.", "format": "int64", "type": "string" } @@ -936,7 +981,6 @@ "type": "object" }, "Application": { - "description": "", "id": "Application", "properties": { "detailsUrl": { @@ -951,15 +995,15 @@ "fitness.users.sessions.update" ] }, - "description": "The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.", + "description": "The name of this application. This is required for REST clients, but we\ndo not enforce uniqueness of this name. It is provided as a matter of\nconvenience for other developers who would like to identify which REST\ncreated an Application or Data Source.", "type": "string" }, "packageName": { - "description": "Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.", + "description": "Package name for this application. This is used as a unique\nidentifier when created by Android applications, but cannot be specified\nby REST clients. REST clients will have their developer project number\nreflected into the Data Source data stream IDs, instead of the packageName.", "type": "string" }, "version": { - "description": "Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.", + "description": "Version of the application. You should update this field whenever the\napplication changes in a way that affects the computation of the data.", "type": "string" } }, @@ -969,11 +1013,11 @@ "id": "BucketByActivity", "properties": { "activityDataSourceId": { - "description": "The default activity stream will be used if a specific activityDataSourceId is not specified.", + "description": "The default activity stream will be used if a specific activityDataSourceId\nis not specified.", "type": "string" }, "minDurationMillis": { - "description": "Specifies that only activity segments of duration longer than minDurationMillis are considered and used as a container for aggregated data.", + "description": "Specifies that only activity segments of duration longer than\nminDurationMillis are considered and used as a container for aggregated\ndata.", "format": "int64", "type": "string" } @@ -984,7 +1028,7 @@ "id": "BucketBySession", "properties": { "minDurationMillis": { - "description": "Specifies that only sessions of duration longer than minDurationMillis are considered and used as a container for aggregated data.", + "description": "Specifies that only sessions of duration longer than minDurationMillis are\nconsidered and used as a container for aggregated data.", "format": "int64", "type": "string" } @@ -995,7 +1039,7 @@ "id": "BucketByTime", "properties": { "durationMillis": { - "description": "Specifies that result buckets aggregate data by exactly durationMillis time frames. Time frames that contain no data will be included in the response with an empty dataset.", + "description": "Specifies that result buckets aggregate data by exactly durationMillis time\nframes. Time frames that contain no data will be included in the response\nwith an empty dataset.", "format": "int64", "type": "string" }, @@ -1015,8 +1059,8 @@ "type": { "enum": [ "day", - "month", - "week" + "week", + "month" ], "enumDescriptions": [ "", @@ -1033,7 +1077,7 @@ "type": "object" }, "DataPoint": { - "description": "Represents a single data point, generated by a particular data source. A data point holds a value for each field, an end timestamp and an optional start time. The exact semantics of each of these attributes are specified in the documentation for the particular data type.\n\nA data point can represent an instantaneous measurement, reading or input observation, as well as averages or aggregates over a time interval. Check the data type documentation to determine which is the case for a particular data type.\n\nData points always contain one value for each field of the data type.", + "description": "Represents a single data point, generated by a particular data source. A\ndata point holds a value for each field, an end timestamp and an optional\nstart time. The exact semantics of each of these attributes are specified in\nthe documentation for the particular data type.\n\nA data point can represent an instantaneous measurement, reading or input\nobservation, as well as averages or aggregates over a time interval. Check\nthe data type documentation to determine which is the case for a particular\ndata type.\n\nData points always contain one value for each field of the data type.", "id": "DataPoint", "properties": { "computationTimeMillis": { @@ -1056,17 +1100,17 @@ "fitness.users.dataSources.datasets.patch" ] }, - "description": "The end time of the interval represented by this data point, in nanoseconds since epoch.", + "description": "The end time of the interval represented by this data point, in\nnanoseconds since epoch.", "format": "int64", "type": "string" }, "modifiedTimeMillis": { - "description": "Indicates the last time this data point was modified. Useful only in contexts where we are listing the data changes, rather than representing the current state of the data.", + "description": "Indicates the last time this data point was modified. Useful only in\ncontexts where we are listing the data changes, rather than representing\nthe current state of the data.", "format": "int64", "type": "string" }, "originDataSourceId": { - "description": "If the data point is contained in a dataset for a derived data source, this field will be populated with the data source stream ID that created the data point originally.\n\nWARNING: do not rely on this field for anything other than debugging. The value of this field, if it is set at all, is an implementation detail and is not guaranteed to remain consistent.", + "description": "If the data point is contained in a dataset for a derived data source,\nthis field will be populated with the data source stream ID that created\nthe data point originally.\n\nWARNING: do not rely on this field for anything other than debugging. The\nvalue of this field, if it is set at all, is an implementation detail and\nis not guaranteed to remain consistent.", "type": "string" }, "rawTimestampNanos": { @@ -1080,7 +1124,7 @@ "fitness.users.dataSources.datasets.patch" ] }, - "description": "The start time of the interval represented by this data point, in nanoseconds since epoch.", + "description": "The start time of the interval represented by this data point, in\nnanoseconds since epoch.", "format": "int64", "type": "string" }, @@ -1090,7 +1134,7 @@ "fitness.users.dataSources.datasets.patch" ] }, - "description": "Values of each data type field for the data point. It is expected that each value corresponding to a data type field will occur in the same order that the field is listed with in the data type specified in a data source.\n\nOnly one of integer and floating point fields will be populated, depending on the format enum value within data source's type field.", + "description": "Values of each data type field for the data point. It is expected that each\nvalue corresponding to a data type field will occur in the same order that\nthe field is listed with in the data type specified in a data source.\n\nOnly one of integer and floating point fields will be populated, depending\non the format enum value within data source's type field.", "items": { "$ref": "Value" }, @@ -1100,7 +1144,7 @@ "type": "object" }, "DataSource": { - "description": "Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.\n\nThe data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.\n\nEach data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.", + "description": "Definition of a unique source of sensor data. Data sources can expose raw\ndata coming from hardware sensors on local or companion devices. They can\nalso expose derived data, created by transforming or merging other data\nsources. Multiple data sources can exist for the same data type. Every data\npoint inserted into or read from this service has an associated data\nsource.\n\nThe data source contains enough information to uniquely identify its data,\nincluding the hardware device and the application that collected and/or\ntransformed the data. It also holds useful metadata, such as the hardware and\napplication versions, and the device type.\n\nEach data source produces a unique stream of data, with a unique identifier.\nNot all changes to data source affect the stream identifier, so that data\ncollected by updated versions of the same application/device can still be\nconsidered to belong to the same data stream.", "id": "DataSource", "properties": { "application": { @@ -1114,31 +1158,31 @@ "description": "Information about an application which feeds sensor data into the platform." }, "dataQualityStandard": { - "description": "DO NOT POPULATE THIS FIELD. It is never populated in responses from the platform, and is ignored in queries. It will be removed in a future version entirely.", + "description": "DO NOT POPULATE THIS FIELD. It is never populated in responses from the\nplatform, and is ignored in queries. It will be removed in a future version\nentirely.", + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "items": { "enum": [ - "dataQualityBloodGlucoseIso151972003", - "dataQualityBloodGlucoseIso151972013", + "dataQualityUnknown", + "dataQualityBloodPressureEsh2002", + "dataQualityBloodPressureEsh2010", "dataQualityBloodPressureAami", "dataQualityBloodPressureBhsAA", "dataQualityBloodPressureBhsAB", "dataQualityBloodPressureBhsBA", "dataQualityBloodPressureBhsBB", - "dataQualityBloodPressureEsh2002", - "dataQualityBloodPressureEsh2010", - "dataQualityUnknown" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "dataQualityBloodGlucoseIso151972003", + "dataQualityBloodGlucoseIso151972013" ], "type": "string" }, @@ -1150,11 +1194,11 @@ "fitness.users.dataSources.update" ] }, - "description": "A unique identifier for the data stream produced by this data source. The identifier includes:\n\n \n- The physical device's manufacturer, model, and serial number (UID). \n- The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client. \n- The data source's type. \n- The data source's stream name. Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.\n\nThe exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName \n\nThe exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName \n\nWhen any of the optional fields that make up the data stream ID are absent, they will be omitted from the data stream ID. The minimum viable data stream ID would be: type:dataType.name:developer project number\n\nFinally, the developer project number and device UID are obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form. This means a client will see a different set of data_stream_ids than another client with different credentials.", + "description": "A unique identifier for the data stream produced by this data source. The\nidentifier includes:

\n
    \n
  • The physical device's manufacturer, model, and serial number\n(UID).
  • \n
  • The application's package name or name. Package name is used when the\ndata source was created by an Android application. The developer project\nnumber is used when the data source was created by a REST client.
  • \n
  • The data source's type.
  • \n
  • The data source's stream name.
  • \n
\nNote that not all attributes of the data source are used as part of the\nstream identifier. In particular, the version of the hardware/the\napplication isn't used. This allows us to preserve the same stream through\nversion updates. This also means that two DataSource objects may represent\nthe same data stream even if they're not equal.\n\nThe exact format of the data stream ID created by an Android application\nis:\ntype:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName\n\nThe exact format of the data stream ID created by a REST client is:\ntype:dataType.name:developer project\nnumber:device.manufacturer:device.model:device.uid:dataStreamName\n\nWhen any of the optional fields that make up the data stream ID are absent,\nthey will be omitted from the data stream ID. The minimum viable data\nstream ID would be:\ntype:dataType.name:developer project number\n\nFinally, the developer project number and device UID are obfuscated when\nread by any REST or Android client that did not create the data source.\nOnly the data source creator will see the developer project number in clear\nand normal form. This means a client will see a different set of\ndata_stream_ids than another client with different credentials.", "type": "string" }, "dataStreamName": { - "description": "The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.", + "description": "The stream name uniquely identifies this particular data source among\nother data sources of the same type from the same underlying producer.\nSetting the stream name is optional, but should be done whenever an\napplication exposes two streams for the same data type, or when a device\nhas two equivalent sensors.", "type": "string" }, "dataType": { @@ -1165,7 +1209,7 @@ "fitness.users.dataSources.update" ] }, - "description": "The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API." + "description": "The data type defines the schema for a stream of data being collected by,\ninserted into, or queried from the Fitness API." }, "device": { "$ref": "Device", @@ -1175,7 +1219,7 @@ "fitness.users.dataSources.update" ] }, - "description": "Representation of an integrated device (such as a phone or a wearable) that can hold sensors." + "description": "Representation of an integrated device (such as a phone or a wearable) that\ncan hold sensors." }, "name": { "description": "An end-user visible name for this data source.", @@ -1188,10 +1232,10 @@ "fitness.users.dataSources.update" ] }, - "description": "A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.", + "description": "A constant describing the type of this data source. Indicates whether this\ndata source produces raw or derived data.", "enum": [ - "derived", - "raw" + "raw", + "derived" ], "enumDescriptions": [ "", @@ -1203,7 +1247,6 @@ "type": "object" }, "DataType": { - "description": "", "id": "DataType", "properties": { "field": { @@ -1226,14 +1269,14 @@ "fitness.users.dataSources.update" ] }, - "description": "Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.", + "description": "Each data type has a unique, namespaced, name. All data types in the\ncom.google namespace are shared as part of the platform.", "type": "string" } }, "type": "object" }, "DataTypeField": { - "description": "In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).\n\nThis message is only instantiated in code and not used for wire comms or stored in any way.", + "description": "In case of multi-dimensional data (such as an accelerometer with x, y, and z\naxes) each field represents one dimension. Each data type field has a unique\nname which identifies it. The field also defines the format of the data (int,\nfloat, etc.).\n\nThis message is only instantiated in code and not used for wire comms or\nstored in any way.", "id": "DataTypeField", "properties": { "format": { @@ -1245,13 +1288,13 @@ }, "description": "The different supported formats for each field in a data type.", "enum": [ - "blob", - "floatList", - "floatPoint", "integer", - "integerList", + "floatPoint", + "string", "map", - "string" + "integerList", + "floatList", + "blob" ], "enumDescriptions": [ "", @@ -1271,7 +1314,7 @@ "fitness.users.dataSources.update" ] }, - "description": "Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.", + "description": "Defines the name and format of data. Unlike data type names, field names\nare not namespaced, and only need to be unique within the data type.", "type": "string" }, "optional": { @@ -1281,7 +1324,7 @@ "type": "object" }, "Dataset": { - "description": "A dataset represents a projection container for data points. They do not carry any info of their own. Datasets represent a set of data points from a particular data source. A data point can be found in more than one dataset.", + "description": "A dataset represents a projection container for data points. They do not\ncarry any info of their own. Datasets represent a set of data points from a\nparticular data source. A data point can be found in more than one dataset.", "id": "Dataset", "properties": { "dataSourceId": { @@ -1290,7 +1333,7 @@ "fitness.users.dataSources.datasets.patch" ] }, - "description": "The data stream ID of the data source that created the points in this dataset.", + "description": "The data stream ID of the data source that created the points in this\ndataset.", "type": "string" }, "maxEndTimeNs": { @@ -1299,7 +1342,7 @@ "fitness.users.dataSources.datasets.patch" ] }, - "description": "The largest end time of all data points in this possibly partial representation of the dataset. Time is in nanoseconds from epoch. This should also match the second part of the dataset identifier.", + "description": "The largest end time of all data points in this possibly partial\nrepresentation of the dataset. Time is in nanoseconds from epoch. This\nshould also match the second part of the dataset identifier.", "format": "int64", "type": "string" }, @@ -1309,12 +1352,12 @@ "fitness.users.dataSources.datasets.patch" ] }, - "description": "The smallest start time of all data points in this possibly partial representation of the dataset. Time is in nanoseconds from epoch. This should also match the first part of the dataset identifier.", + "description": "The smallest start time of all data points in this possibly partial\nrepresentation of the dataset. Time is in nanoseconds from epoch. This\nshould also match the first part of the dataset identifier.", "format": "int64", "type": "string" }, "nextPageToken": { - "description": "This token will be set when a dataset is received in response to a GET request and the dataset is too large to be included in a single response. Provide this value in a subsequent GET request to return the next page of data points within this dataset.", + "description": "This token will be set when a dataset is received in response to a GET\nrequest and the dataset is too large to be included in a single response.\nProvide this value in a subsequent GET request to return the next page of\ndata points within this dataset.", "type": "string" }, "point": { @@ -1323,7 +1366,7 @@ "fitness.users.dataSources.datasets.patch" ] }, - "description": "A partial list of data points contained in the dataset, ordered by largest endTimeNanos first. This list is considered complete when retrieving a small dataset and partial when patching a dataset or retrieving a dataset that is too large to include in a single response.", + "description": "A partial list of data points contained in the dataset, ordered by largest\nendTimeNanos first. This list is considered complete when retrieving a\nsmall dataset and partial when patching a dataset or retrieving a dataset\nthat is too large to include in a single response.", "items": { "$ref": "DataPoint" }, @@ -1333,7 +1376,7 @@ "type": "object" }, "Device": { - "description": "Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source.\n\nThe main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including: \n- Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)\n- Display the source of data to the user (by using the device make / model)\n- Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)\n- Build different analysis models for each device/version.", + "description": "Representation of an integrated device (such as a phone or a wearable) that\ncan hold sensors. Each sensor is exposed as a data source.\n\nThe main purpose of the device information contained in this class is to\nidentify the hardware of a particular data source. This can be useful in\ndifferent ways, including:\n
    \n
  • Distinguishing two similar sensors on different devices (the step\n counter on two nexus 5 phones, for instance)\n
  • Display the source of data to the user (by using the device make /\n model)\n
  • Treat data differently depending on sensor type (accelerometers on a\n watch may give different patterns than those on a phone)\n
  • Build different analysis models for each device/version.\n
", "id": "Device", "properties": { "manufacturer": { @@ -1365,22 +1408,22 @@ }, "description": "A constant representing the type of the device.", "enum": [ - "chestStrap", - "headMounted", - "phone", - "scale", - "tablet", "unknown", - "watch" + "phone", + "tablet", + "watch", + "chestStrap", + "scale", + "headMounted" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" + "Device type is not known.", + "An Android phone.", + "An Android tablet.", + "A watch or other wrist-mounted band.", + "A chest strap.", + "A scale.", + "Glass or other head-mounted device." ], "type": "string" }, @@ -1391,7 +1434,7 @@ "fitness.users.dataSources.update" ] }, - "description": "The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.\n\nThe obfuscation preserves equality; that is, given two IDs, if id1 == id2, obfuscated(id1) == obfuscated(id2).", + "description": "The serial number or other unique ID for the hardware. This field is\nobfuscated when read by any REST or Android client that did not create\nthe data source. Only the data source creator will see the uid field in\nclear and normal form.\n\nThe obfuscation preserves equality; that is, given two IDs, if id1 == id2,\nobfuscated(id1) == obfuscated(id2).", "type": "string" }, "version": { @@ -1415,7 +1458,7 @@ "type": "string" }, "deletedDataPoint": { - "description": "Deleted data points for the user. Note, for modifications this should be parsed before handling insertions.", + "description": "Deleted data points for the user. Note, for modifications this should be\nparsed before handling insertions.", "items": { "$ref": "DataPoint" }, @@ -1429,7 +1472,7 @@ "type": "array" }, "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults.", "type": "string" } }, @@ -1452,22 +1495,22 @@ "id": "ListSessionsResponse", "properties": { "deletedSession": { - "description": "If includeDeleted is set to true in the request, this list will contain sessions deleted with original end times that are within the startTime and endTime frame.", + "description": "If includeDeleted is set to true in the request, and\nstartTime and endTime are omitted, this will include\nsessions which were deleted since the last sync.", "items": { "$ref": "Session" }, "type": "array" }, "hasMoreData": { - "description": "Flag to indicate server has more data to transfer", + "description": "Flag to indicate server has more data to transfer.\nDO NOT USE THIS FIELD. It is never populated in responses from the server.", "type": "boolean" }, "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", + "description": "The sync token which is used to sync further changes. This will only be\nprovided if both startTime and endTime are omitted\nfrom the request.", "type": "string" }, "session": { - "description": "Sessions with an end time that is between startTime and endTime of the request.", + "description": "Sessions with an end time that is between startTime and\nendTime of the request.", "items": { "$ref": "Session" }, @@ -1489,11 +1532,11 @@ "type": "object" }, "Session": { - "description": "Sessions contain metadata, such as a user-friendly name and time interval information.", + "description": "Sessions contain metadata, such as a user-friendly name and time interval\ninformation.", "id": "Session", "properties": { "activeTimeMillis": { - "description": "Session active time. While start_time_millis and end_time_millis define the full session time, the active time can be shorter and specified by active_time_millis. If the inactive time during the session is known, it should also be inserted via a com.google.activity.segment data point with a STILL activity value", + "description": "Session active time. While start_time_millis and end_time_millis define\nthe full session time, the active time can be shorter and specified by\nactive_time_millis.\nIf the inactive time during the session is known, it should also be\ninserted via a com.google.activity.segment data point with a STILL\nactivity value", "format": "int64", "type": "string" }, @@ -1536,7 +1579,7 @@ "fitness.users.sessions.update" ] }, - "description": "A client-generated identifier that is unique across all sessions owned by this particular user.", + "description": "A client-generated identifier that is unique across all sessions owned by\nthis particular user.", "type": "string" }, "modifiedTimeMillis": { @@ -1567,7 +1610,7 @@ "type": "object" }, "Value": { - "description": "Holder object for the value of a single field in a data point.\n\nA field value has a particular format and is only ever set to one of an integer or a floating point value.", + "description": "Holder object for the value of a single field in a data point.\n\nA field value has a particular format and is only ever set to one of an\ninteger or a floating point value.", "id": "Value", "properties": { "fpVal": { @@ -1581,14 +1624,14 @@ "type": "integer" }, "mapVal": { - "description": "Map value. The valid key space and units for the corresponding value of each entry should be documented as part of the data type definition. Keys should be kept small whenever possible. Data streams with large keys and high data frequency may be down sampled.", + "description": "Map value. The valid key space and units for the corresponding value\nof each entry should be documented as part of the data type definition.\nKeys should be kept small whenever possible. Data streams with large keys\nand high data frequency may be down sampled.", "items": { "$ref": "ValueMapValEntry" }, "type": "array" }, "stringVal": { - "description": "String value. When this is set, other values must not be set. Strings should be kept small whenever possible. Data streams with large string values and high data frequency may be down sampled.", + "description": "String value. When this is set, other values must not be set.\nStrings should be kept small whenever possible. Data streams with large\nstring values and high data frequency may be down sampled.", "type": "string" } }, @@ -1607,7 +1650,7 @@ "type": "object" } }, - "servicePath": "fitness/v1/users/", - "title": "Fitness", + "servicePath": "", + "title": "Fitness API", "version": "v1" } \ No newline at end of file diff --git a/etc/api/games/v1/games-api.json b/etc/api/games/v1/games-api.json index 6f9dfa4d9b..a70f7b6f2e 100644 --- a/etc/api/games/v1/games-api.json +++ b/etc/api/games/v1/games-api.json @@ -11,36 +11,63 @@ } } }, - "basePath": "/games/v1/", - "baseUrl": "https://www.googleapis.com/games/v1/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/games/v1", "canonicalName": "Games", - "description": "The API for Google Play Game Services.", + "description": "The Google Play games service allows developers to enhance games with social leaderboards,\n achievements, game state, sign-in with Google, and more.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/games/services/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/IFpf9ao_W35aUtRpTb32pIvAg4o\"", + "documentationLink": "https://developers.google.com/games/", "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "games:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "games", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -63,12 +90,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -79,8 +111,10 @@ "methods": { "list": { "description": "Lists all the achievement definitions for your application.", + "flatPath": "games/v1/achievements", "httpMethod": "GET", "id": "games.achievementDefinitions.list", + "parameterOrder": [], "parameters": { "language": { "description": "The preferred language to use for strings returned by this method.", @@ -88,11 +122,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults.", + "description": "The maximum number of achievement resources to return in the response, used\nfor paging. For any response, the actual number of achievement resources\nreturned may be less than the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "200", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -101,7 +133,7 @@ "type": "string" } }, - "path": "achievements", + "path": "games/v1/achievements", "response": { "$ref": "AchievementDefinitionsListResponse" }, @@ -114,7 +146,8 @@ "achievements": { "methods": { "increment": { - "description": "Increments the steps of the achievement with the given ID for the currently authenticated player.", + "description": "Increments the steps of the achievement with the given ID for the currently\nauthenticated player.", + "flatPath": "games/v1/achievements/{achievementId}/increment", "httpMethod": "POST", "id": "games.achievements.increment", "parameterOrder": [ @@ -129,7 +162,7 @@ "type": "string" }, "requestId": { - "description": "A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the request is handled correctly across retries.", + "description": "A randomly generated numeric ID for each request specified by the caller.\nThis number is used at the server to ensure that the request is handled\ncorrectly across retries.", "format": "int64", "location": "query", "type": "string" @@ -138,12 +171,11 @@ "description": "The number of steps to increment.", "format": "int32", "location": "query", - "minimum": "1", "required": true, "type": "integer" } }, - "path": "achievements/{achievementId}/increment", + "path": "games/v1/achievements/{achievementId}/increment", "response": { "$ref": "AchievementIncrementResponse" }, @@ -152,7 +184,8 @@ ] }, "list": { - "description": "Lists the progress for all your application's achievements for the currently authenticated player.", + "description": "Lists the progress for all your application's achievements for the\ncurrently authenticated player.", + "flatPath": "games/v1/players/{playerId}/achievements", "httpMethod": "GET", "id": "games.achievements.list", "parameterOrder": [ @@ -165,11 +198,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults.", + "description": "The maximum number of achievement resources to return in the response, used\nfor paging. For any response, the actual number of achievement resources\nreturned may be less than the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "200", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -178,30 +209,24 @@ "type": "string" }, "playerId": { - "description": "A player ID. A value of me may be used in place of the authenticated player's ID.", + "description": "A player ID. A value of `me` may be used in place of the\nauthenticated player's ID.", "location": "path", "required": true, "type": "string" }, "state": { - "description": "Tells the server to return only achievements with the specified state. If this parameter isn't specified, all achievements are returned.", + "description": "Tells the server to return only achievements with the specified state. If\nthis parameter isn't specified, all achievements are returned.", "enum": [ "ALL", "HIDDEN", "REVEALED", "UNLOCKED" ], - "enumDescriptions": [ - "List all achievements. This is the default.", - "List only hidden achievements.", - "List only revealed achievements.", - "List only unlocked achievements." - ], "location": "query", "type": "string" } }, - "path": "players/{playerId}/achievements", + "path": "games/v1/players/{playerId}/achievements", "response": { "$ref": "PlayerAchievementListResponse" }, @@ -210,7 +235,8 @@ ] }, "reveal": { - "description": "Sets the state of the achievement with the given ID to REVEALED for the currently authenticated player.", + "description": "Sets the state of the achievement with the given ID to\n`REVEALED` for the currently authenticated player.", + "flatPath": "games/v1/achievements/{achievementId}/reveal", "httpMethod": "POST", "id": "games.achievements.reveal", "parameterOrder": [ @@ -224,7 +250,7 @@ "type": "string" } }, - "path": "achievements/{achievementId}/reveal", + "path": "games/v1/achievements/{achievementId}/reveal", "response": { "$ref": "AchievementRevealResponse" }, @@ -233,7 +259,8 @@ ] }, "setStepsAtLeast": { - "description": "Sets the steps for the currently authenticated player towards unlocking an achievement. If the steps parameter is less than the current number of steps that the player already gained for the achievement, the achievement is not modified.", + "description": "Sets the steps for the currently authenticated player towards unlocking an\nachievement. If the steps parameter is less than the current number of\nsteps that the player already gained for the achievement, the achievement\nis not modified.", + "flatPath": "games/v1/achievements/{achievementId}/setStepsAtLeast", "httpMethod": "POST", "id": "games.achievements.setStepsAtLeast", "parameterOrder": [ @@ -251,12 +278,11 @@ "description": "The minimum value to set the steps to.", "format": "int32", "location": "query", - "minimum": "1", "required": true, "type": "integer" } }, - "path": "achievements/{achievementId}/setStepsAtLeast", + "path": "games/v1/achievements/{achievementId}/setStepsAtLeast", "response": { "$ref": "AchievementSetStepsAtLeastResponse" }, @@ -266,6 +292,7 @@ }, "unlock": { "description": "Unlocks this achievement for the currently authenticated player.", + "flatPath": "games/v1/achievements/{achievementId}/unlock", "httpMethod": "POST", "id": "games.achievements.unlock", "parameterOrder": [ @@ -277,14 +304,9 @@ "location": "path", "required": true, "type": "string" - }, - "builtinGameId": { - "description": "Override used only by built-in games in Play Games application.", - "location": "query", - "type": "string" } }, - "path": "achievements/{achievementId}/unlock", + "path": "games/v1/achievements/{achievementId}/unlock", "response": { "$ref": "AchievementUnlockResponse" }, @@ -294,16 +316,12 @@ }, "updateMultiple": { "description": "Updates multiple achievements for the currently authenticated player.", + "flatPath": "games/v1/achievements/updateMultiple", "httpMethod": "POST", "id": "games.achievements.updateMultiple", - "parameters": { - "builtinGameId": { - "description": "Override used only by built-in games in Play Games application.", - "location": "query", - "type": "string" - } - }, - "path": "achievements/updateMultiple", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1/achievements/updateMultiple", "request": { "$ref": "AchievementUpdateMultipleRequest" }, @@ -319,7 +337,8 @@ "applications": { "methods": { "get": { - "description": "Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified platformType, the returned response will not include any instance data.", + "description": "Retrieves the metadata of the application with the given ID. If the\nrequested application is not available for the specified\n`platformType`, the returned response will not include any\ninstance data.", + "flatPath": "games/v1/applications/{applicationId}", "httpMethod": "GET", "id": "games.applications.get", "parameterOrder": [ @@ -340,20 +359,16 @@ "platformType": { "description": "Restrict application details returned to the specific platform.", "enum": [ + "PLATFORM_TYPE_UNSPECIFIED", "ANDROID", "IOS", "WEB_APP" ], - "enumDescriptions": [ - "Retrieve applications that can be played on Android.", - "Retrieve applications that can be played on iOS.", - "Retrieve applications that can be played on desktop web." - ], "location": "query", "type": "string" } }, - "path": "applications/{applicationId}", + "path": "games/v1/applications/{applicationId}", "response": { "$ref": "Application" }, @@ -362,23 +377,20 @@ ] }, "played": { - "description": "Indicate that the the currently authenticated user is playing your application.", + "description": "Indicate that the currently authenticated user is playing your\napplication.", + "flatPath": "games/v1/applications/played", "httpMethod": "POST", "id": "games.applications.played", - "parameters": { - "builtinGameId": { - "description": "Override used only by built-in games in Play Games application.", - "location": "query", - "type": "string" - } - }, - "path": "applications/played", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1/applications/played", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "verify": { - "description": "Verifies the auth token provided with this request is for the application with the specified ID, and returns the ID of the player it was granted for.", + "description": "Verifies the auth token provided with this request is for the application\nwith the specified ID, and returns the ID of the player it was granted for.", + "flatPath": "games/v1/applications/{applicationId}/verify", "httpMethod": "GET", "id": "games.applications.verify", "parameterOrder": [ @@ -392,7 +404,7 @@ "type": "string" } }, - "path": "applications/{applicationId}/verify", + "path": "games/v1/applications/{applicationId}/verify", "response": { "$ref": "ApplicationVerifyResponse" }, @@ -405,9 +417,11 @@ "events": { "methods": { "listByPlayer": { - "description": "Returns a list showing the current progress on events in this application for the currently authenticated user.", + "description": "Returns a list showing the current progress on events in this application\nfor the currently authenticated user.", + "flatPath": "games/v1/events", "httpMethod": "GET", "id": "games.events.listByPlayer", + "parameterOrder": [], "parameters": { "language": { "description": "The preferred language to use for strings returned by this method.", @@ -415,11 +429,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of events to return in the response, used for paging. For any response, the actual number of events to return may be less than the specified maxResults.", + "description": "The maximum number of events to return in the response, used for paging.\nFor any response, the actual number of events to return may be less than\nthe specified maxResults.", "format": "int32", "location": "query", - "maximum": "100", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -428,7 +440,7 @@ "type": "string" } }, - "path": "events", + "path": "games/v1/events", "response": { "$ref": "PlayerEventListResponse" }, @@ -438,8 +450,10 @@ }, "listDefinitions": { "description": "Returns a list of the event definitions in this application.", + "flatPath": "games/v1/eventDefinitions", "httpMethod": "GET", "id": "games.events.listDefinitions", + "parameterOrder": [], "parameters": { "language": { "description": "The preferred language to use for strings returned by this method.", @@ -447,11 +461,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of event definitions to return in the response, used for paging. For any response, the actual number of event definitions to return may be less than the specified maxResults.", + "description": "The maximum number of event definitions to return in the response, used for\npaging. For any response, the actual number of event definitions to return\nmay be less than the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "100", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -460,7 +472,7 @@ "type": "string" } }, - "path": "eventDefinitions", + "path": "games/v1/eventDefinitions", "response": { "$ref": "EventDefinitionListResponse" }, @@ -469,9 +481,11 @@ ] }, "record": { - "description": "Records a batch of changes to the number of times events have occurred for the currently authenticated user of this application.", + "description": "Records a batch of changes to the number of times events have occurred for\nthe currently authenticated user of this application.", + "flatPath": "games/v1/events", "httpMethod": "POST", "id": "games.events.record", + "parameterOrder": [], "parameters": { "language": { "description": "The preferred language to use for strings returned by this method.", @@ -479,7 +493,7 @@ "type": "string" } }, - "path": "events", + "path": "games/v1/events", "request": { "$ref": "EventRecordRequest" }, @@ -496,6 +510,7 @@ "methods": { "get": { "description": "Retrieves the metadata of the leaderboard with the given ID.", + "flatPath": "games/v1/leaderboards/{leaderboardId}", "httpMethod": "GET", "id": "games.leaderboards.get", "parameterOrder": [ @@ -514,7 +529,7 @@ "type": "string" } }, - "path": "leaderboards/{leaderboardId}", + "path": "games/v1/leaderboards/{leaderboardId}", "response": { "$ref": "Leaderboard" }, @@ -524,8 +539,10 @@ }, "list": { "description": "Lists all the leaderboard metadata for your application.", + "flatPath": "games/v1/leaderboards", "httpMethod": "GET", "id": "games.leaderboards.list", + "parameterOrder": [], "parameters": { "language": { "description": "The preferred language to use for strings returned by this method.", @@ -533,11 +550,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of leaderboards to return in the response. For any response, the actual number of leaderboards returned may be less than the specified maxResults.", + "description": "The maximum number of leaderboards to return in the response. For any\nresponse, the actual number of leaderboards returned may be less than the\nspecified `maxResults`.", "format": "int32", "location": "query", - "maximum": "200", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -546,7 +561,7 @@ "type": "string" } }, - "path": "leaderboards", + "path": "games/v1/leaderboards", "response": { "$ref": "LeaderboardListResponse" }, @@ -560,9 +575,12 @@ "methods": { "getMetagameConfig": { "description": "Return the metagame configuration data for the calling application.", + "flatPath": "games/v1/metagameConfig", "httpMethod": "GET", "id": "games.metagame.getMetagameConfig", - "path": "metagameConfig", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1/metagameConfig", "response": { "$ref": "MetagameConfig" }, @@ -571,7 +589,8 @@ ] }, "listCategoriesByPlayer": { - "description": "List play data aggregated per category for the player corresponding to playerId.", + "description": "List play data aggregated per category for the player corresponding to\n`playerId`.", + "flatPath": "games/v1/players/{playerId}/categories/{collection}", "httpMethod": "GET", "id": "games.metagame.listCategoriesByPlayer", "parameterOrder": [ @@ -582,10 +601,8 @@ "collection": { "description": "The collection of categories for which data will be returned.", "enum": [ - "all" - ], - "enumDescriptions": [ - "Retrieve data for all categories. This is the default." + "COLLECTION_UNSPECIFIED", + "ALL" ], "location": "path", "required": true, @@ -597,11 +614,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of category resources to return in the response, used for paging. For any response, the actual number of category resources returned may be less than the specified maxResults.", + "description": "The maximum number of category resources to return in the response, used\nfor paging. For any response, the actual number of category resources\nreturned may be less than the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "100", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -610,13 +625,13 @@ "type": "string" }, "playerId": { - "description": "A player ID. A value of me may be used in place of the authenticated player's ID.", + "description": "A player ID. A value of `me` may be used in place of the\nauthenticated player's ID.", "location": "path", "required": true, "type": "string" } }, - "path": "players/{playerId}/categories/{collection}", + "path": "games/v1/players/{playerId}/categories/{collection}", "response": { "$ref": "CategoryListResponse" }, @@ -629,7 +644,8 @@ "players": { "methods": { "get": { - "description": "Retrieves the Player resource with the given ID. To retrieve the player for the currently authenticated user, set playerId to me.", + "description": "Retrieves the Player resource with the given ID. To retrieve the player\nfor the currently authenticated user, set `playerId` to `me`.", + "flatPath": "games/v1/players/{playerId}", "httpMethod": "GET", "id": "games.players.get", "parameterOrder": [ @@ -642,13 +658,13 @@ "type": "string" }, "playerId": { - "description": "A player ID. A value of me may be used in place of the authenticated player's ID.", + "description": "A player ID. A value of `me` may be used in place of the\nauthenticated player's ID.", "location": "path", "required": true, "type": "string" } }, - "path": "players/{playerId}", + "path": "games/v1/players/{playerId}", "response": { "$ref": "Player" }, @@ -658,6 +674,7 @@ }, "list": { "description": "Get the collection of players for the currently authenticated user.", + "flatPath": "games/v1/players/me/players/{collection}", "httpMethod": "GET", "id": "games.players.list", "parameterOrder": [ @@ -667,18 +684,9 @@ "collection": { "description": "Collection of players being retrieved", "enum": [ - "connected", - "friends_all", - "playedWith", - "played_with", - "visible" - ], - "enumDescriptions": [ - "(DEPRECATED) Retrieve a list of players that are also playing this game in reverse chronological order.", - "Retrieve a list of players who are friends of the user in alphabetical order.", - "(DEPRECATED) Retrieve a list of players you have played a multiplayer game (realtime or turn-based) with recently.", - "(DEPRECATED) Retrieve a list of players you have played a multiplayer game (realtime or turn-based) with recently.", - "(DEPRECATED: please use FRIENDS_ALL) Retrieve a list of players in the user's social graph that are visible to this game." + "CONNECTED", + "VISIBLE", + "FRIENDS_ALL" ], "location": "path", "required": true, @@ -690,11 +698,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified maxResults.", + "description": "The maximum number of player resources to return in the response, used for\npaging. For any response, the actual number of player resources returned\nmay be less than the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "50", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -703,7 +709,7 @@ "type": "string" } }, - "path": "players/me/players/{collection}", + "path": "games/v1/players/me/players/{collection}", "response": { "$ref": "PlayerListResponse" }, @@ -713,38 +719,11 @@ } } }, - "pushtokens": { - "methods": { - "remove": { - "description": "Removes a push token for the current user and application. Removing a non-existent push token will report success.", - "httpMethod": "POST", - "id": "games.pushtokens.remove", - "path": "pushtokens/remove", - "request": { - "$ref": "PushTokenId" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "update": { - "description": "Registers a push token for the current user and application.", - "httpMethod": "PUT", - "id": "games.pushtokens.update", - "path": "pushtokens", - "request": { - "$ref": "PushToken" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - } - } - }, "revisions": { "methods": { "check": { "description": "Checks whether the games client is out of date.", + "flatPath": "games/v1/revisions/check", "httpMethod": "GET", "id": "games.revisions.check", "parameterOrder": [ @@ -752,13 +731,13 @@ ], "parameters": { "clientRevision": { - "description": "The revision of the client SDK used by your application. Format:\n[PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are:\n \n- \"ANDROID\" - Client is running the Android SDK. \n- \"IOS\" - Client is running the iOS SDK. \n- \"WEB_APP\" - Client is running as a Web App.", + "description": "The revision of the client SDK used by your application. Format:\n`[PLATFORM_TYPE]:[VERSION_NUMBER]`. Possible values of `PLATFORM_TYPE` are:\n* `ANDROID` - Client is running the Android SDK.\n* `IOS` - Client is running the iOS SDK.\n* `WEB_APP` - Client is running as a Web App.", "location": "query", "required": true, "type": "string" } }, - "path": "revisions/check", + "path": "games/v1/revisions/check", "response": { "$ref": "RevisionCheckResponse" }, @@ -768,237 +747,11 @@ } } }, - "rooms": { - "methods": { - "create": { - "description": "Create a room. For internal use by the Games SDK only. Calling this method directly is unsupported.", - "httpMethod": "POST", - "id": "games.rooms.create", - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - } - }, - "path": "rooms/create", - "request": { - "$ref": "RoomCreateRequest" - }, - "response": { - "$ref": "Room" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "decline": { - "description": "Decline an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.", - "httpMethod": "POST", - "id": "games.rooms.decline", - "parameterOrder": [ - "roomId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "roomId": { - "description": "The ID of the room.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "rooms/{roomId}/decline", - "response": { - "$ref": "Room" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "dismiss": { - "description": "Dismiss an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.", - "httpMethod": "POST", - "id": "games.rooms.dismiss", - "parameterOrder": [ - "roomId" - ], - "parameters": { - "roomId": { - "description": "The ID of the room.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "rooms/{roomId}/dismiss", - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "get": { - "description": "Get the data for a room.", - "httpMethod": "GET", - "id": "games.rooms.get", - "parameterOrder": [ - "roomId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "roomId": { - "description": "The ID of the room.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "rooms/{roomId}", - "response": { - "$ref": "Room" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "join": { - "description": "Join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.", - "httpMethod": "POST", - "id": "games.rooms.join", - "parameterOrder": [ - "roomId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "roomId": { - "description": "The ID of the room.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "rooms/{roomId}/join", - "request": { - "$ref": "RoomJoinRequest" - }, - "response": { - "$ref": "Room" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "leave": { - "description": "Leave a room. For internal use by the Games SDK only. Calling this method directly is unsupported.", - "httpMethod": "POST", - "id": "games.rooms.leave", - "parameterOrder": [ - "roomId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "roomId": { - "description": "The ID of the room.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "rooms/{roomId}/leave", - "request": { - "$ref": "RoomLeaveRequest" - }, - "response": { - "$ref": "Room" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "list": { - "description": "Returns invitations to join rooms.", - "httpMethod": "GET", - "id": "games.rooms.list", - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "maxResults": { - "description": "The maximum number of rooms to return in the response, used for paging. For any response, the actual number of rooms to return may be less than the specified maxResults.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "rooms", - "response": { - "$ref": "RoomList" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "reportStatus": { - "description": "Updates sent by a client reporting the status of peers in a room. For internal use by the Games SDK only. Calling this method directly is unsupported.", - "httpMethod": "POST", - "id": "games.rooms.reportStatus", - "parameterOrder": [ - "roomId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "roomId": { - "description": "The ID of the room.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "rooms/{roomId}/reportstatus", - "request": { - "$ref": "RoomP2PStatuses" - }, - "response": { - "$ref": "RoomStatus" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - } - } - }, "scores": { "methods": { "get": { - "description": "Get high scores, and optionally ranks, in leaderboards for the currently authenticated player. For a specific time span, leaderboardId can be set to ALL to retrieve data for all leaderboards in a given time span.\nNOTE: You cannot ask for 'ALL' leaderboards and 'ALL' timeSpans in the same request; only one parameter may be set to 'ALL'.", + "description": "Get high scores, and optionally ranks, in leaderboards for the currently\nauthenticated player. For a specific time span, `leaderboardId`\ncan be set to `ALL` to retrieve data for all leaderboards in a\ngiven time span. `NOTE: You cannot ask for 'ALL' leaderboards and\n'ALL' timeSpans in the same request; only one parameter may be set to\n'ALL'.", + "flatPath": "games/v1/players/{playerId}/leaderboards/{leaderboardId}/scores/{timeSpan}", "httpMethod": "GET", "id": "games.scores.get", "parameterOrder": [ @@ -1008,17 +761,13 @@ ], "parameters": { "includeRankType": { - "description": "The types of ranks to return. If the parameter is omitted, no ranks will be returned.", + "description": "The types of ranks to return. If the parameter is omitted, no ranks will be\nreturned.", "enum": [ + "INCLUDE_RANK_TYPE_UNSPECIFIED", "ALL", "PUBLIC", "SOCIAL" ], - "enumDescriptions": [ - "Retrieve public and social ranks.", - "Retrieve public ranks, if the player is sharing their gameplay activity publicly.", - "Retrieve the social rank." - ], "location": "query", "type": "string" }, @@ -1028,17 +777,15 @@ "type": "string" }, "leaderboardId": { - "description": "The ID of the leaderboard. Can be set to 'ALL' to retrieve data for all leaderboards for this application.", + "description": "The ID of the leaderboard. Can be set to 'ALL' to retrieve data for all\nleaderboards for this application.", "location": "path", "required": true, "type": "string" }, "maxResults": { - "description": "The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.", + "description": "The maximum number of leaderboard scores to return in the response. For\nany response, the actual number of leaderboard scores returned may be less\nthan the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "30", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -1047,7 +794,7 @@ "type": "string" }, "playerId": { - "description": "A player ID. A value of me may be used in place of the authenticated player's ID.", + "description": "A player ID. A value of `me` may be used in place of the\nauthenticated player's ID.", "location": "path", "required": true, "type": "string" @@ -1055,23 +802,18 @@ "timeSpan": { "description": "The time span for the scores and ranks you're requesting.", "enum": [ + "SCORE_TIME_SPAN_UNSPECIFIED", "ALL", "ALL_TIME", - "DAILY", - "WEEKLY" - ], - "enumDescriptions": [ - "Get the high scores for all time spans. If this is used, maxResults values will be ignored.", - "Get the all time high score.", - "List the top scores for the current day.", - "List the top scores for the current week." + "WEEKLY", + "DAILY" ], "location": "path", "required": true, "type": "string" } }, - "path": "players/{playerId}/leaderboards/{leaderboardId}/scores/{timeSpan}", + "path": "games/v1/players/{playerId}/leaderboards/{leaderboardId}/scores/{timeSpan}", "response": { "$ref": "PlayerLeaderboardScoreListResponse" }, @@ -1081,6 +823,7 @@ }, "list": { "description": "Lists the scores in a leaderboard, starting from the top.", + "flatPath": "games/v1/leaderboards/{leaderboardId}/scores/{collection}", "httpMethod": "GET", "id": "games.scores.list", "parameterOrder": [ @@ -1092,12 +835,10 @@ "collection": { "description": "The collection of scores you're requesting.", "enum": [ + "SCORE_COLLECTION_UNSPECIFIED", "PUBLIC", - "SOCIAL" - ], - "enumDescriptions": [ - "List all scores in the public leaderboard.", - "List only social scores." + "SOCIAL", + "FRIENDS" ], "location": "path", "required": true, @@ -1115,11 +856,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.", + "description": "The maximum number of leaderboard scores to return in the response. For\nany response, the actual number of leaderboard scores returned may be less\nthan the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "30", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -1130,21 +869,17 @@ "timeSpan": { "description": "The time span for the scores and ranks you're requesting.", "enum": [ + "SCORE_TIME_SPAN_UNSPECIFIED", "ALL_TIME", - "DAILY", - "WEEKLY" - ], - "enumDescriptions": [ - "List the all-time top scores.", - "List the top scores for the current day.", - "List the top scores for the current week." + "WEEKLY", + "DAILY" ], "location": "query", "required": true, "type": "string" } }, - "path": "leaderboards/{leaderboardId}/scores/{collection}", + "path": "games/v1/leaderboards/{leaderboardId}/scores/{collection}", "response": { "$ref": "LeaderboardScores" }, @@ -1154,6 +889,7 @@ }, "listWindow": { "description": "Lists the scores in a leaderboard around (and including) a player's score.", + "flatPath": "games/v1/leaderboards/{leaderboardId}/window/{collection}", "httpMethod": "GET", "id": "games.scores.listWindow", "parameterOrder": [ @@ -1165,12 +901,10 @@ "collection": { "description": "The collection of scores you're requesting.", "enum": [ + "SCORE_COLLECTION_UNSPECIFIED", "PUBLIC", - "SOCIAL" - ], - "enumDescriptions": [ - "List all scores in the public leaderboard.", - "List only social scores." + "SOCIAL", + "FRIENDS" ], "location": "path", "required": true, @@ -1188,11 +922,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.", + "description": "The maximum number of leaderboard scores to return in the response. For\nany response, the actual number of leaderboard scores returned may be less\nthan the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "30", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -1201,34 +933,30 @@ "type": "string" }, "resultsAbove": { - "description": "The preferred number of scores to return above the player's score. More scores may be returned if the player is at the bottom of the leaderboard; fewer may be returned if the player is at the top. Must be less than or equal to maxResults.", + "description": "The preferred number of scores to return above the player's score. More\nscores may be returned if the player is at the bottom of the leaderboard;\nfewer may be returned if the player is at the top. Must be less than or\nequal to maxResults.", "format": "int32", "location": "query", "type": "integer" }, "returnTopIfAbsent": { - "description": "True if the top scores should be returned when the player is not in the leaderboard. Defaults to true.", + "description": "True if the top scores should be returned when the player is not in the\nleaderboard. Defaults to true.", "location": "query", "type": "boolean" }, "timeSpan": { "description": "The time span for the scores and ranks you're requesting.", "enum": [ + "SCORE_TIME_SPAN_UNSPECIFIED", "ALL_TIME", - "DAILY", - "WEEKLY" - ], - "enumDescriptions": [ - "List the all-time top scores.", - "List the top scores for the current day.", - "List the top scores for the current week." + "WEEKLY", + "DAILY" ], "location": "query", "required": true, "type": "string" } }, - "path": "leaderboards/{leaderboardId}/window/{collection}", + "path": "games/v1/leaderboards/{leaderboardId}/window/{collection}", "response": { "$ref": "LeaderboardScores" }, @@ -1238,6 +966,7 @@ }, "submit": { "description": "Submits a score to the specified leaderboard.", + "flatPath": "games/v1/leaderboards/{leaderboardId}/scores", "httpMethod": "POST", "id": "games.scores.submit", "parameterOrder": [ @@ -1257,20 +986,20 @@ "type": "string" }, "score": { - "description": "The score you're submitting. The submitted score is ignored if it is worse than a previously submitted score, where worse depends on the leaderboard sort order. The meaning of the score value depends on the leaderboard format type. For fixed-point, the score represents the raw value. For time, the score represents elapsed time in milliseconds. For currency, the score represents a value in micro units.", + "description": "The score you're submitting. The submitted score is ignored if it is worse\nthan a previously submitted score, where worse depends on the leaderboard\nsort order. The meaning of the score value depends on the leaderboard\nformat type. For fixed-point, the score represents the raw value. For\ntime, the score represents elapsed time in milliseconds. For currency, the\nscore represents a value in micro units.", "format": "int64", "location": "query", "required": true, "type": "string" }, "scoreTag": { - "description": "Additional information about the score you're submitting. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.", + "description": "Additional information about the score you're submitting. Values must\ncontain no more than 64 URI-safe characters as defined by section 2.3 of\nRFC 3986.", "location": "query", "pattern": "[a-zA-Z0-9-._~]{0,64}", "type": "string" } }, - "path": "leaderboards/{leaderboardId}/scores", + "path": "games/v1/leaderboards/{leaderboardId}/scores", "response": { "$ref": "PlayerScoreResponse" }, @@ -1280,8 +1009,10 @@ }, "submitMultiple": { "description": "Submits multiple scores to leaderboards.", + "flatPath": "games/v1/leaderboards/scores", "httpMethod": "POST", "id": "games.scores.submitMultiple", + "parameterOrder": [], "parameters": { "language": { "description": "The preferred language to use for strings returned by this method.", @@ -1289,7 +1020,7 @@ "type": "string" } }, - "path": "leaderboards/scores", + "path": "games/v1/leaderboards/scores", "request": { "$ref": "PlayerScoreSubmissionList" }, @@ -1306,6 +1037,7 @@ "methods": { "get": { "description": "Retrieves the metadata for a given snapshot ID.", + "flatPath": "games/v1/snapshots/{snapshotId}", "httpMethod": "GET", "id": "games.snapshots.get", "parameterOrder": [ @@ -1324,7 +1056,7 @@ "type": "string" } }, - "path": "snapshots/{snapshotId}", + "path": "games/v1/snapshots/{snapshotId}", "response": { "$ref": "Snapshot" }, @@ -1334,7 +1066,8 @@ ] }, "list": { - "description": "Retrieves a list of snapshots created by your application for the player corresponding to the player ID.", + "description": "Retrieves a list of snapshots created by your application for the player\ncorresponding to the player ID.", + "flatPath": "games/v1/players/{playerId}/snapshots", "httpMethod": "GET", "id": "games.snapshots.list", "parameterOrder": [ @@ -1347,11 +1080,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of snapshot resources to return in the response, used for paging. For any response, the actual number of snapshot resources returned may be less than the specified maxResults.", + "description": "The maximum number of snapshot resources to return in the response, used\nfor paging. For any response, the actual number of snapshot resources\nreturned may be less than the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "25", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -1360,13 +1091,13 @@ "type": "string" }, "playerId": { - "description": "A player ID. A value of me may be used in place of the authenticated player's ID.", + "description": "A player ID. A value of `me` may be used in place of the authenticated\nplayer's ID.", "location": "path", "required": true, "type": "string" } }, - "path": "players/{playerId}/snapshots", + "path": "games/v1/players/{playerId}/snapshots", "response": { "$ref": "SnapshotListResponse" }, @@ -1377,409 +1108,18 @@ } } }, - "turnBasedMatches": { + "stats": { "methods": { - "cancel": { - "description": "Cancel a turn-based match.", - "httpMethod": "PUT", - "id": "games.turnBasedMatches.cancel", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/cancel", - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "create": { - "description": "Create a turn-based match.", - "httpMethod": "POST", - "id": "games.turnBasedMatches.create", - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - } - }, - "path": "turnbasedmatches/create", - "request": { - "$ref": "TurnBasedMatchCreateRequest" - }, - "response": { - "$ref": "TurnBasedMatch" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "decline": { - "description": "Decline an invitation to play a turn-based match.", - "httpMethod": "PUT", - "id": "games.turnBasedMatches.decline", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/decline", - "response": { - "$ref": "TurnBasedMatch" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "dismiss": { - "description": "Dismiss a turn-based match from the match list. The match will no longer show up in the list and will not generate notifications.", - "httpMethod": "PUT", - "id": "games.turnBasedMatches.dismiss", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/dismiss", - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "finish": { - "description": "Finish a turn-based match. Each player should make this call once, after all results are in. Only the player whose turn it is may make the first call to Finish, and can pass in the final match state.", - "httpMethod": "PUT", - "id": "games.turnBasedMatches.finish", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/finish", - "request": { - "$ref": "TurnBasedMatchResults" - }, - "response": { - "$ref": "TurnBasedMatch" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, "get": { - "description": "Get the data for a turn-based match.", + "description": "Returns engagement and spend statistics in this application for the\ncurrently authenticated user.", + "flatPath": "games/v1/stats", "httpMethod": "GET", - "id": "games.turnBasedMatches.get", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "includeMatchData": { - "description": "Get match data along with metadata.", - "location": "query", - "type": "boolean" - }, - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}", + "id": "games.stats.get", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1/stats", "response": { - "$ref": "TurnBasedMatch" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "join": { - "description": "Join a turn-based match.", - "httpMethod": "PUT", - "id": "games.turnBasedMatches.join", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/join", - "response": { - "$ref": "TurnBasedMatch" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "leave": { - "description": "Leave a turn-based match when it is not the current player's turn, without canceling the match.", - "httpMethod": "PUT", - "id": "games.turnBasedMatches.leave", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/leave", - "response": { - "$ref": "TurnBasedMatch" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "leaveTurn": { - "description": "Leave a turn-based match during the current player's turn, without canceling the match.", - "httpMethod": "PUT", - "id": "games.turnBasedMatches.leaveTurn", - "parameterOrder": [ - "matchId", - "matchVersion" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - }, - "matchVersion": { - "description": "The version of the match being updated.", - "format": "int32", - "location": "query", - "required": true, - "type": "integer" - }, - "pendingParticipantId": { - "description": "The ID of another participant who should take their turn next. If not set, the match will wait for other player(s) to join via automatching; this is only valid if automatch criteria is set on the match with remaining slots for automatched players.", - "location": "query", - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/leaveTurn", - "response": { - "$ref": "TurnBasedMatch" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "list": { - "description": "Returns turn-based matches the player is or was involved in.", - "httpMethod": "GET", - "id": "games.turnBasedMatches.list", - "parameters": { - "includeMatchData": { - "description": "True if match data should be returned in the response. Note that not all data will necessarily be returned if include_match_data is true; the server may decide to only return data for some of the matches to limit download size for the client. The remainder of the data for these matches will be retrievable on request.", - "location": "query", - "type": "boolean" - }, - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "maxCompletedMatches": { - "description": "The maximum number of completed or canceled matches to return in the response. If not set, all matches returned could be completed or canceled.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "0", - "type": "integer" - }, - "maxResults": { - "description": "The maximum number of matches to return in the response, used for paging. For any response, the actual number of matches to return may be less than the specified maxResults.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "turnbasedmatches", - "response": { - "$ref": "TurnBasedMatchList" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "rematch": { - "description": "Create a rematch of a match that was previously completed, with the same participants. This can be called by only one player on a match still in their list; the player must have called Finish first. Returns the newly created match; it will be the caller's turn.", - "httpMethod": "POST", - "id": "games.turnBasedMatches.rematch", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - }, - "requestId": { - "description": "A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the request is handled correctly across retries.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/rematch", - "response": { - "$ref": "TurnBasedMatchRematch" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "sync": { - "description": "Returns turn-based matches the player is or was involved in that changed since the last sync call, with the least recent changes coming first. Matches that should be removed from the local cache will have a status of MATCH_DELETED.", - "httpMethod": "GET", - "id": "games.turnBasedMatches.sync", - "parameters": { - "includeMatchData": { - "description": "True if match data should be returned in the response. Note that not all data will necessarily be returned if include_match_data is true; the server may decide to only return data for some of the matches to limit download size for the client. The remainder of the data for these matches will be retrievable on request.", - "location": "query", - "type": "boolean" - }, - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "maxCompletedMatches": { - "description": "The maximum number of completed or canceled matches to return in the response. If not set, all matches returned could be completed or canceled.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "0", - "type": "integer" - }, - "maxResults": { - "description": "The maximum number of matches to return in the response, used for paging. For any response, the actual number of matches to return may be less than the specified maxResults.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - } - }, - "path": "turnbasedmatches/sync", - "response": { - "$ref": "TurnBasedMatchSync" - }, - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "takeTurn": { - "description": "Commit the results of a player turn.", - "httpMethod": "PUT", - "id": "games.turnBasedMatches.takeTurn", - "parameterOrder": [ - "matchId" - ], - "parameters": { - "language": { - "description": "The preferred language to use for strings returned by this method.", - "location": "query", - "type": "string" - }, - "matchId": { - "description": "The ID of the match.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "turnbasedmatches/{matchId}/turn", - "request": { - "$ref": "TurnBasedMatchTurn" - }, - "response": { - "$ref": "TurnBasedMatch" + "$ref": "StatsResponse" }, "scopes": [ "https://www.googleapis.com/auth/games" @@ -1788,15 +1128,25 @@ } } }, - "revision": "20200402", + "revision": "20200701", "rootUrl": "https://www.googleapis.com/", "schemas": { "AchievementDefinition": { - "description": "This is a JSON template for an achievement definition object.", + "description": "An achievement definition object.", "id": "AchievementDefinition", "properties": { "achievementType": { - "description": "The type of the achievement.\nPossible values are: \n- \"STANDARD\" - Achievement is either locked or unlocked. \n- \"INCREMENTAL\" - Achievement is incremental.", + "description": "The type of the achievement.", + "enum": [ + "ACHIEVEMENT_TYPE_UNSPECIFIED", + "STANDARD", + "INCREMENTAL" + ], + "enumDescriptions": [ + "Safe default, don't use.", + "Achievement is either locked or unlocked.", + "Achievement is incremental." + ], "type": "string" }, "description": { @@ -1817,20 +1167,31 @@ "type": "string" }, "initialState": { - "description": "The initial state of the achievement.\nPossible values are: \n- \"HIDDEN\" - Achievement is hidden. \n- \"REVEALED\" - Achievement is revealed. \n- \"UNLOCKED\" - Achievement is unlocked.", + "description": "The initial state of the achievement.", + "enum": [ + "INITIAL_ACHIEVEMENT_STATE_UNSPECIFIED", + "HIDDEN", + "REVEALED", + "UNLOCKED" + ], + "enumDescriptions": [ + "Safe default, don't use.", + "Achievement is hidden.", + "Achievement is revealed.", + "Achievement is unlocked." + ], "type": "string" }, "isRevealedIconUrlDefault": { - "description": "Indicates whether the revealed icon image being returned is a default image, or is provided by the game.", + "description": "Indicates whether the revealed icon image being returned is a default\nimage, or is provided by the game.", "type": "boolean" }, "isUnlockedIconUrlDefault": { - "description": "Indicates whether the unlocked icon image being returned is a default image, or is game-provided.", + "description": "Indicates whether the unlocked icon image being returned is a default\nimage, or is game-provided.", "type": "boolean" }, "kind": { - "default": "games#achievementDefinition", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementDefinition.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementDefinition`.", "type": "string" }, "name": { @@ -1854,7 +1215,7 @@ "type": "object" }, "AchievementDefinitionsListResponse": { - "description": "This is a JSON template for a list of achievement definition objects.", + "description": "A list of achievement definition objects.", "id": "AchievementDefinitionsListResponse", "properties": { "items": { @@ -1865,8 +1226,7 @@ "type": "array" }, "kind": { - "default": "games#achievementDefinitionsListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementDefinitionsListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementDefinitionsListResponse`.", "type": "string" }, "nextPageToken": { @@ -1877,7 +1237,7 @@ "type": "object" }, "AchievementIncrementResponse": { - "description": "This is a JSON template for an achievement increment response", + "description": "An achievement increment response", "id": "AchievementIncrementResponse", "properties": { "currentSteps": { @@ -1886,35 +1246,43 @@ "type": "integer" }, "kind": { - "default": "games#achievementIncrementResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementIncrementResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementIncrementResponse`.", "type": "string" }, "newlyUnlocked": { - "description": "Whether the current steps for the achievement has reached the number of steps required to unlock.", + "description": "Whether the current steps for the achievement has reached the number of\nsteps required to unlock.", "type": "boolean" } }, "type": "object" }, "AchievementRevealResponse": { - "description": "This is a JSON template for an achievement reveal response", + "description": "An achievement reveal response", "id": "AchievementRevealResponse", "properties": { "currentState": { - "description": "The current state of the achievement for which a reveal was attempted. This might be UNLOCKED if the achievement was already unlocked.\nPossible values are: \n- \"REVEALED\" - Achievement is revealed. \n- \"UNLOCKED\" - Achievement is unlocked.", + "description": "The current state of the achievement for which a reveal was attempted. This\nmight be `UNLOCKED` if the achievement was already unlocked.", + "enum": [ + "REVEAL_ACHIEVEMENT_STATE_UNSPECIFIED", + "REVEALED", + "UNLOCKED" + ], + "enumDescriptions": [ + "Safe default, don't use.", + "Achievement is revealed.", + "Achievement is unlocked." + ], "type": "string" }, "kind": { - "default": "games#achievementRevealResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementRevealResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementRevealResponse`.", "type": "string" } }, "type": "object" }, "AchievementSetStepsAtLeastResponse": { - "description": "This is a JSON template for an achievement set steps at least response.", + "description": "An achievement set steps at least response.", "id": "AchievementSetStepsAtLeastResponse", "properties": { "currentSteps": { @@ -1923,40 +1291,37 @@ "type": "integer" }, "kind": { - "default": "games#achievementSetStepsAtLeastResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementSetStepsAtLeastResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementSetStepsAtLeastResponse`.", "type": "string" }, "newlyUnlocked": { - "description": "Whether the the current steps for the achievement has reached the number of steps required to unlock.", + "description": "Whether the current steps for the achievement has reached the number of\nsteps required to unlock.", "type": "boolean" } }, "type": "object" }, "AchievementUnlockResponse": { - "description": "This is a JSON template for an achievement unlock response", + "description": "An achievement unlock response", "id": "AchievementUnlockResponse", "properties": { "kind": { - "default": "games#achievementUnlockResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUnlockResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementUnlockResponse`.", "type": "string" }, "newlyUnlocked": { - "description": "Whether this achievement was newly unlocked (that is, whether the unlock request for the achievement was the first for the player).", + "description": "Whether this achievement was newly unlocked (that is, whether the unlock\nrequest for the achievement was the first for the player).", "type": "boolean" } }, "type": "object" }, "AchievementUpdateMultipleRequest": { - "description": "This is a JSON template for a list of achievement update requests.", + "description": "A list of achievement update requests.", "id": "AchievementUpdateMultipleRequest", "properties": { "kind": { - "default": "games#achievementUpdateMultipleRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateMultipleRequest.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementUpdateMultipleRequest`.", "type": "string" }, "updates": { @@ -1970,12 +1335,10 @@ "type": "object" }, "AchievementUpdateMultipleResponse": { - "description": "This is a JSON template for an achievement unlock response.", "id": "AchievementUpdateMultipleResponse", "properties": { "kind": { - "default": "games#achievementUpdateMultipleResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementUpdateMultipleResponse`.", "type": "string" }, "updatedAchievements": { @@ -1989,7 +1352,7 @@ "type": "object" }, "AchievementUpdateRequest": { - "description": "This is a JSON template for a request to update an achievement.", + "description": "A request to update an achievement.", "id": "AchievementUpdateRequest", "properties": { "achievementId": { @@ -1998,26 +1361,39 @@ }, "incrementPayload": { "$ref": "GamesAchievementIncrement", - "description": "The payload if an update of type INCREMENT was requested for the achievement." + "description": "The payload if an update of type `INCREMENT` was requested for\nthe achievement." }, "kind": { - "default": "games#achievementUpdateRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateRequest.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementUpdateRequest`.", "type": "string" }, "setStepsAtLeastPayload": { "$ref": "GamesAchievementSetStepsAtLeast", - "description": "The payload if an update of type SET_STEPS_AT_LEAST was requested for the achievement." + "description": "The payload if an update of type `SET_STEPS_AT_LEAST` was\nrequested for the achievement." }, "updateType": { - "description": "The type of update being applied.\nPossible values are: \n- \"REVEAL\" - Achievement is revealed. \n- \"UNLOCK\" - Achievement is unlocked. \n- \"INCREMENT\" - Achievement is incremented. \n- \"SET_STEPS_AT_LEAST\" - Achievement progress is set to at least the passed value.", + "description": "The type of update being applied.", + "enum": [ + "ACHIEVEMENT_UPDATE_TYPE_UNSPECIFIED", + "REVEAL", + "UNLOCK", + "INCREMENT", + "SET_STEPS_AT_LEAST" + ], + "enumDescriptions": [ + "Safe default, don't use.", + "Achievement is revealed.", + "Achievement is unlocked.", + "Achievement is incremented.", + "Achievement progress is set to at least the passed value." + ], "type": "string" } }, "type": "object" }, "AchievementUpdateResponse": { - "description": "This is a JSON template for an achievement update response.", + "description": "An updated achievement.", "id": "AchievementUpdateResponse", "properties": { "achievementId": { @@ -2025,7 +1401,19 @@ "type": "string" }, "currentState": { - "description": "The current state of the achievement.\nPossible values are: \n- \"HIDDEN\" - Achievement is hidden. \n- \"REVEALED\" - Achievement is revealed. \n- \"UNLOCKED\" - Achievement is unlocked.", + "description": "The current state of the achievement.", + "enum": [ + "UPDATED_ACHIEVEMENT_STATE_UNSPECIFIED", + "HIDDEN", + "REVEALED", + "UNLOCKED" + ], + "enumDescriptions": [ + "Safe default, don't use.", + "Achievement is hidden.", + "Achievement is revealed.", + "Achievement is unlocked." + ], "type": "string" }, "currentSteps": { @@ -2034,12 +1422,11 @@ "type": "integer" }, "kind": { - "default": "games#achievementUpdateResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#achievementUpdateResponse`.", "type": "string" }, "newlyUnlocked": { - "description": "Whether this achievement was newly unlocked (that is, whether the unlock request for the achievement was the first for the player).", + "description": "Whether this achievement was newly unlocked (that is, whether the unlock\nrequest for the achievement was the first for the player).", "type": "boolean" }, "updateOccurred": { @@ -2049,60 +1436,8 @@ }, "type": "object" }, - "AggregateStats": { - "description": "This is a JSON template for aggregate stats.", - "id": "AggregateStats", - "properties": { - "count": { - "description": "The number of messages sent between a pair of peers.", - "format": "int64", - "type": "string" - }, - "kind": { - "default": "games#aggregateStats", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.", - "type": "string" - }, - "max": { - "description": "The maximum amount.", - "format": "int64", - "type": "string" - }, - "min": { - "description": "The minimum amount.", - "format": "int64", - "type": "string" - }, - "sum": { - "description": "The total number of bytes sent for messages between a pair of peers.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AnonymousPlayer": { - "description": "This is a JSON template for an anonymous player", - "id": "AnonymousPlayer", - "properties": { - "avatarImageUrl": { - "description": "The base URL for the image to display for the anonymous player.", - "type": "string" - }, - "displayName": { - "description": "The name to display for the anonymous player.", - "type": "string" - }, - "kind": { - "default": "games#anonymousPlayer", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.", - "type": "string" - } - }, - "type": "object" - }, "Application": { - "description": "This is a JSON template for the Application resource.", + "description": "The Application resource.", "id": "Application", "properties": { "achievement_count": { @@ -2130,8 +1465,16 @@ "type": "string" }, "enabledFeatures": { - "description": "A list of features that have been enabled for the application.\nPossible values are: \n- \"SNAPSHOTS\" - Snapshots has been enabled", + "description": "A list of features that have been enabled for the application.", + "enumDescriptions": [ + "Safe default, don't use.", + "Saved Games (snapshots)." + ], "items": { + "enum": [ + "APPLICATION_FEATURE_UNSPECIFIED", + "SNAPSHOTS" + ], "type": "string" }, "type": "array" @@ -2148,8 +1491,7 @@ "type": "array" }, "kind": { - "default": "games#application", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#application.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#application`.", "type": "string" }, "lastUpdatedTimestamp": { @@ -2167,19 +1509,18 @@ "type": "string" }, "themeColor": { - "description": "A hint to the client UI for what color to use as an app-themed color. The color is given as an RGB triplet (e.g. \"E0E0E0\").", + "description": "A hint to the client UI for what color to use as an app-themed color. The\ncolor is given as an RGB triplet (e.g. \"E0E0E0\").", "type": "string" } }, "type": "object" }, "ApplicationCategory": { - "description": "This is a JSON template for an application category object.", + "description": "An application category object.", "id": "ApplicationCategory", "properties": { "kind": { - "default": "games#applicationCategory", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#applicationCategory.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#applicationCategory`.", "type": "string" }, "primary": { @@ -2194,16 +1535,15 @@ "type": "object" }, "ApplicationVerifyResponse": { - "description": "This is a JSON template for a third party application verification response resource.", + "description": "A third party application verification response resource.", "id": "ApplicationVerifyResponse", "properties": { "alternate_player_id": { - "description": "An alternate ID that was once used for the player that was issued the auth token used in this request. (This field is not normally populated.)", + "description": "An alternate ID that was once used for the player that was issued the auth\ntoken used in this request. (This field is not normally populated.)", "type": "string" }, "kind": { - "default": "games#applicationVerifyResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#applicationVerifyResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#applicationVerifyResponse`.", "type": "string" }, "player_id": { @@ -2214,7 +1554,7 @@ "type": "object" }, "Category": { - "description": "This is a JSON template for data related to individual game categories.", + "description": "Data related to individual game categories.", "id": "Category", "properties": { "category": { @@ -2227,15 +1567,14 @@ "type": "string" }, "kind": { - "default": "games#category", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#category.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#category`.", "type": "string" } }, "type": "object" }, "CategoryListResponse": { - "description": "This is a JSON template for a list of category data objects.", + "description": "A third party list metagame categories response.", "id": "CategoryListResponse", "properties": { "items": { @@ -2246,8 +1585,7 @@ "type": "array" }, "kind": { - "default": "games#categoryListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#categoryListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#categoryListResponse`.", "type": "string" }, "nextPageToken": { @@ -2258,16 +1596,33 @@ "type": "object" }, "EventBatchRecordFailure": { - "description": "This is a JSON template for a batch update failure resource.", + "description": "A batch update failure resource.", "id": "EventBatchRecordFailure", "properties": { "failureCause": { - "description": "The cause for the update failure.\nPossible values are: \n- \"TOO_LARGE\": A batch request was issued with more events than are allowed in a single batch. \n- \"TIME_PERIOD_EXPIRED\": A batch was sent with data too far in the past to record. \n- \"TIME_PERIOD_SHORT\": A batch was sent with a time range that was too short. \n- \"TIME_PERIOD_LONG\": A batch was sent with a time range that was too long. \n- \"ALREADY_UPDATED\": An attempt was made to record a batch of data which was already seen. \n- \"RECORD_RATE_HIGH\": An attempt was made to record data faster than the server will apply updates.", + "description": "The cause for the update failure.", + "enum": [ + "EVENT_FAILURE_CAUSE_UNSPECIFIED", + "TOO_LARGE", + "TIME_PERIOD_EXPIRED", + "TIME_PERIOD_SHORT", + "TIME_PERIOD_LONG", + "ALREADY_UPDATED", + "RECORD_RATE_HIGH" + ], + "enumDescriptions": [ + "Default value. Should not be used.", + "A batch request was issued with more events than are allowed in\na single batch.", + "A batch was sent with data too far in the past to record.", + "A batch was sent with a time range that was too short.", + "A batch was sent with a time range that was too long.", + "An attempt was made to record a batch of data which was already seen.", + "An attempt was made to record data faster than the server\nwill apply updates." + ], "type": "string" }, "kind": { - "default": "games#eventBatchRecordFailure", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventBatchRecordFailure.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventBatchRecordFailure`.", "type": "string" }, "range": { @@ -2278,7 +1633,7 @@ "type": "object" }, "EventChild": { - "description": "This is a JSON template for an event child relationship resource.", + "description": "An event child relationship resource.", "id": "EventChild", "properties": { "childId": { @@ -2286,15 +1641,14 @@ "type": "string" }, "kind": { - "default": "games#eventChild", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventChild.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventChild`.", "type": "string" } }, "type": "object" }, "EventDefinition": { - "description": "This is a JSON template for an event definition resource.", + "description": "An event definition resource.", "id": "EventDefinition", "properties": { "childEvents": { @@ -2321,23 +1675,32 @@ "type": "string" }, "isDefaultImageUrl": { - "description": "Indicates whether the icon image being returned is a default image, or is game-provided.", + "description": "Indicates whether the icon image being returned is a default image, or is\ngame-provided.", "type": "boolean" }, "kind": { - "default": "games#eventDefinition", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventDefinition.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventDefinition`.", "type": "string" }, "visibility": { - "description": "The visibility of event being tracked in this definition.\nPossible values are: \n- \"REVEALED\": This event should be visible to all users. \n- \"HIDDEN\": This event should only be shown to users that have recorded this event at least once.", + "description": "The visibility of event being tracked in this definition.", + "enum": [ + "EVENT_VISIBILITY_UNSPECIFIED", + "REVEALED", + "HIDDEN" + ], + "enumDescriptions": [ + "Default value. Should not be used.", + "This event should be visible to all users.", + "This event should only be shown to users that have recorded this event\nat least once." + ], "type": "string" } }, "type": "object" }, "EventDefinitionListResponse": { - "description": "This is a JSON template for a ListDefinitions response.", + "description": "A ListDefinitions response.", "id": "EventDefinitionListResponse", "properties": { "items": { @@ -2348,8 +1711,7 @@ "type": "array" }, "kind": { - "default": "games#eventDefinitionListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventDefinitionListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventDefinitionListResponse`.", "type": "string" }, "nextPageToken": { @@ -2360,21 +1722,20 @@ "type": "object" }, "EventPeriodRange": { - "description": "This is a JSON template for an event period time range.", + "description": "An event period time range.", "id": "EventPeriodRange", "properties": { "kind": { - "default": "games#eventPeriodRange", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventPeriodRange.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventPeriodRange`.", "type": "string" }, "periodEndMillis": { - "description": "The time when this update period ends, in millis, since 1970 UTC (Unix Epoch).", + "description": "The time when this update period ends, in millis, since 1970 UTC (Unix\nEpoch).", "format": "int64", "type": "string" }, "periodStartMillis": { - "description": "The time when this update period begins, in millis, since 1970 UTC (Unix Epoch).", + "description": "The time when this update period begins, in millis, since 1970 UTC (Unix\nEpoch).", "format": "int64", "type": "string" } @@ -2382,12 +1743,11 @@ "type": "object" }, "EventPeriodUpdate": { - "description": "This is a JSON template for an event period update resource.", + "description": "An event period update resource.", "id": "EventPeriodUpdate", "properties": { "kind": { - "default": "games#eventPeriodUpdate", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventPeriodUpdate.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventPeriodUpdate`.", "type": "string" }, "timePeriod": { @@ -2405,7 +1765,7 @@ "type": "object" }, "EventRecordFailure": { - "description": "This is a JSON template for an event update failure resource.", + "description": "An event update failure resource.", "id": "EventRecordFailure", "properties": { "eventId": { @@ -2413,29 +1773,37 @@ "type": "string" }, "failureCause": { - "description": "The cause for the update failure.\nPossible values are: \n- \"NOT_FOUND\" - An attempt was made to set an event that was not defined. \n- \"INVALID_UPDATE_VALUE\" - An attempt was made to increment an event by a non-positive value.", + "description": "The cause for the update failure.", + "enum": [ + "EVENT_UPDATE_FAILURE_CAUSE_UNSPECIFIED", + "NOT_FOUND", + "INVALID_UPDATE_VALUE" + ], + "enumDescriptions": [ + "Default value. Should not use.", + "An attempt was made to set an event that was not defined.", + "An attempt was made to increment an event by a non-positive value." + ], "type": "string" }, "kind": { - "default": "games#eventRecordFailure", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventRecordFailure.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventRecordFailure`.", "type": "string" } }, "type": "object" }, "EventRecordRequest": { - "description": "This is a JSON template for an event period update resource.", + "description": "An event period update resource.", "id": "EventRecordRequest", "properties": { "currentTimeMillis": { - "description": "The current time when this update was sent, in milliseconds, since 1970 UTC (Unix Epoch).", + "description": "The current time when this update was sent, in milliseconds, since 1970 UTC\n(Unix Epoch).", "format": "int64", "type": "string" }, "kind": { - "default": "games#eventRecordRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventRecordRequest.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventRecordRequest`.", "type": "string" }, "requestId": { @@ -2454,7 +1822,7 @@ "type": "object" }, "EventUpdateRequest": { - "description": "This is a JSON template for an event period update resource.", + "description": "An event period update resource.", "id": "EventUpdateRequest", "properties": { "definitionId": { @@ -2462,8 +1830,7 @@ "type": "string" }, "kind": { - "default": "games#eventUpdateRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventUpdateRequest.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventUpdateRequest`.", "type": "string" }, "updateCount": { @@ -2475,7 +1842,7 @@ "type": "object" }, "EventUpdateResponse": { - "description": "This is a JSON template for an event period update resource.", + "description": "An event period update resource.", "id": "EventUpdateResponse", "properties": { "batchFailures": { @@ -2493,8 +1860,7 @@ "type": "array" }, "kind": { - "default": "games#eventUpdateResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#eventUpdateResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#eventUpdateResponse`.", "type": "string" }, "playerEvents": { @@ -2508,12 +1874,11 @@ "type": "object" }, "GamesAchievementIncrement": { - "description": "This is a JSON template for the payload to request to increment an achievement.", + "description": "The payload to request to increment an\nachievement.", "id": "GamesAchievementIncrement", "properties": { "kind": { - "default": "games#GamesAchievementIncrement", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#GamesAchievementIncrement.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#GamesAchievementIncrement`.", "type": "string" }, "requestId": { @@ -2530,12 +1895,11 @@ "type": "object" }, "GamesAchievementSetStepsAtLeast": { - "description": "This is a JSON template for the payload to request to increment an achievement.", + "description": "The payload to request to increment an\nachievement.", "id": "GamesAchievementSetStepsAtLeast", "properties": { "kind": { - "default": "games#GamesAchievementSetStepsAtLeast", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#GamesAchievementSetStepsAtLeast.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#GamesAchievementSetStepsAtLeast`.", "type": "string" }, "steps": { @@ -2547,7 +1911,7 @@ "type": "object" }, "ImageAsset": { - "description": "This is a JSON template for an image asset object.", + "description": "An image asset object.", "id": "ImageAsset", "properties": { "height": { @@ -2556,8 +1920,7 @@ "type": "integer" }, "kind": { - "default": "games#imageAsset", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#imageAsset.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#imageAsset`.", "type": "string" }, "name": { @@ -2577,7 +1940,7 @@ "type": "object" }, "Instance": { - "description": "This is a JSON template for the Instance resource.", + "description": "The Instance resource.", "id": "Instance", "properties": { "acquisitionUri": { @@ -2593,8 +1956,7 @@ "description": "Platform dependent details for iOS." }, "kind": { - "default": "games#instance", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#instance.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#instance`.", "type": "string" }, "name": { @@ -2602,7 +1964,19 @@ "type": "string" }, "platformType": { - "description": "The platform type.\nPossible values are: \n- \"ANDROID\" - Instance is for Android. \n- \"IOS\" - Instance is for iOS \n- \"WEB_APP\" - Instance is for Web App.", + "description": "The platform type.", + "enum": [ + "PLATFORM_TYPE_UNSPECIFIED", + "ANDROID", + "IOS", + "WEB_APP" + ], + "enumDescriptions": [ + "Default value. Should be unused.", + "Instance is for Android.", + "Instance is for iOS.", + "Instance is for Web App." + ], "type": "string" }, "realtimePlay": { @@ -2621,7 +1995,7 @@ "type": "object" }, "InstanceAndroidDetails": { - "description": "This is a JSON template for the Android instance details resource.", + "description": "The Android instance details resource.", "id": "InstanceAndroidDetails", "properties": { "enablePiracyCheck": { @@ -2629,8 +2003,7 @@ "type": "boolean" }, "kind": { - "default": "games#instanceAndroidDetails", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#instanceAndroidDetails.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#instanceAndroidDetails`.", "type": "string" }, "packageName": { @@ -2645,7 +2018,7 @@ "type": "object" }, "InstanceIosDetails": { - "description": "This is a JSON template for the iOS details resource.", + "description": "The iOS details resource.", "id": "InstanceIosDetails", "properties": { "bundleIdentifier": { @@ -2657,16 +2030,15 @@ "type": "string" }, "kind": { - "default": "games#instanceIosDetails", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#instanceIosDetails.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#instanceIosDetails`.", "type": "string" }, "preferredForIpad": { - "description": "Indicates that this instance is the default for new installations on iPad devices.", + "description": "Indicates that this instance is the default for new installations on iPad\ndevices.", "type": "boolean" }, "preferredForIphone": { - "description": "Indicates that this instance is the default for new installations on iPhone devices.", + "description": "Indicates that this instance is the default for new installations on iPhone\ndevices.", "type": "boolean" }, "supportIpad": { @@ -2681,12 +2053,11 @@ "type": "object" }, "InstanceWebDetails": { - "description": "This is a JSON template for the Web details resource.", + "description": "The Web details resource.", "id": "InstanceWebDetails", "properties": { "kind": { - "default": "games#instanceWebDetails", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#instanceWebDetails.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#instanceWebDetails`.", "type": "string" }, "launchUrl": { @@ -2701,7 +2072,7 @@ "type": "object" }, "Leaderboard": { - "description": "This is a JSON template for the Leaderboard resource.", + "description": "The Leaderboard resource.", "id": "Leaderboard", "properties": { "iconUrl": { @@ -2713,12 +2084,11 @@ "type": "string" }, "isIconUrlDefault": { - "description": "Indicates whether the icon image being returned is a default image, or is game-provided.", + "description": "Indicates whether the icon image being returned is a default image, or is\ngame-provided.", "type": "boolean" }, "kind": { - "default": "games#leaderboard", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboard.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#leaderboard`.", "type": "string" }, "name": { @@ -2726,14 +2096,24 @@ "type": "string" }, "order": { - "description": "How scores are ordered.\nPossible values are: \n- \"LARGER_IS_BETTER\" - Larger values are better; scores are sorted in descending order. \n- \"SMALLER_IS_BETTER\" - Smaller values are better; scores are sorted in ascending order.", + "description": "How scores are ordered.", + "enum": [ + "SCORE_ORDER_UNSPECIFIED", + "LARGER_IS_BETTER", + "SMALLER_IS_BETTER" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Larger values are better; scores are sorted in descending order", + "Smaller values are better; scores are sorted in ascending order" + ], "type": "string" } }, "type": "object" }, "LeaderboardEntry": { - "description": "This is a JSON template for the Leaderboard Entry resource.", + "description": "The Leaderboard Entry resource.", "id": "LeaderboardEntry", "properties": { "formattedScore": { @@ -2745,8 +2125,7 @@ "type": "string" }, "kind": { - "default": "games#leaderboardEntry", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#leaderboardEntry`.", "type": "string" }, "player": { @@ -2759,7 +2138,7 @@ "type": "string" }, "scoreTag": { - "description": "Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.", + "description": "Additional information about the score. Values must contain no more than\n64 URI-safe characters as defined by section 2.3 of RFC 3986.", "type": "string" }, "scoreValue": { @@ -2768,11 +2147,23 @@ "type": "string" }, "timeSpan": { - "description": "The time span of this high score.\nPossible values are: \n- \"ALL_TIME\" - The score is an all-time high score. \n- \"WEEKLY\" - The score is a weekly high score. \n- \"DAILY\" - The score is a daily high score.", + "description": "The time span of this high score.", + "enum": [ + "SCORE_TIME_SPAN_UNSPECIFIED", + "ALL_TIME", + "WEEKLY", + "DAILY" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The score is an all-time score.", + "The score is a weekly score.", + "The score is a daily score." + ], "type": "string" }, "writeTimestampMillis": { - "description": "The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.", + "description": "The timestamp at which this score was recorded, in milliseconds since the\nepoch in UTC.", "format": "int64", "type": "string" } @@ -2780,7 +2171,7 @@ "type": "object" }, "LeaderboardListResponse": { - "description": "This is a JSON template for a list of leaderboard objects.", + "description": "A list of leaderboard objects.", "id": "LeaderboardListResponse", "properties": { "items": { @@ -2791,8 +2182,7 @@ "type": "array" }, "kind": { - "default": "games#leaderboardListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#leaderboardListResponse`.", "type": "string" }, "nextPageToken": { @@ -2803,7 +2193,7 @@ "type": "object" }, "LeaderboardScoreRank": { - "description": "This is a JSON template for a score rank in a leaderboard.", + "description": "A score rank in a leaderboard.", "id": "LeaderboardScoreRank", "properties": { "formattedNumScores": { @@ -2815,8 +2205,7 @@ "type": "string" }, "kind": { - "default": "games#leaderboardScoreRank", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScoreRank.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#leaderboardScoreRank`.", "type": "string" }, "numScores": { @@ -2833,7 +2222,7 @@ "type": "object" }, "LeaderboardScores": { - "description": "This is a JSON template for a ListScores response.", + "description": "A ListScores response.", "id": "LeaderboardScores", "properties": { "items": { @@ -2844,8 +2233,7 @@ "type": "array" }, "kind": { - "default": "games#leaderboardScores", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScores.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#leaderboardScores`.", "type": "string" }, "nextPageToken": { @@ -2859,7 +2247,7 @@ }, "playerScore": { "$ref": "LeaderboardEntry", - "description": "The score of the requesting player on the leaderboard. The player's score may appear both here and in the list of scores above. If you are viewing a public leaderboard and the player is not sharing their gameplay information publicly, the scoreRank and formattedScoreRank values will not be present." + "description": "The score of the requesting player on the leaderboard. The player's score\nmay appear both here and in the list of scores above. If you are viewing a\npublic leaderboard and the player is not sharing their gameplay information\npublicly, the `scoreRank`and `formattedScoreRank`\nvalues will not be present." }, "prevPageToken": { "description": "The pagination token for the previous page of results.", @@ -2869,17 +2257,16 @@ "type": "object" }, "MetagameConfig": { - "description": "This is a JSON template for the metagame config resource", + "description": "The metagame config resource", "id": "MetagameConfig", "properties": { "currentVersion": { - "description": "Current version of the metagame configuration data. When this data is updated, the version number will be increased by one.", + "description": "Current version of the metagame configuration data. When this data is\nupdated, the version number will be increased by one.", "format": "int32", "type": "integer" }, "kind": { - "default": "games#metagameConfig", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#metagameConfig.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#metagameConfig`.", "type": "string" }, "playerLevels": { @@ -2892,167 +2279,8 @@ }, "type": "object" }, - "NetworkDiagnostics": { - "description": "This is a JSON template for network diagnostics reported for a client.", - "id": "NetworkDiagnostics", - "properties": { - "androidNetworkSubtype": { - "description": "The Android network subtype.", - "format": "int32", - "type": "integer" - }, - "androidNetworkType": { - "description": "The Android network type.", - "format": "int32", - "type": "integer" - }, - "iosNetworkType": { - "description": "iOS network type as defined in Reachability.h.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "games#networkDiagnostics", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#networkDiagnostics.", - "type": "string" - }, - "networkOperatorCode": { - "description": "The MCC+MNC code for the client's network connection. On Android: http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperator() On iOS, see: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html", - "type": "string" - }, - "networkOperatorName": { - "description": "The name of the carrier of the client's network connection. On Android: http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName() On iOS: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/occ/instp/CTCarrier/carrierName", - "type": "string" - }, - "registrationLatencyMillis": { - "description": "The amount of time in milliseconds it took for the client to establish a connection with the XMPP server.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ParticipantResult": { - "description": "This is a JSON template for a result for a match participant.", - "id": "ParticipantResult", - "properties": { - "kind": { - "default": "games#participantResult", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.", - "type": "string" - }, - "participantId": { - "description": "The ID of the participant.", - "type": "string" - }, - "placing": { - "description": "The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.", - "format": "int32", - "type": "integer" - }, - "result": { - "description": "The result of the participant for this match.\nPossible values are: \n- \"MATCH_RESULT_WIN\" - The participant won the match. \n- \"MATCH_RESULT_LOSS\" - The participant lost the match. \n- \"MATCH_RESULT_TIE\" - The participant tied the match. \n- \"MATCH_RESULT_NONE\" - There was no winner for the match (nobody wins or loses this kind of game.) \n- \"MATCH_RESULT_DISCONNECT\" - The participant disconnected / left during the match. \n- \"MATCH_RESULT_DISAGREED\" - Different clients reported different results for this participant.", - "type": "string" - } - }, - "type": "object" - }, - "PeerChannelDiagnostics": { - "description": "This is a JSON template for peer channel diagnostics.", - "id": "PeerChannelDiagnostics", - "properties": { - "bytesReceived": { - "$ref": "AggregateStats", - "description": "Number of bytes received." - }, - "bytesSent": { - "$ref": "AggregateStats", - "description": "Number of bytes sent." - }, - "kind": { - "default": "games#peerChannelDiagnostics", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#peerChannelDiagnostics.", - "type": "string" - }, - "numMessagesLost": { - "description": "Number of messages lost.", - "format": "int32", - "type": "integer" - }, - "numMessagesReceived": { - "description": "Number of messages received.", - "format": "int32", - "type": "integer" - }, - "numMessagesSent": { - "description": "Number of messages sent.", - "format": "int32", - "type": "integer" - }, - "numSendFailures": { - "description": "Number of send failures.", - "format": "int32", - "type": "integer" - }, - "roundtripLatencyMillis": { - "$ref": "AggregateStats", - "description": "Roundtrip latency stats in milliseconds." - } - }, - "type": "object" - }, - "PeerSessionDiagnostics": { - "description": "This is a JSON template for peer session diagnostics.", - "id": "PeerSessionDiagnostics", - "properties": { - "connectedTimestampMillis": { - "description": "Connected time in milliseconds.", - "format": "int64", - "type": "string" - }, - "kind": { - "default": "games#peerSessionDiagnostics", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#peerSessionDiagnostics.", - "type": "string" - }, - "participantId": { - "description": "The participant ID of the peer.", - "type": "string" - }, - "reliableChannel": { - "$ref": "PeerChannelDiagnostics", - "description": "Reliable channel diagnostics." - }, - "unreliableChannel": { - "$ref": "PeerChannelDiagnostics", - "description": "Unreliable channel diagnostics." - } - }, - "type": "object" - }, - "Played": { - "description": "This is a JSON template for metadata about a player playing a game with the currently authenticated user.", - "id": "Played", - "properties": { - "autoMatched": { - "description": "True if the player was auto-matched with the currently authenticated user.", - "type": "boolean" - }, - "kind": { - "default": "games#played", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#played.", - "type": "string" - }, - "timeMillis": { - "description": "The last time the player played the game in milliseconds since the epoch in UTC.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "Player": { - "description": "This is a JSON template for a Player resource.", + "description": "A Player resource.", "id": "Player", "properties": { "avatarImageUrl": { @@ -3076,46 +2304,48 @@ "description": "An object to represent Play Game experience information for the player." }, "friendStatus": { - "description": "The friend status of the given player, relative to the requester. This is unset if the player is not sharing their friends list with the game.", + "description": "The friend status of the given player, relative to the requester. This is\nunset if the player is not sharing their friends list with the game.", + "enum": [ + "FRIEND_STATUS_UNSPECIFIED", + "NO_RELATIONSHIP", + "FRIEND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "There is no relationship between the players.", + "The player and requester are friends." + ], "type": "string" }, "kind": { - "default": "games#player", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#player.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#player`", "type": "string" }, - "lastPlayedWith": { - "$ref": "Played", - "description": "Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members." - }, "name": { - "description": "An object representation of the individual components of the player's name. For some players, these fields may not be present.", + "description": "A representation of the individual components of the name.", "properties": { "familyName": { - "description": "The family name of this player. In some places, this is known as the last name.", + "description": "The family name of this player. In some places, this is known as the last\nname.", "type": "string" }, "givenName": { - "description": "The given name of this player. In some places, this is known as the first name.", + "description": "The given name of this player. In some places, this is known as the first\nname.", "type": "string" } }, "type": "object" }, "originalPlayerId": { - "description": "The player ID that was used for this player the first time they signed into the game in question. This is only populated for calls to player.get for the requesting player, only if the player ID has subsequently changed, and only to clients that support remapping player IDs.", + "description": "The player ID that was used for this player the first time they signed into\nthe game in question. This is only populated for calls to player.get for\nthe requesting player, only if the player ID has subsequently changed, and\nonly to clients that support remapping player IDs.", "type": "string" }, "playerId": { "description": "The ID of the player.", "type": "string" }, - "playerStattus": { - "type": "string" - }, "profileSettings": { "$ref": "ProfileSettings", - "description": "The player's profile settings. Controls whether or not the player's profile is visible to other players." + "description": "The player's profile settings. Controls whether or not the player's profile\nis visible to other players." }, "title": { "description": "The player's title rewarded for their game activities.", @@ -3125,11 +2355,23 @@ "type": "object" }, "PlayerAchievement": { - "description": "This is a JSON template for an achievement object.", + "description": "An achievement object.", "id": "PlayerAchievement", "properties": { "achievementState": { - "description": "The state of the achievement.\nPossible values are: \n- \"HIDDEN\" - Achievement is hidden. \n- \"REVEALED\" - Achievement is revealed. \n- \"UNLOCKED\" - Achievement is unlocked.", + "description": "The state of the achievement.", + "enum": [ + "STATE_UNSPECIFIED", + "HIDDEN", + "REVEALED", + "UNLOCKED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Achievement is hidden.", + "Achievement is revealed.", + "Achievement is unlocked." + ], "type": "string" }, "currentSteps": { @@ -3138,7 +2380,7 @@ "type": "integer" }, "experiencePoints": { - "description": "Experience points earned for the achievement. This field is absent for achievements that have not yet been unlocked and 0 for achievements that have been unlocked by testers but that are unpublished.", + "description": "Experience points earned for the achievement. This field is absent for\nachievements that have not yet been unlocked and 0 for achievements that\nhave been unlocked by testers but that are unpublished.", "format": "int64", "type": "string" }, @@ -3151,8 +2393,7 @@ "type": "string" }, "kind": { - "default": "games#playerAchievement", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerAchievement.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerAchievement`.", "type": "string" }, "lastUpdatedTimestamp": { @@ -3164,7 +2405,7 @@ "type": "object" }, "PlayerAchievementListResponse": { - "description": "This is a JSON template for a list of achievement objects.", + "description": "A list of achievement objects.", "id": "PlayerAchievementListResponse", "properties": { "items": { @@ -3175,8 +2416,7 @@ "type": "array" }, "kind": { - "default": "games#playerAchievementListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerAchievementListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerAchievementListResponse`.", "type": "string" }, "nextPageToken": { @@ -3187,7 +2427,7 @@ "type": "object" }, "PlayerEvent": { - "description": "This is a JSON template for an event status resource.", + "description": "An event status resource.", "id": "PlayerEvent", "properties": { "definitionId": { @@ -3195,12 +2435,11 @@ "type": "string" }, "formattedNumEvents": { - "description": "The current number of times this event has occurred, as a string. The formatting of this string depends on the configuration of your event in the Play Games Developer Console.", + "description": "The current number of times this event has occurred, as a string. The\nformatting of this string depends on the configuration of your event in the\nPlay Games Developer Console.", "type": "string" }, "kind": { - "default": "games#playerEvent", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerEvent.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerEvent`.", "type": "string" }, "numEvents": { @@ -3216,7 +2455,7 @@ "type": "object" }, "PlayerEventListResponse": { - "description": "This is a JSON template for a ListByPlayer response.", + "description": "A ListByPlayer response.", "id": "PlayerEventListResponse", "properties": { "items": { @@ -3227,8 +2466,7 @@ "type": "array" }, "kind": { - "default": "games#playerEventListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerEventListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerEventListResponse`.", "type": "string" }, "nextPageToken": { @@ -3239,7 +2477,7 @@ "type": "object" }, "PlayerExperienceInfo": { - "description": "This is a JSON template for 1P/3P metadata about the player's experience.", + "description": "1P/3P metadata about the player's experience.", "id": "PlayerExperienceInfo", "properties": { "currentExperiencePoints": { @@ -3252,29 +2490,27 @@ "description": "The current level of the player." }, "kind": { - "default": "games#playerExperienceInfo", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerExperienceInfo.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerExperienceInfo`.", "type": "string" }, "lastLevelUpTimestampMillis": { - "description": "The timestamp when the player was leveled up, in millis since Unix epoch UTC.", + "description": "The timestamp when the player was leveled up, in millis since Unix epoch\nUTC.", "format": "int64", "type": "string" }, "nextLevel": { "$ref": "PlayerLevel", - "description": "The next level of the player. If the current level is the maximum level, this should be same as the current level." + "description": "The next level of the player. If the current level is the maximum level,\nthis should be same as the current level." } }, "type": "object" }, "PlayerLeaderboardScore": { - "description": "This is a JSON template for a player leaderboard score object.", + "description": "A player leaderboard score object.", "id": "PlayerLeaderboardScore", "properties": { "kind": { - "default": "games#playerLeaderboardScore", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerLeaderboardScore.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerLeaderboardScore`.", "type": "string" }, "leaderboard_id": { @@ -3283,14 +2519,14 @@ }, "publicRank": { "$ref": "LeaderboardScoreRank", - "description": "The public rank of the score in this leaderboard. This object will not be present if the user is not sharing their scores publicly." + "description": "The public rank of the score in this leaderboard. This object will not be\npresent if the user is not sharing their scores publicly." }, "scoreString": { "description": "The formatted value of this score.", "type": "string" }, "scoreTag": { - "description": "Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.", + "description": "Additional information about the score. Values must contain no more than\n64 URI-safe characters as defined by section 2.3 of RFC 3986.", "type": "string" }, "scoreValue": { @@ -3303,11 +2539,23 @@ "description": "The social rank of the score in this leaderboard." }, "timeSpan": { - "description": "The time span of this score.\nPossible values are: \n- \"ALL_TIME\" - The score is an all-time score. \n- \"WEEKLY\" - The score is a weekly score. \n- \"DAILY\" - The score is a daily score.", + "description": "The time span of this score.", + "enum": [ + "SCORE_TIME_SPAN_UNSPECIFIED", + "ALL_TIME", + "WEEKLY", + "DAILY" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The score is an all-time score.", + "The score is a weekly score.", + "The score is a daily score." + ], "type": "string" }, "writeTimestamp": { - "description": "The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.", + "description": "The timestamp at which this score was recorded, in milliseconds since the\nepoch in UTC.", "format": "int64", "type": "string" } @@ -3315,7 +2563,7 @@ "type": "object" }, "PlayerLeaderboardScoreListResponse": { - "description": "This is a JSON template for a list of player leaderboard scores.", + "description": "A list of player leaderboard scores.", "id": "PlayerLeaderboardScoreListResponse", "properties": { "items": { @@ -3326,8 +2574,7 @@ "type": "array" }, "kind": { - "default": "games#playerLeaderboardScoreListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerLeaderboardScoreListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerLeaderboardScoreListResponse`.", "type": "string" }, "nextPageToken": { @@ -3342,12 +2589,11 @@ "type": "object" }, "PlayerLevel": { - "description": "This is a JSON template for 1P/3P metadata about a user's level.", + "description": "1P/3P metadata about a user's level.", "id": "PlayerLevel", "properties": { "kind": { - "default": "games#playerLevel", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerLevel.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerLevel`.", "type": "string" }, "level": { @@ -3369,7 +2615,7 @@ "type": "object" }, "PlayerListResponse": { - "description": "This is a JSON template for a third party player list response.", + "description": "A third party player list response.", "id": "PlayerListResponse", "properties": { "items": { @@ -3380,8 +2626,7 @@ "type": "array" }, "kind": { - "default": "games#playerListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerListResponse`.", "type": "string" }, "nextPageToken": { @@ -3392,7 +2637,7 @@ "type": "object" }, "PlayerScore": { - "description": "This is a JSON template for a player score.", + "description": "A player score.", "id": "PlayerScore", "properties": { "formattedScore": { @@ -3400,8 +2645,7 @@ "type": "string" }, "kind": { - "default": "games#playerScore", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerScore.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerScore`.", "type": "string" }, "score": { @@ -3410,23 +2654,34 @@ "type": "string" }, "scoreTag": { - "description": "Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.", + "description": "Additional information about this score. Values will contain no more than\n64 URI-safe characters as defined by section 2.3 of RFC 3986.", "type": "string" }, "timeSpan": { - "description": "The time span for this player score.\nPossible values are: \n- \"ALL_TIME\" - The score is an all-time score. \n- \"WEEKLY\" - The score is a weekly score. \n- \"DAILY\" - The score is a daily score.", + "description": "The time span for this player score.", + "enum": [ + "SCORE_TIME_SPAN_UNSPECIFIED", + "ALL_TIME", + "WEEKLY", + "DAILY" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The score is an all-time score.", + "The score is a weekly score.", + "The score is a daily score." + ], "type": "string" } }, "type": "object" }, "PlayerScoreListResponse": { - "description": "This is a JSON template for a list of score submission statuses.", + "description": "A list of score submission statuses.", "id": "PlayerScoreListResponse", "properties": { "kind": { - "default": "games#playerScoreListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerScoreListResponse`.", "type": "string" }, "submittedScores": { @@ -3440,12 +2695,24 @@ "type": "object" }, "PlayerScoreResponse": { - "description": "This is a JSON template for a list of leaderboard entry resources.", + "description": "A list of leaderboard entry resources.", "id": "PlayerScoreResponse", "properties": { "beatenScoreTimeSpans": { - "description": "The time spans where the submitted score is better than the existing score for that time span.\nPossible values are: \n- \"ALL_TIME\" - The score is an all-time score. \n- \"WEEKLY\" - The score is a weekly score. \n- \"DAILY\" - The score is a daily score.", + "description": "The time spans where the submitted score is better than the existing score\nfor that time span.", + "enumDescriptions": [ + "Default value. This value is unused.", + "The score is an all-time score.", + "The score is a weekly score.", + "The score is a daily score." + ], "items": { + "enum": [ + "SCORE_TIME_SPAN_UNSPECIFIED", + "ALL_TIME", + "WEEKLY", + "DAILY" + ], "type": "string" }, "type": "array" @@ -3455,8 +2722,7 @@ "type": "string" }, "kind": { - "default": "games#playerScoreResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerScoreResponse`.", "type": "string" }, "leaderboardId": { @@ -3464,11 +2730,11 @@ "type": "string" }, "scoreTag": { - "description": "Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.", + "description": "Additional information about this score. Values will contain no more than\n64 URI-safe characters as defined by section 2.3 of RFC 3986.", "type": "string" }, "unbeatenScores": { - "description": "The scores in time spans that have not been beaten. As an example, the submitted score may be better than the player's DAILY score, but not better than the player's scores for the WEEKLY or ALL_TIME time spans.", + "description": "The scores in time spans that have not been beaten. As an example, the\nsubmitted score may be better than the\nplayer's `DAILY` score, but not better than the player's scores\nfor the `WEEKLY` or `ALL_TIME` time spans.", "items": { "$ref": "PlayerScore" }, @@ -3478,12 +2744,11 @@ "type": "object" }, "PlayerScoreSubmissionList": { - "description": "This is a JSON template for a list of score submission requests", + "description": "A list of score submission requests.", "id": "PlayerScoreSubmissionList", "properties": { "kind": { - "default": "games#playerScoreSubmissionList", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreSubmissionList.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#playerScoreSubmissionList`.", "type": "string" }, "scores": { @@ -3497,556 +2762,72 @@ "type": "object" }, "ProfileSettings": { - "description": "This is a JSON template for profile settings", + "description": "Profile settings", "id": "ProfileSettings", "properties": { "friendsListVisibility": { - "description": "Whether the player's friends list is visible to the game.", + "enum": [ + "FRIENDS_LIST_VISIBILITY_UNSPECIFIED", + "VISIBLE", + "REQUEST_REQUIRED", + "UNAVAILABLE" + ], + "enumDescriptions": [ + "Unused.", + "The friends list is currently visible to the game.", + "The developer does not have access to the friends list, but can call the\nAndroid API to show a consent dialog.", + "The friends list is currently unavailable for this user, and it is not\npossible to request access at this time, either because the user has\npermanently declined or the friends feature is not available to them. In\nthis state, any attempts to request access to the friends list will be\nunsuccessful." + ], "type": "string" }, "kind": { - "default": "games#profileSettings", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#profileSettings`.", "type": "string" }, "profileVisible": { + "description": "Whether the player's profile is visible to the currently signed in player.", "type": "boolean" } }, "type": "object" }, - "PushToken": { - "description": "This is a JSON template for a push token resource.", - "id": "PushToken", - "properties": { - "clientRevision": { - "description": "The revision of the client SDK used by your application, in the same format that's used by revisions.check. Used to send backward compatible messages. Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are: \n- IOS - Push token is for iOS", - "type": "string" - }, - "id": { - "$ref": "PushTokenId", - "description": "Unique identifier for this push token." - }, - "kind": { - "default": "games#pushToken", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#pushToken.", - "type": "string" - }, - "language": { - "description": "The preferred language for notifications that are sent using this token.", - "type": "string" - } - }, - "type": "object" - }, - "PushTokenId": { - "description": "This is a JSON template for a push token ID resource.", - "id": "PushTokenId", - "properties": { - "ios": { - "description": "A push token ID for iOS devices.", - "properties": { - "apns_device_token": { - "description": "Device token supplied by an iOS system call to register for remote notifications. Encode this field as web-safe base64.", - "format": "byte", - "type": "string" - }, - "apns_environment": { - "description": "Indicates whether this token should be used for the production or sandbox APNS server.", - "type": "string" - } - }, - "type": "object" - }, - "kind": { - "default": "games#pushTokenId", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#pushTokenId.", - "type": "string" - } - }, - "type": "object" - }, "RevisionCheckResponse": { - "description": "This is a JSON template for the result of checking a revision.", + "description": "A third party checking a revision response.", "id": "RevisionCheckResponse", "properties": { "apiVersion": { - "description": "The version of the API this client revision should use when calling API methods.", + "description": "The version of the API this client revision should use when calling API\nmethods.", "type": "string" }, "kind": { - "default": "games#revisionCheckResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#revisionCheckResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#revisionCheckResponse`.", "type": "string" }, "revisionStatus": { - "description": "The result of the revision check.\nPossible values are: \n- \"OK\" - The revision being used is current. \n- \"DEPRECATED\" - There is currently a newer version available, but the revision being used still works. \n- \"INVALID\" - The revision being used is not supported in any released version.", + "description": "The result of the revision check.", + "enum": [ + "REVISION_STATUS_UNSPECIFIED", + "OK", + "DEPRECATED", + "INVALID" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The revision being used is current.", + "There is currently a newer version available, but the revision being used\nstill works.", + "The revision being used is not supported in any released version." + ], "type": "string" } }, "type": "object" }, - "Room": { - "description": "This is a JSON template for a room resource object.", - "id": "Room", - "properties": { - "applicationId": { - "description": "The ID of the application being played.", - "type": "string" - }, - "autoMatchingCriteria": { - "$ref": "RoomAutoMatchingCriteria", - "description": "Criteria for auto-matching players into this room." - }, - "autoMatchingStatus": { - "$ref": "RoomAutoMatchStatus", - "description": "Auto-matching status for this room. Not set if the room is not currently in the auto-matching queue." - }, - "creationDetails": { - "$ref": "RoomModification", - "description": "Details about the room creation." - }, - "description": { - "description": "This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)", - "type": "string" - }, - "inviterId": { - "description": "The ID of the participant that invited the user to the room. Not set if the user was not invited to the room.", - "type": "string" - }, - "kind": { - "default": "games#room", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#room.", - "type": "string" - }, - "lastUpdateDetails": { - "$ref": "RoomModification", - "description": "Details about the last update to the room." - }, - "participants": { - "description": "The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.", - "items": { - "$ref": "RoomParticipant" - }, - "type": "array" - }, - "roomId": { - "description": "Globally unique ID for a room.", - "type": "string" - }, - "roomStatusVersion": { - "description": "The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.", - "format": "int32", - "type": "integer" - }, - "status": { - "description": "The status of the room.\nPossible values are: \n- \"ROOM_INVITING\" - One or more players have been invited and not responded. \n- \"ROOM_AUTO_MATCHING\" - One or more slots need to be filled by auto-matching. \n- \"ROOM_CONNECTING\" - Players have joined and are connecting to each other (either before or after auto-matching). \n- \"ROOM_ACTIVE\" - All players have joined and connected to each other. \n- \"ROOM_DELETED\" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.", - "type": "string" - }, - "variant": { - "description": "The variant / mode of the application being played; can be any integer value, or left blank.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RoomAutoMatchStatus": { - "description": "This is a JSON template for status of room automatching that is in progress.", - "id": "RoomAutoMatchStatus", - "properties": { - "kind": { - "default": "games#roomAutoMatchStatus", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.", - "type": "string" - }, - "waitEstimateSeconds": { - "description": "An estimate for the amount of time (in seconds) that auto-matching is expected to take to complete.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RoomAutoMatchingCriteria": { - "description": "This is a JSON template for a room auto-match criteria object.", - "id": "RoomAutoMatchingCriteria", - "properties": { - "exclusiveBitmask": { - "description": "A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.", - "format": "int64", - "type": "string" - }, - "kind": { - "default": "games#roomAutoMatchingCriteria", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.", - "type": "string" - }, - "maxAutoMatchingPlayers": { - "description": "The maximum number of players that should be added to the room by auto-matching.", - "format": "int32", - "type": "integer" - }, - "minAutoMatchingPlayers": { - "description": "The minimum number of players that should be added to the room by auto-matching.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RoomClientAddress": { - "description": "This is a JSON template for the client address when setting up a room.", - "id": "RoomClientAddress", - "properties": { - "kind": { - "default": "games#roomClientAddress", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.", - "type": "string" - }, - "xmppAddress": { - "description": "The XMPP address of the client on the Google Games XMPP network.", - "type": "string" - } - }, - "type": "object" - }, - "RoomCreateRequest": { - "description": "This is a JSON template for a room creation request.", - "id": "RoomCreateRequest", - "properties": { - "autoMatchingCriteria": { - "$ref": "RoomAutoMatchingCriteria", - "description": "Criteria for auto-matching players into this room." - }, - "capabilities": { - "description": "The capabilities that this client supports for realtime communication.", - "items": { - "type": "string" - }, - "type": "array" - }, - "clientAddress": { - "$ref": "RoomClientAddress", - "description": "Client address for the player creating the room." - }, - "invitedPlayerIds": { - "description": "The player IDs to invite to the room.", - "items": { - "type": "string" - }, - "type": "array" - }, - "kind": { - "default": "games#roomCreateRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomCreateRequest.", - "type": "string" - }, - "networkDiagnostics": { - "$ref": "NetworkDiagnostics", - "description": "Network diagnostics for the client creating the room." - }, - "requestId": { - "description": "A randomly generated numeric ID. This number is used at the server to ensure that the request is handled correctly across retries.", - "format": "int64", - "type": "string" - }, - "variant": { - "description": "The variant / mode of the application to be played. This can be any integer value, or left blank. You should use a small number of variants to keep the auto-matching pool as large as possible.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RoomJoinRequest": { - "description": "This is a JSON template for a join room request.", - "id": "RoomJoinRequest", - "properties": { - "capabilities": { - "description": "The capabilities that this client supports for realtime communication.", - "items": { - "type": "string" - }, - "type": "array" - }, - "clientAddress": { - "$ref": "RoomClientAddress", - "description": "Client address for the player joining the room." - }, - "kind": { - "default": "games#roomJoinRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomJoinRequest.", - "type": "string" - }, - "networkDiagnostics": { - "$ref": "NetworkDiagnostics", - "description": "Network diagnostics for the client joining the room." - } - }, - "type": "object" - }, - "RoomLeaveDiagnostics": { - "description": "This is a JSON template for room leave diagnostics.", - "id": "RoomLeaveDiagnostics", - "properties": { - "androidNetworkSubtype": { - "description": "Android network subtype. http://developer.android.com/reference/android/net/NetworkInfo.html#getSubtype()", - "format": "int32", - "type": "integer" - }, - "androidNetworkType": { - "description": "Android network type. http://developer.android.com/reference/android/net/NetworkInfo.html#getType()", - "format": "int32", - "type": "integer" - }, - "iosNetworkType": { - "description": "iOS network type as defined in Reachability.h.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "games#roomLeaveDiagnostics", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomLeaveDiagnostics.", - "type": "string" - }, - "networkOperatorCode": { - "description": "The MCC+MNC code for the client's network connection. On Android: http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperator() On iOS, see: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html", - "type": "string" - }, - "networkOperatorName": { - "description": "The name of the carrier of the client's network connection. On Android: http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName() On iOS: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/occ/instp/CTCarrier/carrierName", - "type": "string" - }, - "peerSession": { - "description": "Diagnostics about all peer sessions.", - "items": { - "$ref": "PeerSessionDiagnostics" - }, - "type": "array" - }, - "socketsUsed": { - "description": "Whether or not sockets were used.", - "type": "boolean" - } - }, - "type": "object" - }, - "RoomLeaveRequest": { - "description": "This is a JSON template for a leave room request.", - "id": "RoomLeaveRequest", - "properties": { - "kind": { - "default": "games#roomLeaveRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomLeaveRequest.", - "type": "string" - }, - "leaveDiagnostics": { - "$ref": "RoomLeaveDiagnostics", - "description": "Diagnostics for a player leaving the room." - }, - "reason": { - "description": "Reason for leaving the match.\nPossible values are: \n- \"PLAYER_LEFT\" - The player chose to leave the room.. \n- \"GAME_LEFT\" - The game chose to remove the player from the room. \n- \"REALTIME_ABANDONED\" - The player switched to another application and abandoned the room. \n- \"REALTIME_PEER_CONNECTION_FAILURE\" - The client was unable to establish a connection to other peer(s). \n- \"REALTIME_SERVER_CONNECTION_FAILURE\" - The client was unable to communicate with the server. \n- \"REALTIME_SERVER_ERROR\" - The client received an error response when it tried to communicate with the server. \n- \"REALTIME_TIMEOUT\" - The client timed out while waiting for a room. \n- \"REALTIME_CLIENT_DISCONNECTING\" - The client disconnects without first calling Leave. \n- \"REALTIME_SIGN_OUT\" - The user signed out of G+ while in the room. \n- \"REALTIME_GAME_CRASHED\" - The game crashed. \n- \"REALTIME_ROOM_SERVICE_CRASHED\" - RoomAndroidService crashed. \n- \"REALTIME_DIFFERENT_CLIENT_ROOM_OPERATION\" - Another client is trying to enter a room. \n- \"REALTIME_SAME_CLIENT_ROOM_OPERATION\" - The same client is trying to enter a new room.", - "type": "string" - } - }, - "type": "object" - }, - "RoomList": { - "description": "This is a JSON template for a list of rooms.", - "id": "RoomList", - "properties": { - "items": { - "description": "The rooms.", - "items": { - "$ref": "Room" - }, - "type": "array" - }, - "kind": { - "default": "games#roomList", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomList.", - "type": "string" - }, - "nextPageToken": { - "description": "The pagination token for the next page of results.", - "type": "string" - } - }, - "type": "object" - }, - "RoomModification": { - "description": "This is a JSON template for room modification metadata.", - "id": "RoomModification", - "properties": { - "kind": { - "default": "games#roomModification", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.", - "type": "string" - }, - "modifiedTimestampMillis": { - "description": "The timestamp at which they modified the room, in milliseconds since the epoch in UTC.", - "format": "int64", - "type": "string" - }, - "participantId": { - "description": "The ID of the participant that modified the room.", - "type": "string" - } - }, - "type": "object" - }, - "RoomP2PStatus": { - "description": "This is a JSON template for an update on the status of a peer in a room.", - "id": "RoomP2PStatus", - "properties": { - "connectionSetupLatencyMillis": { - "description": "The amount of time in milliseconds it took to establish connections with this peer.", - "format": "int32", - "type": "integer" - }, - "error": { - "description": "The error code in event of a failure.\nPossible values are: \n- \"P2P_FAILED\" - The client failed to establish a P2P connection with the peer. \n- \"PRESENCE_FAILED\" - The client failed to register to receive P2P connections. \n- \"RELAY_SERVER_FAILED\" - The client received an error when trying to use the relay server to establish a P2P connection with the peer.", - "type": "string" - }, - "error_reason": { - "description": "More detailed diagnostic message returned in event of a failure.", - "type": "string" - }, - "kind": { - "default": "games#roomP2PStatus", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomP2PStatus.", - "type": "string" - }, - "participantId": { - "description": "The ID of the participant.", - "type": "string" - }, - "status": { - "description": "The status of the peer in the room.\nPossible values are: \n- \"CONNECTION_ESTABLISHED\" - The client established a P2P connection with the peer. \n- \"CONNECTION_FAILED\" - The client failed to establish directed presence with the peer.", - "type": "string" - }, - "unreliableRoundtripLatencyMillis": { - "description": "The amount of time in milliseconds it took to send packets back and forth on the unreliable channel with this peer.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RoomP2PStatuses": { - "description": "This is a JSON template for an update on the status of peers in a room.", - "id": "RoomP2PStatuses", - "properties": { - "kind": { - "default": "games#roomP2PStatuses", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomP2PStatuses.", - "type": "string" - }, - "updates": { - "description": "The updates for the peers.", - "items": { - "$ref": "RoomP2PStatus" - }, - "type": "array" - } - }, - "type": "object" - }, - "RoomParticipant": { - "description": "This is a JSON template for a participant in a room.", - "id": "RoomParticipant", - "properties": { - "autoMatched": { - "description": "True if this participant was auto-matched with the requesting player.", - "type": "boolean" - }, - "autoMatchedPlayer": { - "$ref": "AnonymousPlayer", - "description": "Information about a player that has been anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)" - }, - "capabilities": { - "description": "The capabilities which can be used when communicating with this participant.", - "items": { - "type": "string" - }, - "type": "array" - }, - "clientAddress": { - "$ref": "RoomClientAddress", - "description": "Client address for the participant." - }, - "connected": { - "description": "True if this participant is in the fully connected set of peers in the room.", - "type": "boolean" - }, - "id": { - "description": "An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.", - "type": "string" - }, - "kind": { - "default": "games#roomParticipant", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.", - "type": "string" - }, - "leaveReason": { - "description": "The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.\nPossible values are: \n- \"PLAYER_LEFT\" - The player explicitly chose to leave the room. \n- \"GAME_LEFT\" - The game chose to remove the player from the room. \n- \"ABANDONED\" - The player switched to another application and abandoned the room.\n- \"PEER_CONNECTION_FAILURE\" - The client was unable to establish or maintain a connection to other peer(s) in the room.\n- \"SERVER_ERROR\" - The client received an error response when it tried to communicate with the server. \n- \"TIMEOUT\" - The client timed out while waiting for players to join and connect. \n- \"PRESENCE_FAILURE\" - The client's XMPP connection ended abruptly.", - "type": "string" - }, - "player": { - "$ref": "Player", - "description": "Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)" - }, - "status": { - "description": "The status of the participant with respect to the room.\nPossible values are: \n- \"PARTICIPANT_INVITED\" - The participant has been invited to join the room, but has not yet responded. \n- \"PARTICIPANT_JOINED\" - The participant has joined the room (either after creating it or accepting an invitation.) \n- \"PARTICIPANT_DECLINED\" - The participant declined an invitation to join the room. \n- \"PARTICIPANT_LEFT\" - The participant joined the room and then left it.", - "type": "string" - } - }, - "type": "object" - }, - "RoomStatus": { - "description": "This is a JSON template for the status of a room that the player has joined.", - "id": "RoomStatus", - "properties": { - "autoMatchingStatus": { - "$ref": "RoomAutoMatchStatus", - "description": "Auto-matching status for this room. Not set if the room is not currently in the automatching queue." - }, - "kind": { - "default": "games#roomStatus", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#roomStatus.", - "type": "string" - }, - "participants": { - "description": "The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.", - "items": { - "$ref": "RoomParticipant" - }, - "type": "array" - }, - "roomId": { - "description": "Globally unique ID for a room.", - "type": "string" - }, - "status": { - "description": "The status of the room.\nPossible values are: \n- \"ROOM_INVITING\" - One or more players have been invited and not responded. \n- \"ROOM_AUTO_MATCHING\" - One or more slots need to be filled by auto-matching. \n- \"ROOM_CONNECTING\" - Players have joined are connecting to each other (either before or after auto-matching). \n- \"ROOM_ACTIVE\" - All players have joined and connected to each other. \n- \"ROOM_DELETED\" - All joined players have left.", - "type": "string" - }, - "statusVersion": { - "description": "The version of the status for the room: an increasing counter, used by the client to ignore out-of-order updates to room status.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "ScoreSubmission": { - "description": "This is a JSON template for a request to submit a score to leaderboards.", + "description": "A request to submit a score to leaderboards.", "id": "ScoreSubmission", "properties": { "kind": { - "default": "games#scoreSubmission", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#scoreSubmission.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#scoreSubmission`.", "type": "string" }, "leaderboardId": { @@ -4059,19 +2840,18 @@ "type": "string" }, "scoreTag": { - "description": "Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.", - "pattern": "[a-zA-Z0-9-._~]{0,64}", + "description": "Additional information about this score. Values will contain no more than\n64 URI-safe characters as defined by section 2.3 of RFC 3986.", "type": "string" }, "signature": { - "description": "Signature Values will contain URI-safe characters as defined by section 2.3 of RFC 3986.", + "description": "Signature Values will contain URI-safe characters as defined by section 2.3\nof RFC 3986.", "type": "string" } }, "type": "object" }, "Snapshot": { - "description": "This is a JSON template for an snapshot object.", + "description": "An snapshot object.", "id": "Snapshot", "properties": { "coverImage": { @@ -4083,7 +2863,7 @@ "type": "string" }, "driveId": { - "description": "The ID of the file underlying this snapshot in the Drive API. Only present if the snapshot is a view on a Drive file and the file is owned by the caller.", + "description": "The ID of the file underlying this snapshot in the Drive API. Only present\nif the snapshot is a view on a Drive file and the file is owned by the\ncaller.", "type": "string" }, "durationMillis": { @@ -4096,17 +2876,16 @@ "type": "string" }, "kind": { - "default": "games#snapshot", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#snapshot.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#snapshot`.", "type": "string" }, "lastModifiedMillis": { - "description": "The timestamp (in millis since Unix epoch) of the last modification to this snapshot.", + "description": "The timestamp (in millis since Unix epoch) of the last modification to this\nsnapshot.", "format": "int64", "type": "string" }, "progressValue": { - "description": "The progress value (64-bit integer set by developer) associated with this snapshot.", + "description": "The progress value (64-bit integer set by developer) associated with this\nsnapshot.", "format": "int64", "type": "string" }, @@ -4115,7 +2894,15 @@ "type": "string" }, "type": { - "description": "The type of this snapshot.\nPossible values are: \n- \"SAVE_GAME\" - A snapshot representing a save game.", + "description": "The type of this snapshot.", + "enum": [ + "SNAPSHOT_TYPE_UNSPECIFIED", + "SAVE_GAME" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "A snapshot representing a save game." + ], "type": "string" }, "uniqueName": { @@ -4126,7 +2913,7 @@ "type": "object" }, "SnapshotImage": { - "description": "This is a JSON template for an image of a snapshot.", + "description": "An image of a snapshot.", "id": "SnapshotImage", "properties": { "height": { @@ -4135,8 +2922,7 @@ "type": "integer" }, "kind": { - "default": "games#snapshotImage", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#snapshotImage.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#snapshotImage`.", "type": "string" }, "mime_type": { @@ -4144,7 +2930,7 @@ "type": "string" }, "url": { - "description": "The URL of the image. This URL may be invalidated at any time and should not be cached.", + "description": "The URL of the image. This URL may be invalidated at any time and should\nnot be cached.", "type": "string" }, "width": { @@ -4156,7 +2942,7 @@ "type": "object" }, "SnapshotListResponse": { - "description": "This is a JSON template for a list of snapshot objects.", + "description": "A third party list snapshots response.", "id": "SnapshotListResponse", "properties": { "items": { @@ -4167,397 +2953,79 @@ "type": "array" }, "kind": { - "default": "games#snapshotListResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#snapshotListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#snapshotListResponse`.", "type": "string" }, "nextPageToken": { - "description": "Token corresponding to the next page of results. If there are no more results, the token is omitted.", + "description": "Token corresponding to the next page of results. If there are no more\nresults, the token is omitted.", "type": "string" } }, "type": "object" }, - "TurnBasedAutoMatchingCriteria": { - "description": "This is a JSON template for an turn-based auto-match criteria object.", - "id": "TurnBasedAutoMatchingCriteria", + "StatsResponse": { + "description": "A third party stats resource.", + "id": "StatsResponse", "properties": { - "exclusiveBitmask": { - "description": "A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.", - "format": "int64", - "type": "string" + "avg_session_length_minutes": { + "description": "Average session length in minutes of the player. E.g., 1, 30, 60, ... . Not\npopulated if there is not enough information.", + "format": "float", + "type": "number" }, - "kind": { - "default": "games#turnBasedAutoMatchingCriteria", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.", - "type": "string" + "churn_probability": { + "description": "The probability of the player not returning to play the game in the next\nday. E.g., 0, 0.1, 0.5, ..., 1.0. Not populated if there is not enough\ninformation.", + "format": "float", + "type": "number" }, - "maxAutoMatchingPlayers": { - "description": "The maximum number of players that should be added to the match by auto-matching.", + "days_since_last_played": { + "description": "Number of days since the player last played this game. E.g., 0, 1, 5, 10,\n... . Not populated if there is not enough information.", "format": "int32", "type": "integer" }, - "minAutoMatchingPlayers": { - "description": "The minimum number of players that should be added to the match by auto-matching.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "TurnBasedMatch": { - "description": "This is a JSON template for a turn-based match resource object.", - "id": "TurnBasedMatch", - "properties": { - "applicationId": { - "description": "The ID of the application being played.", - "type": "string" - }, - "autoMatchingCriteria": { - "$ref": "TurnBasedAutoMatchingCriteria", - "description": "Criteria for auto-matching players into this match." - }, - "creationDetails": { - "$ref": "TurnBasedMatchModification", - "description": "Details about the match creation." - }, - "data": { - "$ref": "TurnBasedMatchData", - "description": "The data / game state for this match." - }, - "description": { - "description": "This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.", - "type": "string" - }, - "inviterId": { - "description": "The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.", - "type": "string" + "high_spender_probability": { + "description": "The probability of the player going to spend beyond a threshold amount of\nmoney. E.g., 0, 0.25, 0.50, 0.75. Not populated if there is not enough\ninformation.", + "format": "float", + "type": "number" }, "kind": { - "default": "games#turnBasedMatch", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `games#statsResponse`.", "type": "string" }, - "lastUpdateDetails": { - "$ref": "TurnBasedMatchModification", - "description": "Details about the last update to the match." - }, - "matchId": { - "description": "Globally unique ID for a turn-based match.", - "type": "string" - }, - "matchNumber": { - "description": "The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.", + "num_purchases": { + "description": "Number of in-app purchases made by the player in this game. E.g., 0, 1, 5,\n10, ... . Not populated if there is not enough information.", "format": "int32", "type": "integer" }, - "matchVersion": { - "description": "The version of this match: an increasing counter, used to avoid out-of-date updates to the match.", + "num_sessions": { + "description": "The approximate number of sessions of the player within the last 28 days,\nwhere a session begins when the player is connected to Play Games Services\nand ends when they are disconnected. E.g., 0, 1, 5, 10, ... . Not populated\nif there is not enough information.", "format": "int32", "type": "integer" }, - "participants": { - "description": "The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.", - "items": { - "$ref": "TurnBasedMatchParticipant" - }, - "type": "array" + "num_sessions_percentile": { + "description": "The approximation of the sessions percentile of the player within the last\n30 days, where a session begins when the player is connected to Play Games\nServices and ends when they are disconnected. E.g., 0, 0.25, 0.5, 0.75. Not\npopulated if there is not enough information.", + "format": "float", + "type": "number" }, - "pendingParticipantId": { - "description": "The ID of the participant that is taking a turn.", - "type": "string" + "spend_percentile": { + "description": "The approximate spend percentile of the player in this game. E.g., 0, 0.25,\n0.5, 0.75. Not populated if there is not enough information.", + "format": "float", + "type": "number" }, - "previousMatchData": { - "$ref": "TurnBasedMatchData", - "description": "The data / game state for the previous match; set for the first turn of rematches only." + "spend_probability": { + "description": "The probability of the player going to spend the game in the next seven\ndays. E.g., 0, 0.25, 0.50, 0.75. Not populated if there is not enough\ninformation.", + "format": "float", + "type": "number" }, - "rematchId": { - "description": "The ID of a rematch of this match. Only set for completed matches that have been rematched.", - "type": "string" - }, - "results": { - "description": "The results reported for this match.", - "items": { - "$ref": "ParticipantResult" - }, - "type": "array" - }, - "status": { - "description": "The status of the match.\nPossible values are: \n- \"MATCH_AUTO_MATCHING\" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled. \n- \"MATCH_ACTIVE\" - The match has started. \n- \"MATCH_COMPLETE\" - The match has finished. \n- \"MATCH_CANCELED\" - The match was canceled. \n- \"MATCH_EXPIRED\" - The match expired due to inactivity. \n- \"MATCH_DELETED\" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.", - "type": "string" - }, - "userMatchStatus": { - "description": "The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.\nPossible values are: \n- \"USER_INVITED\" - The user has been invited to join the match and has not responded yet. \n- \"USER_AWAITING_TURN\" - The user is waiting for their turn. \n- \"USER_TURN\" - The user has an action to take in the match. \n- \"USER_MATCH_COMPLETED\" - The match has ended (it is completed, canceled, or expired.)", - "type": "string" - }, - "variant": { - "description": "The variant / mode of the application being played; can be any integer value, or left blank.", - "format": "int32", - "type": "integer" - }, - "withParticipantId": { - "description": "The ID of another participant in the match that can be used when describing the participants the user is playing with.", - "type": "string" - } - }, - "type": "object" - }, - "TurnBasedMatchCreateRequest": { - "description": "This is a JSON template for a turn-based match creation request.", - "id": "TurnBasedMatchCreateRequest", - "properties": { - "autoMatchingCriteria": { - "$ref": "TurnBasedAutoMatchingCriteria", - "description": "Criteria for auto-matching players into this match." - }, - "invitedPlayerIds": { - "description": "The player ids to invite to the match.", - "items": { - "type": "string" - }, - "type": "array" - }, - "kind": { - "default": "games#turnBasedMatchCreateRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchCreateRequest.", - "type": "string" - }, - "requestId": { - "description": "A randomly generated numeric ID. This number is used at the server to ensure that the request is handled correctly across retries.", - "format": "int64", - "type": "string" - }, - "variant": { - "description": "The variant / mode of the application to be played. This can be any integer value, or left blank. You should use a small number of variants to keep the auto-matching pool as large as possible.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "TurnBasedMatchData": { - "description": "This is a JSON template for a turn-based match data object.", - "id": "TurnBasedMatchData", - "properties": { - "data": { - "description": "The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.", - "format": "byte", - "type": "string" - }, - "dataAvailable": { - "description": "True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.", - "type": "boolean" - }, - "kind": { - "default": "games#turnBasedMatchData", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.", - "type": "string" - } - }, - "type": "object" - }, - "TurnBasedMatchDataRequest": { - "description": "This is a JSON template for sending a turn-based match data object.", - "id": "TurnBasedMatchDataRequest", - "properties": { - "data": { - "description": "The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.", - "format": "byte", - "type": "string" - }, - "kind": { - "default": "games#turnBasedMatchDataRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchDataRequest.", - "type": "string" - } - }, - "type": "object" - }, - "TurnBasedMatchList": { - "description": "This is a JSON template for a list of turn-based matches.", - "id": "TurnBasedMatchList", - "properties": { - "items": { - "description": "The matches.", - "items": { - "$ref": "TurnBasedMatch" - }, - "type": "array" - }, - "kind": { - "default": "games#turnBasedMatchList", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchList.", - "type": "string" - }, - "nextPageToken": { - "description": "The pagination token for the next page of results.", - "type": "string" - } - }, - "type": "object" - }, - "TurnBasedMatchModification": { - "description": "This is a JSON template for turn-based match modification metadata.", - "id": "TurnBasedMatchModification", - "properties": { - "kind": { - "default": "games#turnBasedMatchModification", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.", - "type": "string" - }, - "modifiedTimestampMillis": { - "description": "The timestamp at which they modified the match, in milliseconds since the epoch in UTC.", - "format": "int64", - "type": "string" - }, - "participantId": { - "description": "The ID of the participant that modified the match.", - "type": "string" - } - }, - "type": "object" - }, - "TurnBasedMatchParticipant": { - "description": "This is a JSON template for a participant in a turn-based match.", - "id": "TurnBasedMatchParticipant", - "properties": { - "autoMatched": { - "description": "True if this participant was auto-matched with the requesting player.", - "type": "boolean" - }, - "autoMatchedPlayer": { - "$ref": "AnonymousPlayer", - "description": "Information about a player that has been anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)" - }, - "id": { - "description": "An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.", - "type": "string" - }, - "kind": { - "default": "games#turnBasedMatchParticipant", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.", - "type": "string" - }, - "player": { - "$ref": "Player", - "description": "Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)" - }, - "status": { - "description": "The status of the participant with respect to the match.\nPossible values are: \n- \"PARTICIPANT_NOT_INVITED_YET\" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn. \n- \"PARTICIPANT_INVITED\" - The participant has been invited to join the match, but has not yet responded. \n- \"PARTICIPANT_JOINED\" - The participant has joined the match (either after creating it or accepting an invitation.) \n- \"PARTICIPANT_DECLINED\" - The participant declined an invitation to join the match. \n- \"PARTICIPANT_LEFT\" - The participant joined the match and then left it. \n- \"PARTICIPANT_FINISHED\" - The participant finished playing in the match. \n- \"PARTICIPANT_UNRESPONSIVE\" - The participant did not take their turn in the allotted time.", - "type": "string" - } - }, - "type": "object" - }, - "TurnBasedMatchRematch": { - "description": "This is a JSON template for a rematch response.", - "id": "TurnBasedMatchRematch", - "properties": { - "kind": { - "default": "games#turnBasedMatchRematch", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchRematch.", - "type": "string" - }, - "previousMatch": { - "$ref": "TurnBasedMatch", - "description": "The old match that the rematch was created from; will be updated such that the rematchId field will point at the new match." - }, - "rematch": { - "$ref": "TurnBasedMatch", - "description": "The newly created match; a rematch of the old match with the same participants." - } - }, - "type": "object" - }, - "TurnBasedMatchResults": { - "description": "This is a JSON template for a turn-based match results object.", - "id": "TurnBasedMatchResults", - "properties": { - "data": { - "$ref": "TurnBasedMatchDataRequest", - "description": "The final match data." - }, - "kind": { - "default": "games#turnBasedMatchResults", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchResults.", - "type": "string" - }, - "matchVersion": { - "description": "The version of the match being updated.", - "format": "int32", - "type": "integer" - }, - "results": { - "description": "The match results for the participants in the match.", - "items": { - "$ref": "ParticipantResult" - }, - "type": "array" - } - }, - "type": "object" - }, - "TurnBasedMatchSync": { - "description": "This is a JSON template for a list of turn-based matches returned from a sync.", - "id": "TurnBasedMatchSync", - "properties": { - "items": { - "description": "The matches.", - "items": { - "$ref": "TurnBasedMatch" - }, - "type": "array" - }, - "kind": { - "default": "games#turnBasedMatchSync", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchSync.", - "type": "string" - }, - "moreAvailable": { - "description": "True if there were more matches available to fetch at the time the response was generated (which were not returned due to page size limits.)", - "type": "boolean" - }, - "nextPageToken": { - "description": "The pagination token for the next page of results.", - "type": "string" - } - }, - "type": "object" - }, - "TurnBasedMatchTurn": { - "description": "This is a JSON template for the object representing a turn.", - "id": "TurnBasedMatchTurn", - "properties": { - "data": { - "$ref": "TurnBasedMatchDataRequest", - "description": "The shared game state data after the turn is over." - }, - "kind": { - "default": "games#turnBasedMatchTurn", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchTurn.", - "type": "string" - }, - "matchVersion": { - "description": "The version of this match: an increasing counter, used to avoid out-of-date updates to the match.", - "format": "int32", - "type": "integer" - }, - "pendingParticipantId": { - "description": "The ID of the participant who should take their turn next. May be set to the current player's participant ID to update match state without changing the turn. If not set, the match will wait for other player(s) to join via automatching; this is only valid if automatch criteria is set on the match with remaining slots for automatched players.", - "type": "string" - }, - "results": { - "description": "The match results for the participants in the match.", - "items": { - "$ref": "ParticipantResult" - }, - "type": "array" + "total_spend_next_28_days": { + "description": "The predicted amount of money that the player going to spend in the next 28\ndays. E.g., 1, 30, 60, ... . Not populated if there is not enough\ninformation.", + "format": "float", + "type": "number" } }, "type": "object" } }, - "servicePath": "games/v1/", - "title": "Google Play Game Services API", + "servicePath": "", + "title": "Google Play Game Services", "version": "v1" } \ No newline at end of file diff --git a/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json b/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json index ceaf2c3eea..dda4619a61 100644 --- a/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json +++ b/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json @@ -10,7 +10,7 @@ }, "basePath": "", "baseUrl": "https://www.googleapis.com/", - "batchPath": "batch", + "batchPath": "batch/games/v1configuration", "canonicalName": "Games Configuration", "description": "The Google Play Game Services Publishing API allows developers to configure their games in Game Services.", "discoveryVersion": "v1", @@ -194,7 +194,7 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of resource configurations to return in the response,\nused for paging. For any response, the actual number of resources returned\nmay be less than the specified maxResults.", + "description": "The maximum number of resource configurations to return in the response,\nused for paging. For any response, the actual number of resources returned\nmay be less than the specified `maxResults`.", "format": "int32", "location": "query", "type": "integer" @@ -385,7 +385,7 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of resource configurations to return in the response,\nused for paging. For any response, the actual number of resources returned\nmay be less than the specified maxResults.", + "description": "The maximum number of resource configurations to return in the response,\nused for paging. For any response, the actual number of resources returned\nmay be less than the specified `maxResults`.", "format": "int32", "location": "query", "type": "integer" @@ -434,7 +434,7 @@ } } }, - "revision": "20200402", + "revision": "20200701", "rootUrl": "https://www.googleapis.com/", "schemas": { "AchievementConfiguration": { @@ -478,7 +478,7 @@ "type": "string" }, "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring gamesConfiguration#achievementConfiguration.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesConfiguration#achievementConfiguration`.", "type": "string" }, "published": { @@ -510,7 +510,7 @@ "type": "string" }, "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring gamesConfiguration#achievementConfigurationDetail.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesConfiguration#achievementConfigurationDetail`.", "type": "string" }, "name": { @@ -542,7 +542,7 @@ "type": "array" }, "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring\ngamesConfiguration#achievementConfigurationListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesConfiguration#achievementConfigurationListResponse`.", "type": "string" }, "nextPageToken": { @@ -638,7 +638,7 @@ "type": "string" }, "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring gamesConfiguration#imageConfiguration.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesConfiguration#imageConfiguration`.", "type": "string" }, "resourceId": { @@ -665,7 +665,7 @@ "type": "string" }, "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring gamesConfiguration#leaderboardConfiguration.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesConfiguration#leaderboardConfiguration`.", "type": "string" }, "published": { @@ -711,7 +711,7 @@ "type": "string" }, "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring gamesConfiguration#leaderboardConfigurationDetail.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesConfiguration#leaderboardConfigurationDetail`.", "type": "string" }, "name": { @@ -742,7 +742,7 @@ "type": "array" }, "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring\ngamesConfiguration#leaderboardConfigurationListResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring\n`gamesConfiguration#leaderboardConfigurationListResponse`.", "type": "string" }, "nextPageToken": { @@ -757,7 +757,7 @@ "id": "LocalizedString", "properties": { "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring gamesConfiguration#localizedString.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesConfiguration#localizedString`.", "type": "string" }, "locale": { @@ -776,7 +776,7 @@ "id": "LocalizedStringBundle", "properties": { "kind": { - "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring gamesConfiguration#localizedStringBundle.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesConfiguration#localizedStringBundle`.", "type": "string" }, "translations": { diff --git a/etc/api/gameservices/v1/gameservices-api.json b/etc/api/gameservices/v1/gameservices-api.json new file mode 100644 index 0000000000..409186ed94 --- /dev/null +++ b/etc/api/gameservices/v1/gameservices-api.json @@ -0,0 +1,2749 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://gameservices.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Game Services", + "description": "Deploy and manage infrastructure for global multiplayer gaming experiences.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/solutions/gaming/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "gameservices:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://gameservices.mtls.googleapis.com/", + "name": "gameservices", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "gameservices.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "includeUnrevealedLocations": { + "description": "If true, the returned list will include locations which are not yet\nrevealed.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "gameServerDeployments": { + "methods": { + "create": { + "description": "Creates a new game server deployment in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deploymentId": { + "description": "Required. The ID of the game server delpoyment resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/gameServerDeployments", + "request": { + "$ref": "GameServerDeployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single game server deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.gameServerDeployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server delpoyment to delete. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchDeploymentState": { + "description": "Retrieves information about the current state of the game server\ndeployment. Gathers all the Agones fleets and Agones autoscalers,\nincluding fleets running an older version of the game server deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:fetchDeploymentState", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.fetchDeploymentState", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server delpoyment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:fetchDeploymentState", + "request": { + "$ref": "FetchDeploymentStateRequest" + }, + "response": { + "$ref": "FetchDeploymentStateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single game server deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server delpoyment to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GameServerDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:getIamPolicy", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getRollout": { + "description": "Gets details a single game server deployment rollout.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.getRollout", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server delpoyment to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/rollout", + "response": { + "$ref": "GameServerDeploymentRollout" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists game server deployments in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If unspecified, the server\nwill pick an appropriate default. The server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerDeployments left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request,\nif any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/gameServerDeployments", + "response": { + "$ref": "ListGameServerDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Patches a game server deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.gameServerDeployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the game server deployment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GameServerDeployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewRollout": { + "description": "Previews the game server deployment rollout. This API does not mutate the\nrollout resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout:preview", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.gameServerDeployments.previewRollout", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview. Defaults to the immediately\nafter the proposed rollout completes.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/rollout:preview", + "request": { + "$ref": "GameServerDeploymentRollout" + }, + "response": { + "$ref": "PreviewGameServerDeploymentRolloutResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:setIamPolicy", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:testIamPermissions", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateRollout": { + "description": "Patches a single game server deployment rollout.\nThe method will not return an error if the update does not affect any\nexisting realms. For example - if the default_game_server_config is changed\nbut all existing realms use the override, that is valid. Similarly, if a\nnon existing realm is explicitly called out in game_server_config_overrides\nfield, that will also not result in an error.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.gameServerDeployments.updateRollout", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/rollout", + "request": { + "$ref": "GameServerDeploymentRollout" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "configs": { + "methods": { + "create": { + "description": "Creates a new game server config in a given project, location, and game\nserver deployment. Game server configs are immutable, and are not applied\nuntil referenced in the game server deployment rollout resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.configs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "configId": { + "description": "Required. The ID of the game server config resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/configs", + "request": { + "$ref": "GameServerConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single game server config. The deletion will fail if the game\nserver config is referenced in a game server deployment rollout.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.gameServerDeployments.configs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server config to delete. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single game server config.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.configs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server config to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GameServerConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists game server configs in a given project, location, and game server\ndeployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.configs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If unspecified, server\nwill pick an appropriate default. Server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerConfigs left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/configs", + "response": { + "$ref": "ListGameServerConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "gameservices.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "gameservices.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "realms": { + "methods": { + "create": { + "description": "Creates a new realm in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms", + "httpMethod": "POST", + "id": "gameservices.projects.locations.realms.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "realmId": { + "description": "Required. The ID of the realm resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/realms", + "request": { + "$ref": "Realm" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single realm.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.realms.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the realm to delete. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single realm.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.realms.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the realm to retrieve. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Realm" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists realms in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms", + "httpMethod": "GET", + "id": "gameservices.projects.locations.realms.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If unspecified, server\nwill pick an appropriate default. Server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more realms left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request,\nif any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/realms", + "response": { + "$ref": "ListRealmsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Patches a single realm.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.realms.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The update mask applies to the resource. For the `FieldMask`\ndefinition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Realm" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewUpdate": { + "description": "Previews patches to a single realm.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}:previewUpdate", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.realms.previewUpdate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The update mask applies to the resource. For the `FieldMask`\ndefinition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:previewUpdate", + "request": { + "$ref": "Realm" + }, + "response": { + "$ref": "PreviewRealmUpdateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "gameServerClusters": { + "methods": { + "create": { + "description": "Creates a new game server cluster in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters", + "httpMethod": "POST", + "id": "gameservices.projects.locations.realms.gameServerClusters.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "gameServerClusterId": { + "description": "Required. The ID of the game server cluster resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm-id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/gameServerClusters", + "request": { + "$ref": "GameServerCluster" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single game server cluster.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.realms.gameServerClusters.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server cluster to delete. Uses the form:\n`projects/{project}/locations/{location}/gameServerClusters/{cluster}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single game server cluster.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.realms.gameServerClusters.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server cluster to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm-id}/gameServerClusters/{cluster}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GameServerCluster" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists game server clusters in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters", + "httpMethod": "GET", + "id": "gameservices.projects.locations.realms.gameServerClusters.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If unspecified, the server\nwill pick an appropriate default. The server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerClusters left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n\"projects/{project}/locations/{location}/realms/{realm}\".", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/gameServerClusters", + "response": { + "$ref": "ListGameServerClustersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Patches a single game server cluster.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.realms.gameServerClusters.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GameServerCluster" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewCreate": { + "description": "Previews creation of a new game server cluster in a given project and\nlocation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters:previewCreate", + "httpMethod": "POST", + "id": "gameservices.projects.locations.realms.gameServerClusters.previewCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "gameServerClusterId": { + "description": "Required. The ID of the game server cluster resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview.", + "format": "google-datetime", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/gameServerClusters:previewCreate", + "request": { + "$ref": "GameServerCluster" + }, + "response": { + "$ref": "PreviewCreateGameServerClusterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewDelete": { + "description": "Previews deletion of a single game server cluster.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewDelete", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.realms.gameServerClusters.previewDelete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server cluster to delete. Uses the form:\n`projects/{project}/locations/{location}/gameServerClusters/{cluster}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview.", + "format": "google-datetime", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:previewDelete", + "response": { + "$ref": "PreviewDeleteGameServerClusterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewUpdate": { + "description": "Previews updating a GameServerCluster.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewUpdate", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.realms.gameServerClusters.previewUpdate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:previewUpdate", + "request": { + "$ref": "GameServerCluster" + }, + "response": { + "$ref": "PreviewUpdateGameServerClusterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200630", + "rootUrl": "https://gameservices.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "exemptedMembers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreChildExemptions": { + "type": "boolean" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationLoggingOptions": { + "description": "Authorization-related information used by Cloud Audit Logging.", + "id": "AuthorizationLoggingOptions", + "properties": { + "permissionType": { + "description": "The type of the permission that was checked.", + "enum": [ + "PERMISSION_TYPE_UNSPECIFIED", + "ADMIN_READ", + "ADMIN_WRITE", + "DATA_READ", + "DATA_WRITE" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "A read of admin (meta) data.", + "A write of admin (meta) data.", + "A read of standard data.", + "A write of standard data." + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CloudAuditOptions": { + "description": "Write a Cloud Audit log", + "id": "CloudAuditOptions", + "properties": { + "authorizationLoggingOptions": { + "$ref": "AuthorizationLoggingOptions", + "description": "Information used by the Cloud Audit Logging pipeline." + }, + "logName": { + "description": "The log_name to populate in the Cloud Audit Record.", + "enum": [ + "UNSPECIFIED_LOG_NAME", + "ADMIN_ACTIVITY", + "DATA_ACCESS" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "Corresponds to \"cloudaudit.googleapis.com/activity\"", + "Corresponds to \"cloudaudit.googleapis.com/data_access\"" + ], + "type": "string" + } + }, + "type": "object" + }, + "Condition": { + "description": "A condition to be met.", + "id": "Condition", + "properties": { + "iam": { + "description": "Trusted attributes supplied by the IAM system.", + "enum": [ + "NO_ATTR", + "AUTHORITY", + "ATTRIBUTION", + "SECURITY_REALM", + "APPROVER", + "JUSTIFICATION_TYPE", + "CREDENTIALS_TYPE", + "CREDS_ASSERTION" + ], + "enumDescriptions": [ + "Default non-attribute.", + "Either principal or (if present) authority selector.", + "The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.", + "Any of the security realms in the IAMContext (go/security-realms).\nWhen used with IN, the condition indicates \"any of the request's realms\nmatch one of the given values; with NOT_IN, \"none of the realms match\nany of the given values\". Note that a value can be:\n - 'self' (i.e., allow connections from clients that are in the same\n security realm)\n - 'self:cloud-region' (i.e., allow connections from clients that are in\n the same cloud region)\n - 'guardians' (i.e., allow connections from its guardian realms. See\n go/security-realms-glossary#guardian for more information.)\n - a realm (e.g., 'campus-abc')\n - a realm group (e.g., 'realms-for-borg-cell-xx', see: go/realm-groups)\nA match is determined by a realm group\nmembership check performed by a RealmAclRep object (go/realm-acl-howto).\nIt is not permitted to grant access based on the *absence* of a realm, so\nrealm conditions can only be used in a \"positive\" context (e.g., ALLOW/IN\nor DENY/NOT_IN).", + "An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).", + "What types of justifications have been supplied with this request.\nString values should match enum names from\nsecurity.credentials.JustificationType, e.g. \"MANUAL_STRING\". It is not\npermitted to grant access based on the *absence* of a justification, so\njustification conditions can only be used in a \"positive\" context\n(e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported.", + "What type of credentials have been supplied with this request.\nString values should match enum names from\nsecurity_loas_l2.CredentialsType - currently, only CREDS_TYPE_EMERGENCY\nis supported.\nIt is not permitted to grant access based on the *absence* of a\ncredentials type, so the conditions can only be used in a \"positive\"\ncontext (e.g., ALLOW/IN or DENY/NOT_IN).", + "EXPERIMENTAL -- DO NOT USE.\n" + ], + "type": "string" + }, + "op": { + "description": "An operator to apply the subject with.", + "enum": [ + "NO_OP", + "EQUALS", + "NOT_EQUALS", + "IN", + "NOT_IN", + "DISCHARGED" + ], + "enumDescriptions": [ + "Default no-op.", + "DEPRECATED. Use IN instead.", + "DEPRECATED. Use NOT_IN instead.", + "The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.", + "The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.", + "Subject is discharged" + ], + "type": "string" + }, + "svc": { + "description": "Trusted attributes discharged by the service.", + "type": "string" + }, + "sys": { + "description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.", + "enum": [ + "NO_ATTR", + "REGION", + "SERVICE", + "NAME", + "IP" + ], + "enumDescriptions": [ + "Default non-attribute type", + "Region of the resource", + "Service name", + "Resource name", + "IP address of the caller" + ], + "type": "string" + }, + "values": { + "description": "The objects of the condition.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CounterOptions": { + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only,\nand end in \"_count\". Field names should not contain an initial slash.\nThe actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are\ntheir respective values.\n\nSupported field names:\n - \"authority\", which is \"[token]\" if IAMContext.token is present,\n otherwise the value of IAMContext.authority_selector if present, and\n otherwise a representation of IAMContext.principal; or\n - \"iam_principal\", a representation of IAMContext.principal even if a\n token or authority selector is present; or\n - \"\" (empty string), resulting in a counter with no fields.\n\nExamples:\n counter { metric: \"/debug_access_count\" field: \"iam_principal\" }\n ==> increment counter /iam/policy/debug_access_count\n {iam_principal=[value of IAMContext.principal]}", + "id": "CounterOptions", + "properties": { + "customFields": { + "description": "Custom fields.", + "items": { + "$ref": "CustomField" + }, + "type": "array" + }, + "field": { + "description": "The field value to attribute.", + "type": "string" + }, + "metric": { + "description": "The metric to update.", + "type": "string" + } + }, + "type": "object" + }, + "CustomField": { + "description": "Custom fields.\nThese can be used to create a counter with arbitrary field/value\npairs.\nSee: go/rpcsp-custom-fields.", + "id": "CustomField", + "properties": { + "name": { + "description": "Name is the field name.", + "type": "string" + }, + "value": { + "description": "Value is the field value. It is important that in contrast to the\nCounterOptions.field, the value here is a constant that is not\nderived from the IAMContext.", + "type": "string" + } + }, + "type": "object" + }, + "DataAccessOptions": { + "description": "Write a Data Access (Gin) log", + "id": "DataAccessOptions", + "properties": { + "logMode": { + "enum": [ + "LOG_MODE_UNSPECIFIED", + "LOG_FAIL_CLOSED" + ], + "enumDescriptions": [ + "Client is not required to write a partial Gin log immediately after\nthe authorization check. If client chooses to write one and it fails,\nclient may either fail open (allow the operation to continue) or\nfail closed (handle as a DENY outcome).", + "The application's operation in the context of which this authorization\ncheck is being made may only be performed if it is successfully logged\nto Gin. For instance, the authorization library may satisfy this\nobligation by emitting a partial log entry at authorization check time\nand only returning ALLOW to the application if it succeeds.\n\nIf a matching Rule has this directive, but the client has not indicated\nthat it will honor such requirements, then the IAM check will result in\nauthorization failure by setting CheckPolicyResponse.success=false." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeployedClusterState": { + "description": "The game server cluster changes made by the game server deployment.", + "id": "DeployedClusterState", + "properties": { + "cluster": { + "description": "The name of the cluster.", + "type": "string" + }, + "fleetDetails": { + "description": "The details about the Agones fleets and autoscalers created in the\ngame server cluster.", + "items": { + "$ref": "DeployedFleetDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "DeployedFleet": { + "description": "Agones fleet specification and details.", + "id": "DeployedFleet", + "properties": { + "fleet": { + "description": "The name of the Agones fleet.", + "type": "string" + }, + "fleetSpec": { + "description": "The fleet spec retrieved from the Agones fleet.", + "type": "string" + }, + "specSource": { + "$ref": "SpecSource", + "description": "The source spec that is used to create the Agones fleet.\nThe GameServerConfig resource may no longer exist in the system." + }, + "status": { + "$ref": "DeployedFleetStatus", + "description": "The current status of the Agones fleet.\nIncludes count of game servers in various states." + } + }, + "type": "object" + }, + "DeployedFleetAutoscaler": { + "description": "Details about the Agones autoscaler.", + "id": "DeployedFleetAutoscaler", + "properties": { + "autoscaler": { + "description": "The name of the Agones autoscaler.", + "type": "string" + }, + "fleetAutoscalerSpec": { + "description": "The autoscaler spec retrieved from Agones.", + "type": "string" + }, + "specSource": { + "$ref": "SpecSource", + "description": "The source spec that is used to create the autoscaler.\nThe GameServerConfig resource may no longer exist in the system." + } + }, + "type": "object" + }, + "DeployedFleetDetails": { + "description": "Details of the deployed Agones fleet.", + "id": "DeployedFleetDetails", + "properties": { + "deployedAutoscaler": { + "$ref": "DeployedFleetAutoscaler", + "description": "Information about the Agones autoscaler for that fleet." + }, + "deployedFleet": { + "$ref": "DeployedFleet", + "description": "Information about the Agones fleet." + } + }, + "type": "object" + }, + "DeployedFleetStatus": { + "description": "DeployedFleetStatus has details about the Agones fleets such as how many\nare running, how many allocated, and so on.", + "id": "DeployedFleetStatus", + "properties": { + "allocatedReplicas": { + "description": "The number of GameServer replicas in the ALLOCATED state in this fleet.", + "format": "int64", + "type": "string" + }, + "readyReplicas": { + "description": "The number of GameServer replicas in the READY state in this fleet.", + "format": "int64", + "type": "string" + }, + "replicas": { + "description": "The total number of current GameServer replicas in this fleet.", + "format": "int64", + "type": "string" + }, + "reservedReplicas": { + "description": "The number of GameServer replicas in the RESERVED state in this fleet.\nReserved instances won't be deleted on scale down, but won't cause\nan autoscaler to scale up.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "FetchDeploymentStateRequest": { + "description": "Request message for GameServerDeploymentsService.FetchDeploymentState.", + "id": "FetchDeploymentStateRequest", + "properties": {}, + "type": "object" + }, + "FetchDeploymentStateResponse": { + "description": "Response message for GameServerDeploymentsService.FetchDeploymentState.", + "id": "FetchDeploymentStateResponse", + "properties": { + "clusterState": { + "description": "The state of the game server deployment in each game server cluster.", + "items": { + "$ref": "DeployedClusterState" + }, + "type": "array" + }, + "unavailable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FleetConfig": { + "description": "Fleet configs for Agones.", + "id": "FleetConfig", + "properties": { + "fleetSpec": { + "description": "Agones fleet spec. Example spec:\n`https://agones.dev/site/docs/reference/fleet/`.", + "type": "string" + }, + "name": { + "description": "The name of the FleetConfig.", + "type": "string" + } + }, + "type": "object" + }, + "GameServerCluster": { + "description": "A game server cluster resource.", + "id": "GameServerCluster", + "properties": { + "connectionInfo": { + "$ref": "GameServerClusterConnectionInfo", + "description": "The game server cluster connection information. This information is used to\nmanage game server clusters." + }, + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Human readable description of the cluster.", + "type": "string" + }, + "etag": { + "description": "ETag of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this game server cluster. Each label is a\nkey-value pair.", + "type": "object" + }, + "name": { + "description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GameServerClusterConnectionInfo": { + "description": "The game server cluster connection information.", + "id": "GameServerClusterConnectionInfo", + "properties": { + "gkeClusterReference": { + "$ref": "GkeClusterReference", + "description": "Reference to the GKE cluster where the game servers are installed." + }, + "namespace": { + "description": "Namespace designated on the game server cluster where the Agones game\nserver instances will be created. Existence of the namespace will be\nvalidated during creation.", + "type": "string" + } + }, + "type": "object" + }, + "GameServerConfig": { + "description": "A game server config resource.", + "id": "GameServerConfig", + "properties": { + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The description of the game server config.", + "type": "string" + }, + "fleetConfigs": { + "description": "FleetConfig contains a list of Agones fleet specs. Only one FleetConfig\nis allowed.", + "items": { + "$ref": "FleetConfig" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this game server config. Each label is a\nkey-value pair.", + "type": "object" + }, + "name": { + "description": "The resource name of the game server config. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.\nFor example,\n\n`projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", + "type": "string" + }, + "scalingConfigs": { + "description": "The autoscaling settings.", + "items": { + "$ref": "ScalingConfig" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GameServerConfigOverride": { + "description": "A game server config override.", + "id": "GameServerConfigOverride", + "properties": { + "configVersion": { + "description": "The game server config for this override.", + "type": "string" + }, + "realmsSelector": { + "$ref": "RealmSelector", + "description": "Selector for choosing applicable realms." + } + }, + "type": "object" + }, + "GameServerDeployment": { + "description": "A game server deployment resource.", + "id": "GameServerDeployment", + "properties": { + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Human readable description of the game server delpoyment.", + "type": "string" + }, + "etag": { + "description": "ETag of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this game server deployment. Each label is a\nkey-value pair.", + "type": "object" + }, + "name": { + "description": "The resource name of the game server deployment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GameServerDeploymentRollout": { + "description": "The game server deployment rollout which represents the desired rollout\nstate.", + "id": "GameServerDeploymentRollout", + "properties": { + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "defaultGameServerConfig": { + "description": "The default game server config is applied to all realms unless overridden\nin the rollout. For example,\n\n`projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", + "type": "string" + }, + "etag": { + "description": "ETag of the resource.", + "type": "string" + }, + "gameServerConfigOverrides": { + "description": "Contains the game server config rollout overrides. Overrides are processed\nin the order they are listed. Once a match is found for a realm, the rest\nof the list is not processed.", + "items": { + "$ref": "GameServerConfigOverride" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GkeClusterReference": { + "description": "A reference to a GKE cluster.", + "id": "GkeClusterReference", + "properties": { + "cluster": { + "description": "The full or partial name of a GKE cluster, using one of the following\nforms:\n * `projects/{project}/locations/{location}/clusters/{cluster}`\n * `locations/{location}/clusters/{cluster}`\n * `{cluster}`\nIf project and location are not specified, the project and location of the\nGameServerCluster resource are used to generate the full name of the\nGKE cluster.", + "type": "string" + } + }, + "type": "object" + }, + "LabelSelector": { + "description": "The label selector, used to group labels on the resources.", + "id": "LabelSelector", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels for this selector.", + "type": "object" + } + }, + "type": "object" + }, + "ListGameServerClustersResponse": { + "description": "Response message for GameServerClustersService.ListGameServerClusters.", + "id": "ListGameServerClustersResponse", + "properties": { + "gameServerClusters": { + "description": "The list of game server clusters.", + "items": { + "$ref": "GameServerCluster" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListGameServerConfigsResponse": { + "description": "Response message for GameServerConfigsService.ListGameServerConfigs.", + "id": "ListGameServerConfigsResponse", + "properties": { + "gameServerConfigs": { + "description": "The list of game server configs.", + "items": { + "$ref": "GameServerConfig" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListGameServerDeploymentsResponse": { + "description": "Response message for GameServerDeploymentsService.ListGameServerDeployments.", + "id": "ListGameServerDeploymentsResponse", + "properties": { + "gameServerDeployments": { + "description": "The list of game server deployments.", + "items": { + "$ref": "GameServerDeployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRealmsResponse": { + "description": "Response message for RealmsService.ListRealms.", + "id": "ListRealmsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "realms": { + "description": "The list of realms.", + "items": { + "$ref": "Realm" + }, + "type": "array" + }, + "unreachable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LogConfig": { + "description": "Specifies what kind of log the caller must write", + "id": "LogConfig", + "properties": { + "cloudAudit": { + "$ref": "CloudAuditOptions", + "description": "Cloud audit options." + }, + "counter": { + "$ref": "CounterOptions", + "description": "Counter options." + }, + "dataAccess": { + "$ref": "DataAccessOptions", + "description": "Data access options." + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "operationStatus": { + "additionalProperties": { + "$ref": "OperationStatus" + }, + "description": "Output only. Operation status for Game Services API operations. Operation status is in\nthe form of key-value pairs where keys are resource IDs and the values show\nthe status of the operation. In case of failures, the value includes an\nerror code and error message.", + "type": "object" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "unreachable": { + "description": "Output only. List of Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "OperationStatus": { + "id": "OperationStatus", + "properties": { + "done": { + "description": "Output only. Whether the operation is done or still in progress.", + "type": "boolean" + }, + "errorCode": { + "description": "The error code in case of failures.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "INTERNAL_ERROR", + "PERMISSION_DENIED", + "CLUSTER_CONNECTION" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "errorMessage": { + "description": "The human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "iamOwned": { + "type": "boolean" + }, + "rules": { + "description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied.", + "items": { + "$ref": "Rule" + }, + "type": "array" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PreviewCreateGameServerClusterResponse": { + "description": "Response message for\nGameServerClustersService.PreviewCreateGameServerCluster.", + "id": "PreviewCreateGameServerClusterResponse", + "properties": { + "etag": { + "description": "The ETag of the game server cluster.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + } + }, + "type": "object" + }, + "PreviewDeleteGameServerClusterResponse": { + "description": "Response message for\nGameServerClustersService.PreviewDeleteGameServerCluster.", + "id": "PreviewDeleteGameServerClusterResponse", + "properties": { + "etag": { + "description": "The ETag of the game server cluster.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + } + }, + "type": "object" + }, + "PreviewGameServerDeploymentRolloutResponse": { + "description": "Response message for PreviewGameServerDeploymentRollout.\nThis has details about the Agones fleet and autoscaler to be actuated.", + "id": "PreviewGameServerDeploymentRolloutResponse", + "properties": { + "etag": { + "description": "ETag of the game server deployment.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + }, + "unavailable": { + "description": "Locations that could not be reached on this request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PreviewRealmUpdateResponse": { + "description": "Response message for RealmsService.PreviewRealmUpdate.", + "id": "PreviewRealmUpdateResponse", + "properties": { + "etag": { + "description": "ETag of the realm.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + } + }, + "type": "object" + }, + "PreviewUpdateGameServerClusterResponse": { + "description": "Response message for GameServerClustersService.PreviewUpdateGameServerCluster", + "id": "PreviewUpdateGameServerClusterResponse", + "properties": { + "etag": { + "description": "The ETag of the game server cluster.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + } + }, + "type": "object" + }, + "Realm": { + "description": "A realm resource.", + "id": "Realm", + "properties": { + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Human readable description of the realm.", + "type": "string" + }, + "etag": { + "description": "ETag of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this realm. Each label is a key-value pair.", + "type": "object" + }, + "name": { + "description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.", + "type": "string" + }, + "timeZone": { + "description": "Required. Time zone where all policies targeting this realm are evaluated. The value\nof this field must be from the IANA time zone database:\nhttps://www.iana.org/time-zones.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "RealmSelector": { + "description": "The realm selector, used to match realm resources.", + "id": "RealmSelector", + "properties": { + "realms": { + "description": "List of realms to match.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Rule": { + "description": "A rule to be applied in a Policy.", + "id": "Rule", + "properties": { + "action": { + "description": "Required", + "enum": [ + "NO_ACTION", + "ALLOW", + "ALLOW_WITH_LOG", + "DENY", + "DENY_WITH_LOG", + "LOG" + ], + "enumDescriptions": [ + "Default no action.", + "Matching 'Entries' grant access.", + "Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.", + "Matching 'Entries' deny access.", + "Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.", + "Matching 'Entries' tell IAM.Check callers to generate logs." + ], + "type": "string" + }, + "conditions": { + "description": "Additional restrictions that must be met. All conditions must pass for the\nrule to match.", + "items": { + "$ref": "Condition" + }, + "type": "array" + }, + "description": { + "description": "Human-readable description of the rule.", + "type": "string" + }, + "in": { + "description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logConfig": { + "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.", + "items": { + "$ref": "LogConfig" + }, + "type": "array" + }, + "notIn": { + "description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries can be found at in the Local IAM\ndocumentation (see go/local-iam#features).", + "items": { + "type": "string" + }, + "type": "array" + }, + "permissions": { + "description": "A permission is a string of form '..'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ScalingConfig": { + "description": "Autoscaling config for an Agones fleet.", + "id": "ScalingConfig", + "properties": { + "fleetAutoscalerSpec": { + "description": "Required. Agones fleet autoscaler spec. Example spec:\nhttps://agones.dev/site/docs/reference/fleetautoscaler/", + "type": "string" + }, + "name": { + "description": "Required. The name of the Scaling Config", + "type": "string" + }, + "schedules": { + "description": "The schedules to which this Scaling Config applies.", + "items": { + "$ref": "Schedule" + }, + "type": "array" + }, + "selectors": { + "description": "Labels used to identify the game server clusters to which this Agones\nscaling config applies. A game server cluster is subject to this Agones\nscaling config if its labels match any of the selector entries.", + "items": { + "$ref": "LabelSelector" + }, + "type": "array" + } + }, + "type": "object" + }, + "Schedule": { + "description": "The schedule of a recurring or one time event. The event's time span is\nspecified by start_time and end_time. If the scheduled event's timespan is\nlarger than the cron_spec + cron_job_duration, the event will be recurring.\nIf only cron_spec + cron_job_duration are specified, the event is effective\nstarting at the local time specified by cron_spec, and is recurring.\n\n start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time\n cron job: cron spec start time + duration", + "id": "Schedule", + "properties": { + "cronJobDuration": { + "description": "The duration for the cron job event. The duration of the event is effective\nafter the cron job's start time.", + "format": "google-duration", + "type": "string" + }, + "cronSpec": { + "description": "The cron definition of the scheduled event. See\nhttps://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as\ndefined by the realm.", + "type": "string" + }, + "endTime": { + "description": "The end time of the event.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "The start time of the event.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "SpecSource": { + "description": "Encapsulates Agones fleet spec and Agones autoscaler spec sources.", + "id": "SpecSource", + "properties": { + "gameServerConfigName": { + "description": "The game server config resource. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.", + "type": "string" + }, + "name": { + "description": "The name of the Agones leet config or Agones scaling config used to derive\nthe Agones fleet or Agones autoscaler spec.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TargetDetails": { + "description": "Details about the Agones resources.", + "id": "TargetDetails", + "properties": { + "fleetDetails": { + "description": "Agones fleet details for game server clusters and game server deployments.", + "items": { + "$ref": "TargetFleetDetails" + }, + "type": "array" + }, + "gameServerClusterName": { + "description": "The game server cluster name. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.", + "type": "string" + }, + "gameServerDeploymentName": { + "description": "The game server deployment name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}`.", + "type": "string" + } + }, + "type": "object" + }, + "TargetFleet": { + "description": "Target Agones fleet specification.", + "id": "TargetFleet", + "properties": { + "name": { + "description": "The name of the Agones fleet.", + "type": "string" + }, + "specSource": { + "$ref": "SpecSource", + "description": "Encapsulates the source of the Agones fleet spec.\nThe Agones fleet spec source." + } + }, + "type": "object" + }, + "TargetFleetAutoscaler": { + "description": "Target Agones autoscaler policy reference.", + "id": "TargetFleetAutoscaler", + "properties": { + "name": { + "description": "The name of the Agones autoscaler.", + "type": "string" + }, + "specSource": { + "$ref": "SpecSource", + "description": "Encapsulates the source of the Agones fleet spec.\nDetails about the Agones autoscaler spec." + } + }, + "type": "object" + }, + "TargetFleetDetails": { + "description": "Details of the target Agones fleet.", + "id": "TargetFleetDetails", + "properties": { + "autoscaler": { + "$ref": "TargetFleetAutoscaler", + "description": "Reference to target Agones fleet autoscaling policy." + }, + "fleet": { + "$ref": "TargetFleet", + "description": "Reference to target Agones fleet." + } + }, + "type": "object" + }, + "TargetState": { + "description": "Encapsulates the Target state.", + "id": "TargetState", + "properties": { + "details": { + "description": "Details about Agones fleets.", + "items": { + "$ref": "TargetDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Game Services API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/gameservices/v1beta/gameservices-api.json b/etc/api/gameservices/v1beta/gameservices-api.json new file mode 100644 index 0000000000..360b1ee950 --- /dev/null +++ b/etc/api/gameservices/v1beta/gameservices-api.json @@ -0,0 +1,2749 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://gameservices.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Game Services", + "description": "Deploy and manage infrastructure for global multiplayer gaming experiences.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/solutions/gaming/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "gameservices:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://gameservices.mtls.googleapis.com/", + "name": "gameservices", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "gameservices.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "includeUnrevealedLocations": { + "description": "If true, the returned list will include locations which are not yet\nrevealed.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "gameServerDeployments": { + "methods": { + "create": { + "description": "Creates a new game server deployment in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deploymentId": { + "description": "Required. The ID of the game server delpoyment resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/gameServerDeployments", + "request": { + "$ref": "GameServerDeployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single game server deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.gameServerDeployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server delpoyment to delete. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchDeploymentState": { + "description": "Retrieves information about the current state of the game server\ndeployment. Gathers all the Agones fleets and Agones autoscalers,\nincluding fleets running an older version of the game server deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:fetchDeploymentState", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.fetchDeploymentState", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server delpoyment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:fetchDeploymentState", + "request": { + "$ref": "FetchDeploymentStateRequest" + }, + "response": { + "$ref": "FetchDeploymentStateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single game server deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server delpoyment to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GameServerDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:getIamPolicy", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getRollout": { + "description": "Gets details a single game server deployment rollout.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.getRollout", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server delpoyment to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}/rollout", + "response": { + "$ref": "GameServerDeploymentRollout" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists game server deployments in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If unspecified, the server\nwill pick an appropriate default. The server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerDeployments left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request,\nif any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/gameServerDeployments", + "response": { + "$ref": "ListGameServerDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Patches a game server deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.gameServerDeployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the game server deployment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GameServerDeployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewRollout": { + "description": "Previews the game server deployment rollout. This API does not mutate the\nrollout resource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout:preview", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.gameServerDeployments.previewRollout", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview. Defaults to the immediately\nafter the proposed rollout completes.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/rollout:preview", + "request": { + "$ref": "GameServerDeploymentRollout" + }, + "response": { + "$ref": "PreviewGameServerDeploymentRolloutResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:setIamPolicy", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:testIamPermissions", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateRollout": { + "description": "Patches a single game server deployment rollout.\nThe method will not return an error if the update does not affect any\nexisting realms. For example - if the default_game_server_config is changed\nbut all existing realms use the override, that is valid. Similarly, if a\nnon existing realm is explicitly called out in game_server_config_overrides\nfield, that will also not result in an error.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.gameServerDeployments.updateRollout", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/rollout", + "request": { + "$ref": "GameServerDeploymentRollout" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "configs": { + "methods": { + "create": { + "description": "Creates a new game server config in a given project, location, and game\nserver deployment. Game server configs are immutable, and are not applied\nuntil referenced in the game server deployment rollout resource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.configs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "configId": { + "description": "Required. The ID of the game server config resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/configs", + "request": { + "$ref": "GameServerConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single game server config. The deletion will fail if the game\nserver config is referenced in a game server deployment rollout.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.gameServerDeployments.configs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server config to delete. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single game server config.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.configs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server config to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GameServerConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists game server configs in a given project, location, and game server\ndeployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.configs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If unspecified, server\nwill pick an appropriate default. Server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerConfigs left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/configs", + "response": { + "$ref": "ListGameServerConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "gameservices.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "gameservices.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "realms": { + "methods": { + "create": { + "description": "Creates a new realm in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms", + "httpMethod": "POST", + "id": "gameservices.projects.locations.realms.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "realmId": { + "description": "Required. The ID of the realm resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/realms", + "request": { + "$ref": "Realm" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single realm.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.realms.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the realm to delete. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single realm.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.realms.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the realm to retrieve. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Realm" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists realms in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms", + "httpMethod": "GET", + "id": "gameservices.projects.locations.realms.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If unspecified, server\nwill pick an appropriate default. Server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more realms left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request,\nif any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/realms", + "response": { + "$ref": "ListRealmsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Patches a single realm.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.realms.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The update mask applies to the resource. For the `FieldMask`\ndefinition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Realm" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewUpdate": { + "description": "Previews patches to a single realm.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}:previewUpdate", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.realms.previewUpdate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The update mask applies to the resource. For the `FieldMask`\ndefinition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}:previewUpdate", + "request": { + "$ref": "Realm" + }, + "response": { + "$ref": "PreviewRealmUpdateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "gameServerClusters": { + "methods": { + "create": { + "description": "Creates a new game server cluster in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters", + "httpMethod": "POST", + "id": "gameservices.projects.locations.realms.gameServerClusters.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "gameServerClusterId": { + "description": "Required. The ID of the game server cluster resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm-id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/gameServerClusters", + "request": { + "$ref": "GameServerCluster" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single game server cluster.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.realms.gameServerClusters.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server cluster to delete. Uses the form:\n`projects/{project}/locations/{location}/gameServerClusters/{cluster}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single game server cluster.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.realms.gameServerClusters.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server cluster to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm-id}/gameServerClusters/{cluster}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GameServerCluster" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists game server clusters in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters", + "httpMethod": "GET", + "id": "gameservices.projects.locations.realms.gameServerClusters.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If unspecified, the server\nwill pick an appropriate default. The server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerClusters left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n\"projects/{project}/locations/{location}/realms/{realm}\".", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/gameServerClusters", + "response": { + "$ref": "ListGameServerClustersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Patches a single game server cluster.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.realms.gameServerClusters.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GameServerCluster" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewCreate": { + "description": "Previews creation of a new game server cluster in a given project and\nlocation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters:previewCreate", + "httpMethod": "POST", + "id": "gameservices.projects.locations.realms.gameServerClusters.previewCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "gameServerClusterId": { + "description": "Required. The ID of the game server cluster resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview.", + "format": "google-datetime", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/gameServerClusters:previewCreate", + "request": { + "$ref": "GameServerCluster" + }, + "response": { + "$ref": "PreviewCreateGameServerClusterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewDelete": { + "description": "Previews deletion of a single game server cluster.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewDelete", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.realms.gameServerClusters.previewDelete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the game server cluster to delete. Uses the form:\n`projects/{project}/locations/{location}/gameServerClusters/{cluster}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview.", + "format": "google-datetime", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}:previewDelete", + "response": { + "$ref": "PreviewDeleteGameServerClusterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "previewUpdate": { + "description": "Previews updating a GameServerCluster.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewUpdate", + "httpMethod": "PATCH", + "id": "gameservices.projects.locations.realms.gameServerClusters.previewUpdate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", + "required": true, + "type": "string" + }, + "previewTime": { + "description": "Optional. The target timestamp to compute the preview.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}:previewUpdate", + "request": { + "$ref": "GameServerCluster" + }, + "response": { + "$ref": "PreviewUpdateGameServerClusterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200630", + "rootUrl": "https://gameservices.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "exemptedMembers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreChildExemptions": { + "type": "boolean" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationLoggingOptions": { + "description": "Authorization-related information used by Cloud Audit Logging.", + "id": "AuthorizationLoggingOptions", + "properties": { + "permissionType": { + "description": "The type of the permission that was checked.", + "enum": [ + "PERMISSION_TYPE_UNSPECIFIED", + "ADMIN_READ", + "ADMIN_WRITE", + "DATA_READ", + "DATA_WRITE" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "A read of admin (meta) data.", + "A write of admin (meta) data.", + "A read of standard data.", + "A write of standard data." + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CloudAuditOptions": { + "description": "Write a Cloud Audit log", + "id": "CloudAuditOptions", + "properties": { + "authorizationLoggingOptions": { + "$ref": "AuthorizationLoggingOptions", + "description": "Information used by the Cloud Audit Logging pipeline." + }, + "logName": { + "description": "The log_name to populate in the Cloud Audit Record.", + "enum": [ + "UNSPECIFIED_LOG_NAME", + "ADMIN_ACTIVITY", + "DATA_ACCESS" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "Corresponds to \"cloudaudit.googleapis.com/activity\"", + "Corresponds to \"cloudaudit.googleapis.com/data_access\"" + ], + "type": "string" + } + }, + "type": "object" + }, + "Condition": { + "description": "A condition to be met.", + "id": "Condition", + "properties": { + "iam": { + "description": "Trusted attributes supplied by the IAM system.", + "enum": [ + "NO_ATTR", + "AUTHORITY", + "ATTRIBUTION", + "SECURITY_REALM", + "APPROVER", + "JUSTIFICATION_TYPE", + "CREDENTIALS_TYPE", + "CREDS_ASSERTION" + ], + "enumDescriptions": [ + "Default non-attribute.", + "Either principal or (if present) authority selector.", + "The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.", + "Any of the security realms in the IAMContext (go/security-realms).\nWhen used with IN, the condition indicates \"any of the request's realms\nmatch one of the given values; with NOT_IN, \"none of the realms match\nany of the given values\". Note that a value can be:\n - 'self' (i.e., allow connections from clients that are in the same\n security realm)\n - 'self:cloud-region' (i.e., allow connections from clients that are in\n the same cloud region)\n - 'guardians' (i.e., allow connections from its guardian realms. See\n go/security-realms-glossary#guardian for more information.)\n - a realm (e.g., 'campus-abc')\n - a realm group (e.g., 'realms-for-borg-cell-xx', see: go/realm-groups)\nA match is determined by a realm group\nmembership check performed by a RealmAclRep object (go/realm-acl-howto).\nIt is not permitted to grant access based on the *absence* of a realm, so\nrealm conditions can only be used in a \"positive\" context (e.g., ALLOW/IN\nor DENY/NOT_IN).", + "An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).", + "What types of justifications have been supplied with this request.\nString values should match enum names from\nsecurity.credentials.JustificationType, e.g. \"MANUAL_STRING\". It is not\npermitted to grant access based on the *absence* of a justification, so\njustification conditions can only be used in a \"positive\" context\n(e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported.", + "What type of credentials have been supplied with this request.\nString values should match enum names from\nsecurity_loas_l2.CredentialsType - currently, only CREDS_TYPE_EMERGENCY\nis supported.\nIt is not permitted to grant access based on the *absence* of a\ncredentials type, so the conditions can only be used in a \"positive\"\ncontext (e.g., ALLOW/IN or DENY/NOT_IN).", + "EXPERIMENTAL -- DO NOT USE.\n" + ], + "type": "string" + }, + "op": { + "description": "An operator to apply the subject with.", + "enum": [ + "NO_OP", + "EQUALS", + "NOT_EQUALS", + "IN", + "NOT_IN", + "DISCHARGED" + ], + "enumDescriptions": [ + "Default no-op.", + "DEPRECATED. Use IN instead.", + "DEPRECATED. Use NOT_IN instead.", + "The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.", + "The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.", + "Subject is discharged" + ], + "type": "string" + }, + "svc": { + "description": "Trusted attributes discharged by the service.", + "type": "string" + }, + "sys": { + "description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.", + "enum": [ + "NO_ATTR", + "REGION", + "SERVICE", + "NAME", + "IP" + ], + "enumDescriptions": [ + "Default non-attribute type", + "Region of the resource", + "Service name", + "Resource name", + "IP address of the caller" + ], + "type": "string" + }, + "values": { + "description": "The objects of the condition.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CounterOptions": { + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only,\nand end in \"_count\". Field names should not contain an initial slash.\nThe actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are\ntheir respective values.\n\nSupported field names:\n - \"authority\", which is \"[token]\" if IAMContext.token is present,\n otherwise the value of IAMContext.authority_selector if present, and\n otherwise a representation of IAMContext.principal; or\n - \"iam_principal\", a representation of IAMContext.principal even if a\n token or authority selector is present; or\n - \"\" (empty string), resulting in a counter with no fields.\n\nExamples:\n counter { metric: \"/debug_access_count\" field: \"iam_principal\" }\n ==> increment counter /iam/policy/debug_access_count\n {iam_principal=[value of IAMContext.principal]}", + "id": "CounterOptions", + "properties": { + "customFields": { + "description": "Custom fields.", + "items": { + "$ref": "CustomField" + }, + "type": "array" + }, + "field": { + "description": "The field value to attribute.", + "type": "string" + }, + "metric": { + "description": "The metric to update.", + "type": "string" + } + }, + "type": "object" + }, + "CustomField": { + "description": "Custom fields.\nThese can be used to create a counter with arbitrary field/value\npairs.\nSee: go/rpcsp-custom-fields.", + "id": "CustomField", + "properties": { + "name": { + "description": "Name is the field name.", + "type": "string" + }, + "value": { + "description": "Value is the field value. It is important that in contrast to the\nCounterOptions.field, the value here is a constant that is not\nderived from the IAMContext.", + "type": "string" + } + }, + "type": "object" + }, + "DataAccessOptions": { + "description": "Write a Data Access (Gin) log", + "id": "DataAccessOptions", + "properties": { + "logMode": { + "enum": [ + "LOG_MODE_UNSPECIFIED", + "LOG_FAIL_CLOSED" + ], + "enumDescriptions": [ + "Client is not required to write a partial Gin log immediately after\nthe authorization check. If client chooses to write one and it fails,\nclient may either fail open (allow the operation to continue) or\nfail closed (handle as a DENY outcome).", + "The application's operation in the context of which this authorization\ncheck is being made may only be performed if it is successfully logged\nto Gin. For instance, the authorization library may satisfy this\nobligation by emitting a partial log entry at authorization check time\nand only returning ALLOW to the application if it succeeds.\n\nIf a matching Rule has this directive, but the client has not indicated\nthat it will honor such requirements, then the IAM check will result in\nauthorization failure by setting CheckPolicyResponse.success=false." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeployedClusterState": { + "description": "The game server cluster changes made by the game server deployment.", + "id": "DeployedClusterState", + "properties": { + "cluster": { + "description": "The name of the cluster.", + "type": "string" + }, + "fleetDetails": { + "description": "The details about the Agones fleets and autoscalers created in the\ngame server cluster.", + "items": { + "$ref": "DeployedFleetDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "DeployedFleet": { + "description": "Agones fleet specification and details.", + "id": "DeployedFleet", + "properties": { + "fleet": { + "description": "The name of the Agones fleet.", + "type": "string" + }, + "fleetSpec": { + "description": "The fleet spec retrieved from the Agones fleet.", + "type": "string" + }, + "specSource": { + "$ref": "SpecSource", + "description": "The source spec that is used to create the Agones fleet.\nThe GameServerConfig resource may no longer exist in the system." + }, + "status": { + "$ref": "DeployedFleetStatus", + "description": "The current status of the Agones fleet.\nIncludes count of game servers in various states." + } + }, + "type": "object" + }, + "DeployedFleetAutoscaler": { + "description": "Details about the Agones autoscaler.", + "id": "DeployedFleetAutoscaler", + "properties": { + "autoscaler": { + "description": "The name of the Agones autoscaler.", + "type": "string" + }, + "fleetAutoscalerSpec": { + "description": "The autoscaler spec retrieved from Agones.", + "type": "string" + }, + "specSource": { + "$ref": "SpecSource", + "description": "The source spec that is used to create the autoscaler.\nThe GameServerConfig resource may no longer exist in the system." + } + }, + "type": "object" + }, + "DeployedFleetDetails": { + "description": "Details of the deployed Agones fleet.", + "id": "DeployedFleetDetails", + "properties": { + "deployedAutoscaler": { + "$ref": "DeployedFleetAutoscaler", + "description": "Information about the Agones autoscaler for that fleet." + }, + "deployedFleet": { + "$ref": "DeployedFleet", + "description": "Information about the Agones fleet." + } + }, + "type": "object" + }, + "DeployedFleetStatus": { + "description": "DeployedFleetStatus has details about the Agones fleets such as how many\nare running, how many allocated, and so on.", + "id": "DeployedFleetStatus", + "properties": { + "allocatedReplicas": { + "description": "The number of GameServer replicas in the ALLOCATED state in this fleet.", + "format": "int64", + "type": "string" + }, + "readyReplicas": { + "description": "The number of GameServer replicas in the READY state in this fleet.", + "format": "int64", + "type": "string" + }, + "replicas": { + "description": "The total number of current GameServer replicas in this fleet.", + "format": "int64", + "type": "string" + }, + "reservedReplicas": { + "description": "The number of GameServer replicas in the RESERVED state in this fleet.\nReserved instances won't be deleted on scale down, but won't cause\nan autoscaler to scale up.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "FetchDeploymentStateRequest": { + "description": "Request message for GameServerDeploymentsService.FetchDeploymentState.", + "id": "FetchDeploymentStateRequest", + "properties": {}, + "type": "object" + }, + "FetchDeploymentStateResponse": { + "description": "Response message for GameServerDeploymentsService.FetchDeploymentState.", + "id": "FetchDeploymentStateResponse", + "properties": { + "clusterState": { + "description": "The state of the game server deployment in each game server cluster.", + "items": { + "$ref": "DeployedClusterState" + }, + "type": "array" + }, + "unavailable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FleetConfig": { + "description": "Fleet configs for Agones.", + "id": "FleetConfig", + "properties": { + "fleetSpec": { + "description": "Agones fleet spec. Example spec:\n`https://agones.dev/site/docs/reference/fleet/`.", + "type": "string" + }, + "name": { + "description": "The name of the FleetConfig.", + "type": "string" + } + }, + "type": "object" + }, + "GameServerCluster": { + "description": "A game server cluster resource.", + "id": "GameServerCluster", + "properties": { + "connectionInfo": { + "$ref": "GameServerClusterConnectionInfo", + "description": "The game server cluster connection information. This information is used to\nmanage game server clusters." + }, + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Human readable description of the cluster.", + "type": "string" + }, + "etag": { + "description": "ETag of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this game server cluster. Each label is a\nkey-value pair.", + "type": "object" + }, + "name": { + "description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GameServerClusterConnectionInfo": { + "description": "The game server cluster connection information.", + "id": "GameServerClusterConnectionInfo", + "properties": { + "gkeClusterReference": { + "$ref": "GkeClusterReference", + "description": "Reference to the GKE cluster where the game servers are installed." + }, + "namespace": { + "description": "Namespace designated on the game server cluster where the Agones game\nserver instances will be created. Existence of the namespace will be\nvalidated during creation.", + "type": "string" + } + }, + "type": "object" + }, + "GameServerConfig": { + "description": "A game server config resource.", + "id": "GameServerConfig", + "properties": { + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The description of the game server config.", + "type": "string" + }, + "fleetConfigs": { + "description": "FleetConfig contains a list of Agones fleet specs. Only one FleetConfig\nis allowed.", + "items": { + "$ref": "FleetConfig" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this game server config. Each label is a\nkey-value pair.", + "type": "object" + }, + "name": { + "description": "The resource name of the game server config. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.\nFor example,\n\n`projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", + "type": "string" + }, + "scalingConfigs": { + "description": "The autoscaling settings.", + "items": { + "$ref": "ScalingConfig" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GameServerConfigOverride": { + "description": "A game server config override.", + "id": "GameServerConfigOverride", + "properties": { + "configVersion": { + "description": "The game server config for this override.", + "type": "string" + }, + "realmsSelector": { + "$ref": "RealmSelector", + "description": "Selector for choosing applicable realms." + } + }, + "type": "object" + }, + "GameServerDeployment": { + "description": "A game server deployment resource.", + "id": "GameServerDeployment", + "properties": { + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Human readable description of the game server delpoyment.", + "type": "string" + }, + "etag": { + "description": "ETag of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this game server deployment. Each label is a\nkey-value pair.", + "type": "object" + }, + "name": { + "description": "The resource name of the game server deployment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GameServerDeploymentRollout": { + "description": "The game server deployment rollout which represents the desired rollout\nstate.", + "id": "GameServerDeploymentRollout", + "properties": { + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "defaultGameServerConfig": { + "description": "The default game server config is applied to all realms unless overridden\nin the rollout. For example,\n\n`projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", + "type": "string" + }, + "etag": { + "description": "ETag of the resource.", + "type": "string" + }, + "gameServerConfigOverrides": { + "description": "Contains the game server config rollout overrides. Overrides are processed\nin the order they are listed. Once a match is found for a realm, the rest\nof the list is not processed.", + "items": { + "$ref": "GameServerConfigOverride" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GkeClusterReference": { + "description": "A reference to a GKE cluster.", + "id": "GkeClusterReference", + "properties": { + "cluster": { + "description": "The full or partial name of a GKE cluster, using one of the following\nforms:\n * `projects/{project}/locations/{location}/clusters/{cluster}`\n * `locations/{location}/clusters/{cluster}`\n * `{cluster}`\nIf project and location are not specified, the project and location of the\nGameServerCluster resource are used to generate the full name of the\nGKE cluster.", + "type": "string" + } + }, + "type": "object" + }, + "LabelSelector": { + "description": "The label selector, used to group labels on the resources.", + "id": "LabelSelector", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels for this selector.", + "type": "object" + } + }, + "type": "object" + }, + "ListGameServerClustersResponse": { + "description": "Response message for GameServerClustersService.ListGameServerClusters.", + "id": "ListGameServerClustersResponse", + "properties": { + "gameServerClusters": { + "description": "The list of game server clusters.", + "items": { + "$ref": "GameServerCluster" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListGameServerConfigsResponse": { + "description": "Response message for GameServerConfigsService.ListGameServerConfigs.", + "id": "ListGameServerConfigsResponse", + "properties": { + "gameServerConfigs": { + "description": "The list of game server configs.", + "items": { + "$ref": "GameServerConfig" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListGameServerDeploymentsResponse": { + "description": "Response message for GameServerDeploymentsService.ListGameServerDeployments.", + "id": "ListGameServerDeploymentsResponse", + "properties": { + "gameServerDeployments": { + "description": "The list of game server deployments.", + "items": { + "$ref": "GameServerDeployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRealmsResponse": { + "description": "Response message for RealmsService.ListRealms.", + "id": "ListRealmsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "realms": { + "description": "The list of realms.", + "items": { + "$ref": "Realm" + }, + "type": "array" + }, + "unreachable": { + "description": "List of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LogConfig": { + "description": "Specifies what kind of log the caller must write", + "id": "LogConfig", + "properties": { + "cloudAudit": { + "$ref": "CloudAuditOptions", + "description": "Cloud audit options." + }, + "counter": { + "$ref": "CounterOptions", + "description": "Counter options." + }, + "dataAccess": { + "$ref": "DataAccessOptions", + "description": "Data access options." + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "operationStatus": { + "additionalProperties": { + "$ref": "OperationStatus" + }, + "description": "Output only. Operation status for Game Services API operations. Operation status is in\nthe form of key-value pairs where keys are resource IDs and the values show\nthe status of the operation. In case of failures, the value includes an\nerror code and error message.", + "type": "object" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "unreachable": { + "description": "Output only. List of Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "OperationStatus": { + "id": "OperationStatus", + "properties": { + "done": { + "description": "Output only. Whether the operation is done or still in progress.", + "type": "boolean" + }, + "errorCode": { + "description": "The error code in case of failures.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "INTERNAL_ERROR", + "PERMISSION_DENIED", + "CLUSTER_CONNECTION" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "errorMessage": { + "description": "The human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "iamOwned": { + "type": "boolean" + }, + "rules": { + "description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied.", + "items": { + "$ref": "Rule" + }, + "type": "array" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PreviewCreateGameServerClusterResponse": { + "description": "Response message for\nGameServerClustersService.PreviewCreateGameServerCluster.", + "id": "PreviewCreateGameServerClusterResponse", + "properties": { + "etag": { + "description": "The ETag of the game server cluster.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + } + }, + "type": "object" + }, + "PreviewDeleteGameServerClusterResponse": { + "description": "Response message for\nGameServerClustersService.PreviewDeleteGameServerCluster.", + "id": "PreviewDeleteGameServerClusterResponse", + "properties": { + "etag": { + "description": "The ETag of the game server cluster.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + } + }, + "type": "object" + }, + "PreviewGameServerDeploymentRolloutResponse": { + "description": "Response message for PreviewGameServerDeploymentRollout.\nThis has details about the Agones fleet and autoscaler to be actuated.", + "id": "PreviewGameServerDeploymentRolloutResponse", + "properties": { + "etag": { + "description": "ETag of the game server deployment.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + }, + "unavailable": { + "description": "Locations that could not be reached on this request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PreviewRealmUpdateResponse": { + "description": "Response message for RealmsService.PreviewRealmUpdate.", + "id": "PreviewRealmUpdateResponse", + "properties": { + "etag": { + "description": "ETag of the realm.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + } + }, + "type": "object" + }, + "PreviewUpdateGameServerClusterResponse": { + "description": "Response message for GameServerClustersService.PreviewUpdateGameServerCluster", + "id": "PreviewUpdateGameServerClusterResponse", + "properties": { + "etag": { + "description": "The ETag of the game server cluster.", + "type": "string" + }, + "targetState": { + "$ref": "TargetState", + "description": "The target state." + } + }, + "type": "object" + }, + "Realm": { + "description": "A realm resource.", + "id": "Realm", + "properties": { + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Human readable description of the realm.", + "type": "string" + }, + "etag": { + "description": "ETag of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this realm. Each label is a key-value pair.", + "type": "object" + }, + "name": { + "description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.", + "type": "string" + }, + "timeZone": { + "description": "Required. Time zone where all policies targeting this realm are evaluated. The value\nof this field must be from the IANA time zone database:\nhttps://www.iana.org/time-zones.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "RealmSelector": { + "description": "The realm selector, used to match realm resources.", + "id": "RealmSelector", + "properties": { + "realms": { + "description": "List of realms to match.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Rule": { + "description": "A rule to be applied in a Policy.", + "id": "Rule", + "properties": { + "action": { + "description": "Required", + "enum": [ + "NO_ACTION", + "ALLOW", + "ALLOW_WITH_LOG", + "DENY", + "DENY_WITH_LOG", + "LOG" + ], + "enumDescriptions": [ + "Default no action.", + "Matching 'Entries' grant access.", + "Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.", + "Matching 'Entries' deny access.", + "Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.", + "Matching 'Entries' tell IAM.Check callers to generate logs." + ], + "type": "string" + }, + "conditions": { + "description": "Additional restrictions that must be met. All conditions must pass for the\nrule to match.", + "items": { + "$ref": "Condition" + }, + "type": "array" + }, + "description": { + "description": "Human-readable description of the rule.", + "type": "string" + }, + "in": { + "description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logConfig": { + "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.", + "items": { + "$ref": "LogConfig" + }, + "type": "array" + }, + "notIn": { + "description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries can be found at in the Local IAM\ndocumentation (see go/local-iam#features).", + "items": { + "type": "string" + }, + "type": "array" + }, + "permissions": { + "description": "A permission is a string of form '..'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ScalingConfig": { + "description": "Autoscaling config for an Agones fleet.", + "id": "ScalingConfig", + "properties": { + "fleetAutoscalerSpec": { + "description": "Required. Agones fleet autoscaler spec. Example spec:\nhttps://agones.dev/site/docs/reference/fleetautoscaler/", + "type": "string" + }, + "name": { + "description": "Required. The name of the Scaling Config", + "type": "string" + }, + "schedules": { + "description": "The schedules to which this Scaling Config applies.", + "items": { + "$ref": "Schedule" + }, + "type": "array" + }, + "selectors": { + "description": "Labels used to identify the game server clusters to which this Agones\nscaling config applies. A game server cluster is subject to this Agones\nscaling config if its labels match any of the selector entries.", + "items": { + "$ref": "LabelSelector" + }, + "type": "array" + } + }, + "type": "object" + }, + "Schedule": { + "description": "The schedule of a recurring or one time event. The event's time span is\nspecified by start_time and end_time. If the scheduled event's timespan is\nlarger than the cron_spec + cron_job_duration, the event will be recurring.\nIf only cron_spec + cron_job_duration are specified, the event is effective\nstarting at the local time specified by cron_spec, and is recurring.\n\n start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time\n cron job: cron spec start time + duration", + "id": "Schedule", + "properties": { + "cronJobDuration": { + "description": "The duration for the cron job event. The duration of the event is effective\nafter the cron job's start time.", + "format": "google-duration", + "type": "string" + }, + "cronSpec": { + "description": "The cron definition of the scheduled event. See\nhttps://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as\ndefined by the realm.", + "type": "string" + }, + "endTime": { + "description": "The end time of the event.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "The start time of the event.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "SpecSource": { + "description": "Encapsulates Agones fleet spec and Agones autoscaler spec sources.", + "id": "SpecSource", + "properties": { + "gameServerConfigName": { + "description": "The game server config resource. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.", + "type": "string" + }, + "name": { + "description": "The name of the Agones leet config or Agones scaling config used to derive\nthe Agones fleet or Agones autoscaler spec.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TargetDetails": { + "description": "Details about the Agones resources.", + "id": "TargetDetails", + "properties": { + "fleetDetails": { + "description": "Agones fleet details for game server clusters and game server deployments.", + "items": { + "$ref": "TargetFleetDetails" + }, + "type": "array" + }, + "gameServerClusterName": { + "description": "The game server cluster name. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.", + "type": "string" + }, + "gameServerDeploymentName": { + "description": "The game server deployment name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}`.", + "type": "string" + } + }, + "type": "object" + }, + "TargetFleet": { + "description": "Target Agones fleet specification.", + "id": "TargetFleet", + "properties": { + "name": { + "description": "The name of the Agones fleet.", + "type": "string" + }, + "specSource": { + "$ref": "SpecSource", + "description": "Encapsulates the source of the Agones fleet spec.\nThe Agones fleet spec source." + } + }, + "type": "object" + }, + "TargetFleetAutoscaler": { + "description": "Target Agones autoscaler policy reference.", + "id": "TargetFleetAutoscaler", + "properties": { + "name": { + "description": "The name of the Agones autoscaler.", + "type": "string" + }, + "specSource": { + "$ref": "SpecSource", + "description": "Encapsulates the source of the Agones fleet spec.\nDetails about the Agones autoscaler spec." + } + }, + "type": "object" + }, + "TargetFleetDetails": { + "description": "Details of the target Agones fleet.", + "id": "TargetFleetDetails", + "properties": { + "autoscaler": { + "$ref": "TargetFleetAutoscaler", + "description": "Reference to target Agones fleet autoscaling policy." + }, + "fleet": { + "$ref": "TargetFleet", + "description": "Reference to target Agones fleet." + } + }, + "type": "object" + }, + "TargetState": { + "description": "Encapsulates the Target state.", + "id": "TargetState", + "properties": { + "details": { + "description": "Details about Agones fleets.", + "items": { + "$ref": "TargetDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Game Services API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/gamesmanagement/v1management/gamesmanagement-api.json b/etc/api/gamesmanagement/v1management/gamesmanagement-api.json index 8c37904b76..1b96fa1822 100644 --- a/etc/api/gamesmanagement/v1management/gamesmanagement-api.json +++ b/etc/api/gamesmanagement/v1management/gamesmanagement-api.json @@ -8,36 +8,63 @@ } } }, - "basePath": "/games/v1management/", - "baseUrl": "https://www.googleapis.com/games/v1management/", - "batchPath": "batch/gamesManagement/v1management", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", + "batchPath": "batch/games/v1management", "canonicalName": "Games Management", - "description": "The Management API for Google Play Game Services.", + "description": "The Google Play Game Management API allows developers to manage resources from the Google\n Play Game service.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/games/services", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/6aLuoaZac1pdM_CUSJsS-zYRIHE\"", + "documentationLink": "https://developers.google.com/games/", "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "gamesManagement:v1management", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "gamesManagement", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -60,12 +87,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -75,7 +107,8 @@ "achievements": { "methods": { "reset": { - "description": "Resets the achievement with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.", + "description": "Resets the achievement with the given ID for the currently authenticated\nplayer. This method is only accessible to whitelisted tester accounts for\nyour application.", + "flatPath": "games/v1management/achievements/{achievementId}/reset", "httpMethod": "POST", "id": "gamesManagement.achievements.reset", "parameterOrder": [ @@ -89,7 +122,7 @@ "type": "string" } }, - "path": "achievements/{achievementId}/reset", + "path": "games/v1management/achievements/{achievementId}/reset", "response": { "$ref": "AchievementResetResponse" }, @@ -98,10 +131,13 @@ ] }, "resetAll": { - "description": "Resets all achievements for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.", + "description": "Resets all achievements for the currently authenticated player for your\napplication. This method is only accessible to whitelisted tester accounts\nfor your application.", + "flatPath": "games/v1management/achievements/reset", "httpMethod": "POST", "id": "gamesManagement.achievements.resetAll", - "path": "achievements/reset", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/achievements/reset", "response": { "$ref": "AchievementResetAllResponse" }, @@ -110,16 +146,20 @@ ] }, "resetAllForAllPlayers": { - "description": "Resets all draft achievements for all players. This method is only available to user accounts for your developer console.", + "description": "Resets all draft achievements for all players. This method is only\navailable to user accounts for your developer console.", + "flatPath": "games/v1management/achievements/resetAllForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.achievements.resetAllForAllPlayers", - "path": "achievements/resetAllForAllPlayers", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/achievements/resetAllForAllPlayers", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "resetForAllPlayers": { - "description": "Resets the achievement with the given ID for all players. This method is only available to user accounts for your developer console. Only draft achievements can be reset.", + "description": "Resets the achievement with the given ID for all players. This method is\nonly available to user accounts for your developer console. Only draft\nachievements can be reset.", + "flatPath": "games/v1management/achievements/{achievementId}/resetForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.achievements.resetForAllPlayers", "parameterOrder": [ @@ -133,16 +173,19 @@ "type": "string" } }, - "path": "achievements/{achievementId}/resetForAllPlayers", + "path": "games/v1management/achievements/{achievementId}/resetForAllPlayers", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "resetMultipleForAllPlayers": { - "description": "Resets achievements with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft achievements may be reset.", + "description": "Resets achievements with the given IDs for all players. This method is only\navailable to user accounts for your developer console. Only draft\nachievements may be reset.", + "flatPath": "games/v1management/achievements/resetMultipleForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.achievements.resetMultipleForAllPlayers", - "path": "achievements/resetMultipleForAllPlayers", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/achievements/resetMultipleForAllPlayers", "request": { "$ref": "AchievementResetMultipleForAllRequest" }, @@ -155,7 +198,8 @@ "applications": { "methods": { "listHidden": { - "description": "Get the list of players hidden from the given application. This method is only available to user accounts for your developer console.", + "description": "Get the list of players hidden from the given application. This method is\nonly available to user accounts for your developer console.", + "flatPath": "games/v1management/applications/{applicationId}/players/hidden", "httpMethod": "GET", "id": "gamesManagement.applications.listHidden", "parameterOrder": [ @@ -169,11 +213,9 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified maxResults.", + "description": "The maximum number of player resources to return in the response, used for\npaging. For any response, the actual number of player resources returned\nmay be less than the specified `maxResults`.", "format": "int32", "location": "query", - "maximum": "50", - "minimum": "1", "type": "integer" }, "pageToken": { @@ -182,7 +224,7 @@ "type": "string" } }, - "path": "applications/{applicationId}/players/hidden", + "path": "games/v1management/applications/{applicationId}/players/hidden", "response": { "$ref": "HiddenPlayerList" }, @@ -195,7 +237,8 @@ "events": { "methods": { "reset": { - "description": "Resets all player progress on the event with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.", + "description": "Resets all player progress on the event with the given ID for the currently\nauthenticated player. This method is only accessible to whitelisted tester\naccounts for your application.", + "flatPath": "games/v1management/events/{eventId}/reset", "httpMethod": "POST", "id": "gamesManagement.events.reset", "parameterOrder": [ @@ -209,31 +252,38 @@ "type": "string" } }, - "path": "events/{eventId}/reset", + "path": "games/v1management/events/{eventId}/reset", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "resetAll": { - "description": "Resets all player progress on all events for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.", + "description": "Resets all player progress on all events for the currently authenticated\nplayer. This method is only accessible to whitelisted tester accounts for\nyour application.", + "flatPath": "games/v1management/events/reset", "httpMethod": "POST", "id": "gamesManagement.events.resetAll", - "path": "events/reset", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/events/reset", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "resetAllForAllPlayers": { - "description": "Resets all draft events for all players. This method is only available to user accounts for your developer console.", + "description": "Resets all draft events for all players. This method is only available to\nuser accounts for your developer console.", + "flatPath": "games/v1management/events/resetAllForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.events.resetAllForAllPlayers", - "path": "events/resetAllForAllPlayers", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/events/resetAllForAllPlayers", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "resetForAllPlayers": { - "description": "Resets the event with the given ID for all players. This method is only available to user accounts for your developer console. Only draft events can be reset.", + "description": "Resets the event with the given ID for all players. This method is only\navailable to user accounts for your developer console. Only draft events\ncan be reset.", + "flatPath": "games/v1management/events/{eventId}/resetForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.events.resetForAllPlayers", "parameterOrder": [ @@ -247,16 +297,19 @@ "type": "string" } }, - "path": "events/{eventId}/resetForAllPlayers", + "path": "games/v1management/events/{eventId}/resetForAllPlayers", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "resetMultipleForAllPlayers": { - "description": "Resets events with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft events may be reset.", + "description": "Resets events with the given IDs for all players. This method is only\navailable to user accounts for your developer console. Only draft events\nmay be reset.", + "flatPath": "games/v1management/events/resetMultipleForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.events.resetMultipleForAllPlayers", - "path": "events/resetMultipleForAllPlayers", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/events/resetMultipleForAllPlayers", "request": { "$ref": "EventsResetMultipleForAllRequest" }, @@ -269,7 +322,8 @@ "players": { "methods": { "hide": { - "description": "Hide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.", + "description": "Hide the given player's leaderboard scores from the given application. This\nmethod is only available to user accounts for your developer console.", + "flatPath": "games/v1management/applications/{applicationId}/players/hidden/{playerId}", "httpMethod": "POST", "id": "gamesManagement.players.hide", "parameterOrder": [ @@ -284,19 +338,20 @@ "type": "string" }, "playerId": { - "description": "A player ID. A value of me may be used in place of the authenticated player's ID.", + "description": "A player ID. A value of `me` may be used in place of the\nauthenticated player's ID.", "location": "path", "required": true, "type": "string" } }, - "path": "applications/{applicationId}/players/hidden/{playerId}", + "path": "games/v1management/applications/{applicationId}/players/hidden/{playerId}", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "unhide": { - "description": "Unhide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.", + "description": "Unhide the given player's leaderboard scores from the given application.\nThis method is only available to user accounts for your developer console.", + "flatPath": "games/v1management/applications/{applicationId}/players/hidden/{playerId}", "httpMethod": "DELETE", "id": "gamesManagement.players.unhide", "parameterOrder": [ @@ -311,35 +366,13 @@ "type": "string" }, "playerId": { - "description": "A player ID. A value of me may be used in place of the authenticated player's ID.", + "description": "A player ID. A value of `me` may be used in place of the\nauthenticated player's ID.", "location": "path", "required": true, "type": "string" } }, - "path": "applications/{applicationId}/players/hidden/{playerId}", - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - } - } - }, - "rooms": { - "methods": { - "reset": { - "description": "Reset all rooms for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.", - "httpMethod": "POST", - "id": "gamesManagement.rooms.reset", - "path": "rooms/reset", - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "resetForAllPlayers": { - "description": "Deletes rooms where the only room participants are from whitelisted tester accounts for your application. This method is only available to user accounts for your developer console.", - "httpMethod": "POST", - "id": "gamesManagement.rooms.resetForAllPlayers", - "path": "rooms/resetForAllPlayers", + "path": "games/v1management/applications/{applicationId}/players/hidden/{playerId}", "scopes": [ "https://www.googleapis.com/auth/games" ] @@ -349,7 +382,8 @@ "scores": { "methods": { "reset": { - "description": "Resets scores for the leaderboard with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.", + "description": "Resets scores for the leaderboard with the given ID for the currently\nauthenticated player. This method is only accessible to whitelisted tester\naccounts for your application.", + "flatPath": "games/v1management/leaderboards/{leaderboardId}/scores/reset", "httpMethod": "POST", "id": "gamesManagement.scores.reset", "parameterOrder": [ @@ -363,7 +397,7 @@ "type": "string" } }, - "path": "leaderboards/{leaderboardId}/scores/reset", + "path": "games/v1management/leaderboards/{leaderboardId}/scores/reset", "response": { "$ref": "PlayerScoreResetResponse" }, @@ -372,10 +406,13 @@ ] }, "resetAll": { - "description": "Resets all scores for all leaderboards for the currently authenticated players. This method is only accessible to whitelisted tester accounts for your application.", + "description": "Resets all scores for all leaderboards for the currently authenticated\nplayers. This method is only accessible to whitelisted tester accounts for\nyour application.", + "flatPath": "games/v1management/scores/reset", "httpMethod": "POST", "id": "gamesManagement.scores.resetAll", - "path": "scores/reset", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/scores/reset", "response": { "$ref": "PlayerScoreResetAllResponse" }, @@ -384,16 +421,20 @@ ] }, "resetAllForAllPlayers": { - "description": "Resets scores for all draft leaderboards for all players. This method is only available to user accounts for your developer console.", + "description": "Resets scores for all draft leaderboards for all players. This method is\nonly available to user accounts for your developer console.", + "flatPath": "games/v1management/scores/resetAllForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.scores.resetAllForAllPlayers", - "path": "scores/resetAllForAllPlayers", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/scores/resetAllForAllPlayers", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "resetForAllPlayers": { - "description": "Resets scores for the leaderboard with the given ID for all players. This method is only available to user accounts for your developer console. Only draft leaderboards can be reset.", + "description": "Resets scores for the leaderboard with the given ID for all players. This\nmethod is only available to user accounts for your developer console. Only\ndraft leaderboards can be reset.", + "flatPath": "games/v1management/leaderboards/{leaderboardId}/scores/resetForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.scores.resetForAllPlayers", "parameterOrder": [ @@ -407,16 +448,19 @@ "type": "string" } }, - "path": "leaderboards/{leaderboardId}/scores/resetForAllPlayers", + "path": "games/v1management/leaderboards/{leaderboardId}/scores/resetForAllPlayers", "scopes": [ "https://www.googleapis.com/auth/games" ] }, "resetMultipleForAllPlayers": { - "description": "Resets scores for the leaderboards with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft leaderboards may be reset.", + "description": "Resets scores for the leaderboards with the given IDs for all players. This\nmethod is only available to user accounts for your developer console. Only\ndraft leaderboards may be reset.", + "flatPath": "games/v1management/scores/resetMultipleForAllPlayers", "httpMethod": "POST", "id": "gamesManagement.scores.resetMultipleForAllPlayers", - "path": "scores/resetMultipleForAllPlayers", + "parameterOrder": [], + "parameters": {}, + "path": "games/v1management/scores/resetMultipleForAllPlayers", "request": { "$ref": "ScoresResetMultipleForAllRequest" }, @@ -425,40 +469,17 @@ ] } } - }, - "turnBasedMatches": { - "methods": { - "reset": { - "description": "Reset all turn-based match data for a user. This method is only accessible to whitelisted tester accounts for your application.", - "httpMethod": "POST", - "id": "gamesManagement.turnBasedMatches.reset", - "path": "turnbasedmatches/reset", - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - }, - "resetForAllPlayers": { - "description": "Deletes turn-based matches where the only match participants are from whitelisted tester accounts for your application. This method is only available to user accounts for your developer console.", - "httpMethod": "POST", - "id": "gamesManagement.turnBasedMatches.resetForAllPlayers", - "path": "turnbasedmatches/resetForAllPlayers", - "scopes": [ - "https://www.googleapis.com/auth/games" - ] - } - } } }, - "revision": "20200402", + "revision": "20200701", "rootUrl": "https://www.googleapis.com/", "schemas": { "AchievementResetAllResponse": { - "description": "This is a JSON template for achievement reset all response.", + "description": "Achievement reset all response.", "id": "AchievementResetAllResponse", "properties": { "kind": { - "default": "gamesManagement#achievementResetAllResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetAllResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#achievementResetAllResponse`.", "type": "string" }, "results": { @@ -472,7 +493,6 @@ "type": "object" }, "AchievementResetMultipleForAllRequest": { - "description": "This is a JSON template for multiple achievements reset all request.", "id": "AchievementResetMultipleForAllRequest", "properties": { "achievement_ids": { @@ -483,19 +503,18 @@ "type": "array" }, "kind": { - "default": "gamesManagement#achievementResetMultipleForAllRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetMultipleForAllRequest.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#achievementResetMultipleForAllRequest`.", "type": "string" } }, "type": "object" }, "AchievementResetResponse": { - "description": "This is a JSON template for an achievement reset response.", + "description": "An achievement reset response.", "id": "AchievementResetResponse", "properties": { "currentState": { - "description": "The current state of the achievement. This is the same as the initial state of the achievement.\nPossible values are: \n- \"HIDDEN\"- Achievement is hidden. \n- \"REVEALED\" - Achievement is revealed. \n- \"UNLOCKED\" - Achievement is unlocked.", + "description": "The current state of the achievement. This is the same as the initial\nstate of the achievement.
Possible values are:
    \n
  • \"`HIDDEN`\"- Achievement is hidden.
  • \n
  • \"`REVEALED`\" - Achievement is revealed.
  • \n
  • \"`UNLOCKED`\" - Achievement is unlocked.
", "type": "string" }, "definitionId": { @@ -503,8 +522,7 @@ "type": "string" }, "kind": { - "default": "gamesManagement#achievementResetResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#achievementResetResponse`.", "type": "string" }, "updateOccurred": { @@ -515,7 +533,7 @@ "type": "object" }, "EventsResetMultipleForAllRequest": { - "description": "This is a JSON template for multiple events reset all request.", + "description": "Multiple events reset all request.", "id": "EventsResetMultipleForAllRequest", "properties": { "event_ids": { @@ -526,31 +544,14 @@ "type": "array" }, "kind": { - "default": "gamesManagement#eventsResetMultipleForAllRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#eventsResetMultipleForAllRequest.", - "type": "string" - } - }, - "type": "object" - }, - "GamesPlayedResource": { - "description": "This is a JSON template for metadata about a player playing a game with the currently authenticated user.", - "id": "GamesPlayedResource", - "properties": { - "autoMatched": { - "description": "True if the player was auto-matched with the currently authenticated user.", - "type": "boolean" - }, - "timeMillis": { - "description": "The last time the player played the game in milliseconds since the epoch in UTC.", - "format": "int64", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#eventsResetMultipleForAllRequest`.", "type": "string" } }, "type": "object" }, "GamesPlayerExperienceInfoResource": { - "description": "This is a JSON template for 1P/3P metadata about the player's experience.", + "description": "1P/3P metadata about the player's experience.", "id": "GamesPlayerExperienceInfoResource", "properties": { "currentExperiencePoints": { @@ -563,19 +564,19 @@ "description": "The current level of the player." }, "lastLevelUpTimestampMillis": { - "description": "The timestamp when the player was leveled up, in millis since Unix epoch UTC.", + "description": "The timestamp when the player was leveled up, in millis since Unix epoch\nUTC.", "format": "int64", "type": "string" }, "nextLevel": { "$ref": "GamesPlayerLevelResource", - "description": "The next level of the player. If the current level is the maximum level, this should be same as the current level." + "description": "The next level of the player. If the current level is the maximum level,\nthis should be same as the current level." } }, "type": "object" }, "GamesPlayerLevelResource": { - "description": "This is a JSON template for 1P/3P metadata about a user's level.", + "description": "1P/3P metadata about a user's level.", "id": "GamesPlayerLevelResource", "properties": { "level": { @@ -597,28 +598,27 @@ "type": "object" }, "HiddenPlayer": { - "description": "This is a JSON template for the HiddenPlayer resource.", + "description": "The HiddenPlayer resource.", "id": "HiddenPlayer", "properties": { "hiddenTimeMillis": { - "description": "The time this player was hidden.", + "description": "Output only. The time this player was hidden.", "format": "int64", "type": "string" }, "kind": { - "default": "gamesManagement#hiddenPlayer", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#hiddenPlayer.", + "description": "Output only. Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#hiddenPlayer`.", "type": "string" }, "player": { "$ref": "Player", - "description": "The player information." + "description": "Output only. The player information." } }, "type": "object" }, "HiddenPlayerList": { - "description": "This is a JSON template for a list of hidden players.", + "description": "A list of hidden players.", "id": "HiddenPlayerList", "properties": { "items": { @@ -629,8 +629,7 @@ "type": "array" }, "kind": { - "default": "gamesManagement#hiddenPlayerList", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#hiddenPlayerList.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#hiddenPlayerList`.", "type": "string" }, "nextPageToken": { @@ -641,7 +640,7 @@ "type": "object" }, "Player": { - "description": "This is a JSON template for a Player resource.", + "description": "A Player resource.", "id": "Player", "properties": { "avatarImageUrl": { @@ -664,47 +663,35 @@ "$ref": "GamesPlayerExperienceInfoResource", "description": "An object to represent Play Game experience information for the player." }, - "friendStatus": { - "description": "The friend status of the given player, relative to the requester. This is unset if the player is not sharing their friends list with the game.", - "type": "string" - }, "kind": { - "default": "gamesManagement#player", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#player.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#player`.", "type": "string" }, - "lastPlayedWith": { - "$ref": "GamesPlayedResource", - "description": "Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members." - }, "name": { - "description": "An object representation of the individual components of the player's name. For some players, these fields may not be present.", + "description": "An object representation of the individual components of the player's name.\nFor some players, these fields may not be present.", "properties": { "familyName": { - "description": "The family name of this player. In some places, this is known as the last name.", + "description": "The family name of this player. In some places, this is known as the last\nname.", "type": "string" }, "givenName": { - "description": "The given name of this player. In some places, this is known as the first name.", + "description": "The given name of this player. In some places, this is known as the first\nname.", "type": "string" } }, "type": "object" }, "originalPlayerId": { - "description": "The player ID that was used for this player the first time they signed into the game in question. This is only populated for calls to player.get for the requesting player, only if the player ID has subsequently changed, and only to clients that support remapping player IDs.", + "description": "The player ID that was used for this player the first time they signed into\nthe game in question. This is only populated for calls to player.get for\nthe requesting player, only if the player ID has subsequently changed, and\nonly to clients that support remapping player IDs.", "type": "string" }, "playerId": { "description": "The ID of the player.", "type": "string" }, - "playerStattus": { - "type": "string" - }, "profileSettings": { "$ref": "ProfileSettings", - "description": "The player's profile settings. Controls whether or not the player's profile is visible to other players." + "description": "The player's profile settings. Controls whether or not the player's profile\nis visible to other players." }, "title": { "description": "The player's title rewarded for their game activities.", @@ -714,12 +701,11 @@ "type": "object" }, "PlayerScoreResetAllResponse": { - "description": "This is a JSON template for a list of leaderboard reset resources.", + "description": "A list of leaderboard reset resources.", "id": "PlayerScoreResetAllResponse", "properties": { "kind": { - "default": "gamesManagement#playerScoreResetAllResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#playerScoreResetResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#playerScoreResetAllResponse`.", "type": "string" }, "results": { @@ -733,7 +719,7 @@ "type": "object" }, "PlayerScoreResetResponse": { - "description": "This is a JSON template for a list of reset leaderboard entry resources.", + "description": "A list of reset leaderboard entry resources.", "id": "PlayerScoreResetResponse", "properties": { "definitionId": { @@ -741,12 +727,11 @@ "type": "string" }, "kind": { - "default": "gamesManagement#playerScoreResetResponse", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#playerScoreResetResponse.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#playerScoreResetResponse`.", "type": "string" }, "resetScoreTimeSpans": { - "description": "The time spans of the updated score.\nPossible values are: \n- \"ALL_TIME\" - The score is an all-time score. \n- \"WEEKLY\" - The score is a weekly score. \n- \"DAILY\" - The score is a daily score.", + "description": "The time spans of the updated score.
Possible values are:
    \n
  • \"`ALL_TIME`\" - The score is an all-time score.
  • \n
  • \"`WEEKLY`\" - The score is a weekly score.
  • \n
  • \"`DAILY`\" - The score is a daily score.
", "items": { "type": "string" }, @@ -756,12 +741,11 @@ "type": "object" }, "ProfileSettings": { - "description": "This is a JSON template for profile settings", + "description": "Profile settings", "id": "ProfileSettings", "properties": { "kind": { - "default": "gamesManagement#profileSettings", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#profileSettings.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#profileSettings`.", "type": "string" }, "profileVisible": { @@ -771,12 +755,10 @@ "type": "object" }, "ScoresResetMultipleForAllRequest": { - "description": "This is a JSON template for multiple scores reset all request.", "id": "ScoresResetMultipleForAllRequest", "properties": { "kind": { - "default": "gamesManagement#scoresResetMultipleForAllRequest", - "description": "Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#scoresResetMultipleForAllRequest.", + "description": "Uniquely identifies the type of this resource. Value is always the fixed\nstring `gamesManagement#scoresResetMultipleForAllRequest`.", "type": "string" }, "leaderboard_ids": { @@ -790,7 +772,7 @@ "type": "object" } }, - "servicePath": "games/v1management/", - "title": "Google Play Game Services Management API", + "servicePath": "", + "title": "Google Play Game Management", "version": "v1management" } \ No newline at end of file diff --git a/etc/api/genomics/v1/genomics-api.json b/etc/api/genomics/v1/genomics-api.json index 6ff473c002..5ecbdc69d2 100644 --- a/etc/api/genomics/v1/genomics-api.json +++ b/etc/api/genomics/v1/genomics-api.json @@ -209,7 +209,7 @@ } } }, - "revision": "20200316", + "revision": "20200707", "rootUrl": "https://genomics.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/etc/api/genomics/v1alpha2/genomics-api.json b/etc/api/genomics/v1alpha2/genomics-api.json index e48885e106..7cce7682fc 100644 --- a/etc/api/genomics/v1alpha2/genomics-api.json +++ b/etc/api/genomics/v1alpha2/genomics-api.json @@ -389,7 +389,7 @@ } } }, - "revision": "20200316", + "revision": "20200707", "rootUrl": "https://genomics.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/etc/api/genomics/v2alpha1/genomics-api.json b/etc/api/genomics/v2alpha1/genomics-api.json index 84d7df3069..3d404ce9f8 100644 --- a/etc/api/genomics/v2alpha1/genomics-api.json +++ b/etc/api/genomics/v2alpha1/genomics-api.json @@ -232,6 +232,39 @@ ] } } + }, + "workers": { + "methods": { + "checkIn": { + "description": "The worker uses this method to retrieve the assigned operation and\nprovide periodic status updates.", + "flatPath": "v2alpha1/projects/{projectsId}/workers/{workersId}:checkIn", + "httpMethod": "POST", + "id": "genomics.projects.workers.checkIn", + "parameterOrder": [ + "id" + ], + "parameters": { + "id": { + "description": "The VM identity token for authenticating the VM instance.\nhttps://cloud.google.com/compute/docs/instances/verifying-instance-identity", + "location": "path", + "pattern": "^projects/[^/]+/workers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+id}:checkIn", + "request": { + "$ref": "CheckInRequest" + }, + "response": { + "$ref": "CheckInResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + } + } } } }, @@ -247,7 +280,7 @@ ], "parameters": { "id": { - "description": "The worker id, assigned when it was created.", + "description": "The VM identity token for authenticating the VM instance.\nhttps://cloud.google.com/compute/docs/instances/verifying-instance-identity", "location": "path", "required": true, "type": "string" @@ -265,10 +298,49 @@ "https://www.googleapis.com/auth/genomics" ] } + }, + "resources": { + "projects": { + "resources": { + "workers": { + "methods": { + "uploadSosReport": { + "description": "The worker uses this method to upload SOS reports for unexpected errors.", + "flatPath": "v2alpha1/workers/projects/{projectsId}/workers/{workersId}:uploadSosReport", + "httpMethod": "POST", + "id": "genomics.workers.projects.workers.uploadSosReport", + "parameterOrder": [ + "id" + ], + "parameters": { + "id": { + "description": "The VM identity token for authenticating the VM instance.\nhttps://cloud.google.com/compute/docs/instances/verifying-instance-identity", + "location": "path", + "pattern": "^projects/[^/]+/workers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/workers/{+id}:uploadSosReport", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "UploadSOSReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + } + } + } + } + } } } }, - "revision": "20200316", + "revision": "20200707", "rootUrl": "https://genomics.googleapis.com/", "schemas": { "Accelerator": { @@ -667,6 +739,33 @@ }, "type": "object" }, + "HttpBody": { + "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody) returns\n (google.protobuf.Empty);\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.", + "id": "HttpBody", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "format": "byte", + "type": "string" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -1092,6 +1191,12 @@ }, "type": "object" }, + "UploadSOSReportResponse": { + "description": "The response to the UploadSOSReport method.", + "id": "UploadSOSReportResponse", + "properties": {}, + "type": "object" + }, "VirtualMachine": { "description": "Carries information about a Compute Engine VM resource.", "id": "VirtualMachine", @@ -1123,6 +1228,13 @@ }, "type": "array" }, + "dockerCacheImages": { + "description": "The Compute Engine Disk Images to use as a Docker cache. The disks will be\nmounted into the Docker folder in a way that the images present in the\ncache will not need to be pulled. The digests of the cached images must\nmatch those of the tags used or the latest version will still be pulled.\nOnly a single image is supported.", + "items": { + "type": "string" + }, + "type": "array" + }, "enableStackdriverMonitoring": { "description": "Whether Stackdriver monitoring should be enabled on the VM.", "type": "boolean" diff --git a/etc/api/gmail/v1/gmail-api.json b/etc/api/gmail/v1/gmail-api.json index b11ec3a86a..efa40b99ef 100644 --- a/etc/api/gmail/v1/gmail-api.json +++ b/etc/api/gmail/v1/gmail-api.json @@ -49,7 +49,7 @@ }, "basePath": "", "baseUrl": "https://www.googleapis.com/", - "batchPath": "batch", + "batchPath": "batch/gmail/v1", "canonicalName": "Gmail", "description": "The Gmail API lets you view and manage Gmail mailbox data like\n threads, messages, and labels.", "discoveryVersion": "v1", @@ -245,6 +245,10 @@ ], "maxSize": "36700160", "protocols": { + "resumable": { + "multipart": true, + "path": "/resumable/upload/gmail/v1/users/{userId}/drafts" + }, "simple": { "multipart": true, "path": "/upload/gmail/v1/users/{userId}/drafts" @@ -419,6 +423,10 @@ ], "maxSize": "36700160", "protocols": { + "resumable": { + "multipart": true, + "path": "/resumable/upload/gmail/v1/users/{userId}/drafts/send" + }, "simple": { "multipart": true, "path": "/upload/gmail/v1/users/{userId}/drafts/send" @@ -463,6 +471,10 @@ ], "maxSize": "36700160", "protocols": { + "resumable": { + "multipart": true, + "path": "/resumable/upload/gmail/v1/users/{userId}/drafts/{id}" + }, "simple": { "multipart": true, "path": "/upload/gmail/v1/users/{userId}/drafts/{id}" @@ -925,6 +937,10 @@ ], "maxSize": "52428800", "protocols": { + "resumable": { + "multipart": true, + "path": "/resumable/upload/gmail/v1/users/{userId}/messages/import" + }, "simple": { "multipart": true, "path": "/upload/gmail/v1/users/{userId}/messages/import" @@ -996,6 +1012,10 @@ ], "maxSize": "52428800", "protocols": { + "resumable": { + "multipart": true, + "path": "/resumable/upload/gmail/v1/users/{userId}/messages" + }, "simple": { "multipart": true, "path": "/upload/gmail/v1/users/{userId}/messages" @@ -1148,6 +1168,10 @@ ], "maxSize": "36700160", "protocols": { + "resumable": { + "multipart": true, + "path": "/resumable/upload/gmail/v1/users/{userId}/messages/send" + }, "simple": { "multipart": true, "path": "/upload/gmail/v1/users/{userId}/messages/send" @@ -2258,7 +2282,8 @@ "https://mail.google.com/", "https://www.googleapis.com/auth/gmail.modify", "https://www.googleapis.com/auth/gmail.readonly", - "https://www.googleapis.com/auth/gmail.settings.basic" + "https://www.googleapis.com/auth/gmail.settings.basic", + "https://www.googleapis.com/auth/gmail.settings.sharing" ] }, "insert": { @@ -2329,7 +2354,8 @@ "https://mail.google.com/", "https://www.googleapis.com/auth/gmail.modify", "https://www.googleapis.com/auth/gmail.readonly", - "https://www.googleapis.com/auth/gmail.settings.basic" + "https://www.googleapis.com/auth/gmail.settings.basic", + "https://www.googleapis.com/auth/gmail.settings.sharing" ] }, "setDefault": { @@ -2625,7 +2651,7 @@ } } }, - "revision": "20200406", + "revision": "20200706", "rootUrl": "https://www.googleapis.com/", "schemas": { "AutoForwarding": { @@ -3709,11 +3735,11 @@ "type": "string" }, "responseBodyHtml": { - "description": "Response body in HTML format. Gmail will sanitize the HTML before\nstoring it.", + "description": "Response body in HTML format. Gmail will sanitize the HTML before\nstoring it. If both response_body_plain_text and\nresponse_body_html are specified,\nresponse_body_html will be used.", "type": "string" }, "responseBodyPlainText": { - "description": "Response body in plain text format.", + "description": "Response body in plain text format. If both\nresponse_body_plain_text and response_body_html\nare specified, response_body_html will be used.", "type": "string" }, "responseSubject": { diff --git a/etc/api/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json b/etc/api/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json new file mode 100644 index 0000000000..bfca058037 --- /dev/null +++ b/etc/api/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json @@ -0,0 +1,512 @@ +{ + "basePath": "", + "baseUrl": "https://gmailpostmastertools.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Postmaster Tools", + "description": "The Gmail Postmaster API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/gmail/postmaster", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "gmailpostmastertools:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://gmailpostmastertools.mtls.googleapis.com/", + "name": "gmailpostmastertools", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "domains": { + "methods": { + "get": { + "description": "Gets a specific domain registered by the client.\nReturns NOT_FOUND if the domain does not exist.", + "flatPath": "v1beta1/domains/{domainsId}", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the domain. It should have the form\n`domains/{domain_name}`, where domain_name is the fully qualified\ndomain name.", + "location": "path", + "pattern": "^domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Domain" + } + }, + "list": { + "description": "Lists the domains that have been registered by the client. The order of\ndomains in the response is unspecified and non-deterministic. Newly created\ndomains will not necessarily be added to the end of this list.", + "flatPath": "v1beta1/domains", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.list", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "Requested page size. Server may return fewer domains than requested.\nIf unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.\nThis is the value of\nListDomainsResponse.next_page_token\nreturned from the previous call to `ListDomains` method.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/domains", + "response": { + "$ref": "ListDomainsResponse" + } + } + }, + "resources": { + "trafficStats": { + "methods": { + "get": { + "description": "Get traffic statistics for a domain on a specific date.\nReturns PERMISSION_DENIED if user does not have permission to access\nTrafficStats for the domain.", + "flatPath": "v1beta1/domains/{domainsId}/trafficStats/{trafficStatsId}", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.trafficStats.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the traffic statistics to get.\nE.g., domains/mymail.mydomain.com/trafficStats/20160807.", + "location": "path", + "pattern": "^domains/[^/]+/trafficStats/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "TrafficStats" + } + }, + "list": { + "description": "List traffic statistics for all available days.\nReturns PERMISSION_DENIED if user does not have permission to access\nTrafficStats for the domain.", + "flatPath": "v1beta1/domains/{domainsId}/trafficStats", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.trafficStats.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "endDate.day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "endDate.month": { + "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "endDate.year": { + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer TrafficStats than\nrequested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.\nThis is the value of\nListTrafficStatsResponse.next_page_token\nreturned from the previous call to `ListTrafficStats` method.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The resource name of the domain whose traffic statistics we'd like to list.\nIt should have the form `domains/{domain_name}`, where domain_name is\nthe fully qualified domain name.", + "location": "path", + "pattern": "^domains/[^/]+$", + "required": true, + "type": "string" + }, + "startDate.day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "startDate.month": { + "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "startDate.year": { + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1beta1/{+parent}/trafficStats", + "response": { + "$ref": "ListTrafficStatsResponse" + } + } + } + } + } + } + }, + "revision": "20200708", + "rootUrl": "https://gmailpostmastertools.googleapis.com/", + "schemas": { + "DeliveryError": { + "description": "Metric on a particular delivery error type.", + "id": "DeliveryError", + "properties": { + "errorClass": { + "description": "The class of delivery error.", + "enum": [ + "DELIVERY_ERROR_CLASS_UNSPECIFIED", + "PERMANENT_ERROR", + "TEMPORARY_ERROR" + ], + "enumDescriptions": [ + "The default value which should never be used explicitly.", + "Delivery of message has been rejected.", + "Temporary failure of message delivery to the recipient." + ], + "type": "string" + }, + "errorRatio": { + "description": "The ratio of messages where the error occurred vs all authenticated\ntraffic.", + "format": "double", + "type": "number" + }, + "errorType": { + "description": "The type of delivery error.", + "enum": [ + "DELIVERY_ERROR_TYPE_UNSPECIFIED", + "RATE_LIMIT_EXCEEDED", + "SUSPECTED_SPAM", + "CONTENT_SPAMMY", + "BAD_ATTACHMENT", + "BAD_DMARC_POLICY", + "LOW_IP_REPUTATION", + "LOW_DOMAIN_REPUTATION", + "IP_IN_RBL", + "DOMAIN_IN_RBL", + "BAD_PTR_RECORD" + ], + "enumDescriptions": [ + "The default value which should never be used explicitly.", + "The Domain or IP is sending traffic at a suspiciously high rate, due to\nwhich temporary rate limits have been imposed. The limit will be lifted\nwhen Gmail is confident enough of the nature of the traffic.", + "The traffic is suspected to be spam, by Gmail, for various reasons.", + "The traffic is suspected to be spammy, specific to the content.", + "Traffic contains attachments not supported by Gmail.", + "The sender domain has set up a DMARC rejection policy.", + "The IP reputation of the sending IP is very low.", + "The Domain reputation of the sending domain is very low.", + "The IP is listed in one or more public\n[Real-time Blackhole Lists](http://en.wikipedia.org/wiki/DNSBL). Work with\nthe RBL to get your IP delisted.", + "The Domain is listed in one or more public\n[Real-time Blackhole Lists](http://en.wikipedia.org/wiki/DNSBL). Work with\nthe RBL to get your domain delisted.", + "The sending IP is missing a\n[PTR record](https://support.google.com/domains/answer/3251147#ptr)." + ], + "type": "string" + } + }, + "type": "object" + }, + "Domain": { + "description": "A registered domain resource in the Postmaster API.", + "id": "Domain", + "properties": { + "createTime": { + "description": "Timestamp when the user registered this domain. Assigned by\nthe server.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "The resource name of the Domain.\nDomain names have the form `domains/{domain_name}`, where domain_name\nis the fully qualified domain name (i.e., mymail.mydomain.com).", + "type": "string" + }, + "permission": { + "description": "User\u2019s permission for this domain. Assigned by the server.", + "enum": [ + "PERMISSION_UNSPECIFIED", + "OWNER", + "READER", + "NONE" + ], + "enumDescriptions": [ + "The default value and should never be used explicitly.", + "User has read access to the domain and can share access with others.", + "User has read access to the domain.", + "User doesn't have permission to access information about the domain. User\ndid not verify ownership of domain nor was access granted by other domain\nowners." + ], + "type": "string" + } + }, + "type": "object" + }, + "FeedbackLoop": { + "description": "[Feedback loop](https://support.google.com/mail/answer/6254652) identifier\ninformation.", + "id": "FeedbackLoop", + "properties": { + "id": { + "description": "Feedback loop identifier that uniquely identifies individual campaigns.", + "type": "string" + }, + "spamRatio": { + "description": "The ratio of user marked spam messages with the identifier vs the total\nnumber of inboxed messages with that identifier.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "IpReputation": { + "description": "IP Reputation information for a set of IPs in a specific reputation category.", + "id": "IpReputation", + "properties": { + "numIps": { + "description": "Total number of unique IPs in this reputation category. This metric only\npertains to traffic that passed [SPF](http://www.openspf.org/) or\n[DKIM](http://www.dkim.org/).", + "format": "int64", + "type": "string" + }, + "reputation": { + "description": "The reputation category this IP reputation represents.", + "enum": [ + "REPUTATION_CATEGORY_UNSPECIFIED", + "HIGH", + "MEDIUM", + "LOW", + "BAD" + ], + "enumDescriptions": [ + "The default value which should never be used explicitly. This represents\nthe state where no reputation information is available.", + "Has a good track record of a very low spam rate, and complies with Gmail's\nsender guidelines. Mail will rarely be marked by the spam filter.", + "Known to send good mail, but is prone to sending a low volume of spam\nintermittently. Most of the email from this entity will have a fair\ndeliverability rate, except when there is a notable increase in spam\nlevels.", + "Known to send a considerable volume of spam regularly, and mail from this\nsender will likely be marked as spam.", + "History of sending an enormously high volume of spam. Mail coming from this\nentity will almost always be rejected at SMTP level or marked as spam." + ], + "type": "string" + }, + "sampleIps": { + "description": "A sample of IPs in this reputation category.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListDomainsResponse": { + "description": "Response message for ListDomains.", + "id": "ListDomainsResponse", + "properties": { + "domains": { + "description": "The list of domains.", + "items": { + "$ref": "Domain" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListTrafficStatsResponse": { + "description": "Response message for ListTrafficStats.", + "id": "ListTrafficStatsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + }, + "trafficStats": { + "description": "The list of TrafficStats.", + "items": { + "$ref": "TrafficStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "TrafficStats": { + "description": "Email traffic statistics pertaining to a specific date.", + "id": "TrafficStats", + "properties": { + "deliveryErrors": { + "description": "Delivery errors for the domain. This metric only pertains to traffic that\npassed [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).", + "items": { + "$ref": "DeliveryError" + }, + "type": "array" + }, + "dkimSuccessRatio": { + "description": "The ratio of mail that successfully authenticated with DKIM vs. all mail\nthat attempted to authenticate with [DKIM](http://www.dkim.org/). Spoofed\nmail is excluded.", + "format": "double", + "type": "number" + }, + "dmarcSuccessRatio": { + "description": "The ratio of mail that passed [DMARC](https://dmarc.org/) alignment checks\nvs all mail received from the domain that successfully authenticated with\neither of [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).", + "format": "double", + "type": "number" + }, + "domainReputation": { + "description": "Reputation of the domain.", + "enum": [ + "REPUTATION_CATEGORY_UNSPECIFIED", + "HIGH", + "MEDIUM", + "LOW", + "BAD" + ], + "enumDescriptions": [ + "The default value which should never be used explicitly. This represents\nthe state where no reputation information is available.", + "Has a good track record of a very low spam rate, and complies with Gmail's\nsender guidelines. Mail will rarely be marked by the spam filter.", + "Known to send good mail, but is prone to sending a low volume of spam\nintermittently. Most of the email from this entity will have a fair\ndeliverability rate, except when there is a notable increase in spam\nlevels.", + "Known to send a considerable volume of spam regularly, and mail from this\nsender will likely be marked as spam.", + "History of sending an enormously high volume of spam. Mail coming from this\nentity will almost always be rejected at SMTP level or marked as spam." + ], + "type": "string" + }, + "inboundEncryptionRatio": { + "description": "The ratio of incoming mail (to Gmail), that passed secure transport (TLS)\nvs all mail received from that domain. This metric only pertains to traffic\nthat passed [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).", + "format": "double", + "type": "number" + }, + "ipReputations": { + "description": "Reputation information pertaining to the IP addresses of the email servers\nfor the domain. There is exactly one entry for each reputation category\nexcept\nREPUTATION_CATEGORY_UNSPECIFIED.", + "items": { + "$ref": "IpReputation" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the traffic statistics. Traffic statistic names have\nthe form `domains/{domain}/trafficStats/{date}`, where\ndomain_name is the fully qualified domain name (i.e., mymail.mydomain.com)\nof the domain this traffic statistics pertains to and date is the date in\nyyyymmdd format that these statistics corresponds to.\nFor example: domains/mymail.mydomain.com/trafficStats/20160807", + "type": "string" + }, + "outboundEncryptionRatio": { + "description": "The ratio of outgoing mail (from Gmail) that was accepted over secure\ntransport (TLS).", + "format": "double", + "type": "number" + }, + "spammyFeedbackLoops": { + "description": "Spammy [Feedback loop identifiers]\n(https://support.google.com/mail/answer/6254652) with their individual spam\nrates. This metric only pertains to traffic that is authenticated by\n[DKIM](http://www.dkim.org/).", + "items": { + "$ref": "FeedbackLoop" + }, + "type": "array" + }, + "spfSuccessRatio": { + "description": "The ratio of mail that successfully authenticated with SPF vs. all mail\nthat attempted to authenticate with [SPF](http://www.openspf.org/). Spoofed\nmail is excluded.", + "format": "double", + "type": "number" + }, + "userReportedSpamRatio": { + "description": "The ratio of user-report spam vs. email that was sent to the inbox. This\nmetric only pertains to emails authenticated by\n[DKIM](http://www.dkim.org/).", + "format": "double", + "type": "number" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Gmail Postmaster Tools API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/groupsmigration/v1/groupsmigration-api.json b/etc/api/groupsmigration/v1/groupsmigration-api.json index c3fb346bb4..e9628f80d7 100644 --- a/etc/api/groupsmigration/v1/groupsmigration-api.json +++ b/etc/api/groupsmigration/v1/groupsmigration-api.json @@ -8,36 +8,63 @@ } } }, - "basePath": "/groups/v1/groups/", - "baseUrl": "https://www.googleapis.com/groups/v1/groups/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/groupsmigration/v1", "canonicalName": "Groups Migration", - "description": "Groups Migration Api.", + "description": "The Groups Migration API allows domain administrators to archive\n emails into Google groups.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/google-apps/groups-migration/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/qDu5470S_QfnHCP_4GxoX8OU3Kg\"", "icons": { - "x16": "https://www.google.com/images/icons/product/discussions-16.gif", - "x32": "https://www.google.com/images/icons/product/discussions-32.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "groupsmigration:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "groupsmigration", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -60,12 +87,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -76,18 +108,15 @@ "methods": { "insert": { "description": "Inserts a new mail into the archive of the Google group.", + "flatPath": "groups/v1/groups/{groupId}/archive", "httpMethod": "POST", "id": "groupsmigration.archive.insert", "mediaUpload": { "accept": [ "message/rfc822" ], - "maxSize": "25MB", + "maxSize": "26214400", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/groups/v1/groups/{groupId}/archive" - }, "simple": { "multipart": true, "path": "/upload/groups/v1/groups/{groupId}/archive" @@ -105,7 +134,7 @@ "type": "string" } }, - "path": "{groupId}/archive", + "path": "groups/v1/groups/{groupId}/archive", "response": { "$ref": "Groups" }, @@ -117,7 +146,7 @@ } } }, - "revision": "20181126", + "revision": "20200630", "rootUrl": "https://www.googleapis.com/", "schemas": { "Groups": { @@ -125,7 +154,6 @@ "id": "Groups", "properties": { "kind": { - "default": "groupsmigration#groups", "description": "The kind of insert resource this is.", "type": "string" }, @@ -137,7 +165,7 @@ "type": "object" } }, - "servicePath": "groups/v1/groups/", + "servicePath": "", "title": "Groups Migration API", "version": "v1" } \ No newline at end of file diff --git a/etc/api/groupssettings/v1/groupssettings-api.json b/etc/api/groupssettings/v1/groupssettings-api.json index 7cb293cc0f..5edcc42213 100644 --- a/etc/api/groupssettings/v1/groupssettings-api.json +++ b/etc/api/groupssettings/v1/groupssettings-api.json @@ -14,7 +14,6 @@ "description": "Manages permission levels and related settings of a group.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/google-apps/groups-settings/get_started", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/V2V-RMnoYCfSSC985XKqZdYWInI\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -153,7 +152,7 @@ } } }, - "revision": "20190725", + "revision": "20200702", "rootUrl": "https://www.googleapis.com/", "schemas": { "Groups": { @@ -251,7 +250,7 @@ "type": "string" }, "replyTo": { - "description": "Specifies who should the default reply go to. Possible values are: \n- REPLY_TO_CUSTOM: For replies to messages, use the group's custom email address.\nWhen the group's ReplyTo property is set to REPLY_TO_CUSTOM, the customReplyTo property holds the custom email address used when replying to a message. If the group's ReplyTo property is set to REPLY_TO_CUSTOM, the customReplyTo property must have a value. Otherwise an error is returned.\n \n- REPLY_TO_SENDER: The reply sent to author of message. \n- REPLY_TO_LIST: This reply message is sent to the group. \n- REPLY_TO_OWNER: The reply is sent to the owner(s) of the group. This does not include the group's managers. \n- REPLY_TO_IGNORE: Group users individually decide where the message reply is sent. \n- REPLY_TO_MANAGERS: This reply message is sent to the group's managers, which includes all managers and the group owner.", + "description": "Specifies who receives the default reply. Possible values are: \n- REPLY_TO_CUSTOM: For replies to messages, use the group's custom email address.\nWhen the group's ReplyTo property is set to REPLY_TO_CUSTOM, the customReplyTo property holds the custom email address used when replying to a message. If the group's ReplyTo property is set to REPLY_TO_CUSTOM, the customReplyTo property must have a value. Otherwise an error is returned.\n \n- REPLY_TO_SENDER: The reply sent to author of message. \n- REPLY_TO_LIST: This reply message is sent to the group. \n- REPLY_TO_OWNER: The reply is sent to the owner(s) of the group. This does not include the group's managers. \n- REPLY_TO_IGNORE: Group users individually decide where the message reply is sent. \n- REPLY_TO_MANAGERS: This reply message is sent to the group's managers, which includes all managers and the group owner.", "type": "string" }, "sendMessageDenyNotification": { diff --git a/etc/api/healthcare/v1/healthcare-api.json b/etc/api/healthcare/v1/healthcare-api.json new file mode 100644 index 0000000000..ea6b049f9d --- /dev/null +++ b/etc/api/healthcare/v1/healthcare-api.json @@ -0,0 +1,3999 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://healthcare.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Healthcare", + "description": "Manage, store, and access healthcare data in Google Cloud Platform.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/healthcare", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "healthcare:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://healthcare.mtls.googleapis.com/", + "name": "healthcare", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "datasets": { + "methods": { + "create": { + "description": "Creates a new health dataset. Results are returned through the\nOperation interface which returns either an\n`Operation.response` which contains a Dataset or\n`Operation.error`. The metadata\nfield type is OperationMetadata.\nA Google Cloud Platform project can contain up to 500 datasets across all\nregions.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "datasetId": { + "description": "The ID of the dataset that is being created.\nThe string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the project where the server creates the dataset. For\nexample, `projects/{project_id}/locations/{location_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/datasets", + "request": { + "$ref": "Dataset" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deidentify": { + "description": "Creates a new dataset containing de-identified data from the source\ndataset. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifySummary.\nIf errors occur, error is set.\nThe LRO result may still be successful if de-identification fails for some\nDICOM instances. The new de-identified dataset will not contain these\nfailed resources. Failed resource totals are tracked in\nOperation.metadata.\nError details are also logged to Cloud Logging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/logging).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.deidentify", + "parameterOrder": [ + "sourceDataset" + ], + "parameters": { + "sourceDataset": { + "description": "Source dataset resource name. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+sourceDataset}:deidentify", + "request": { + "$ref": "DeidentifyDatasetRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified health dataset and all data contained in the dataset.\nDeleting a dataset does not affect the sources from which the dataset was\nimported (if any).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the dataset to delete. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets any metadata associated with a dataset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the dataset to read. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Dataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the health datasets in the current project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of items to return. Capped to 100 if not specified.\nMay not be larger than 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the project whose datasets should be listed.\nFor example, `projects/{project_id}/locations/{location_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/datasets", + "response": { + "$ref": "ListDatasetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates dataset metadata.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", + "httpMethod": "PATCH", + "id": "healthcare.projects.locations.datasets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name of the dataset, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Dataset" + }, + "response": { + "$ref": "Dataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "dicomStores": { + "methods": { + "create": { + "description": "Creates a new DICOM store within the parent dataset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dicomStoreId": { + "description": "The ID of the DICOM store that is being created.\nAny string value up to 256 characters in length.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the dataset this DICOM store belongs to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomStores", + "request": { + "$ref": "DicomStore" + }, + "response": { + "$ref": "DicomStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deidentify": { + "description": "De-identifies data from the source store and writes it to the destination\nstore. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifyDicomStoreSummary. If errors occur,\nerror is set.\nThe LRO result may still be successful if de-identification fails for some\nDICOM instances. The output DICOM store will not contain\nthese failed resources. Failed resource totals are tracked in\nOperation.metadata.\nError details are also logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.deidentify", + "parameterOrder": [ + "sourceStore" + ], + "parameters": { + "sourceStore": { + "description": "Source DICOM store resource name. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+sourceStore}:deidentify", + "request": { + "$ref": "DeidentifyDicomStoreRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified DICOM store and removes all images that are contained\nwithin it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.dicomStores.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the DICOM store to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "export": { + "description": "Exports data to the specified destination by copying it from the DICOM\nstore.\nErrors are also logged to Cloud Logging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/logging).\nThe metadata field type is\nOperationMetadata.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The DICOM store resource name from which to export the data. For\nexample,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:export", + "request": { + "$ref": "ExportDicomDataRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the specified DICOM store.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the DICOM store to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "DicomStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "import": { + "description": "Imports data into the DICOM store by copying it from the specified source.\nErrors are logged to Cloud Logging. For more information, see\n[Viewing logs](/healthcare/docs/how-tos/logging). The\nmetadata field type is\nOperationMetadata.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.import", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the DICOM store resource into which the data is imported.\nFor example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:import", + "request": { + "$ref": "ImportDicomDataRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the DICOM stores in the given dataset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Restricts stores returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\nOnly filtering on labels is supported. For example, `labels.key=value`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Limit on the number of DICOM stores to return in a single response.\nIf zero the default page size of 100 is used.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from the previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Name of the dataset.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomStores", + "response": { + "$ref": "ListDicomStoresResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified DICOM store.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}", + "httpMethod": "PATCH", + "id": "healthcare.projects.locations.datasets.dicomStores.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name of the DICOM store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "DicomStore" + }, + "response": { + "$ref": "DicomStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchForInstances": { + "description": "SearchForInstances returns a list of matching instances. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.searchForInstances", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the SearchForInstancesRequest DICOMweb request. For example,\n`instances`, `series/{series_uid}/instances`, or\n`studies/{study_uid}/instances`.", + "location": "path", + "pattern": "^instances$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchForSeries": { + "description": "SearchForSeries returns a list of matching series. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.searchForSeries", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or\n`studies/{study_uid}/series`.", + "location": "path", + "pattern": "^series$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchForStudies": { + "description": "SearchForStudies returns a list of matching studies. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.searchForStudies", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the SearchForStudies DICOMweb request. For example, `studies`.", + "location": "path", + "pattern": "^studies$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "storeInstances": { + "description": "StoreInstances stores DICOM instances associated with study instance unique\nidentifiers (SUID). See\n[Store Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.storeInstances", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the StoreInstances DICOMweb request. For example,\n`studies/[{study_uid}]`. Note that the `study_uid` is optional.", + "location": "path", + "pattern": "^studies$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "studies": { + "methods": { + "delete": { + "description": "DeleteStudy deletes all instances within the given study. Delete requests\nare equivalent to the GET requests specified in the Retrieve transaction.\nThe method returns an Operation which\nwill be marked successful when the deletion is complete.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.delete", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the DeleteStudy request. For example, `studies/{study_uid}`.", + "location": "path", + "pattern": "^studies/[^/]+$", + "required": true, + "type": "string" + }, + "parent": { + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveMetadata": { + "description": "RetrieveStudyMetadata returns instance associated with the given study\npresented as metadata with the bulk data removed. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveStudyMetadata DICOMweb request. For example,\n`studies/{study_uid}/metadata`.", + "location": "path", + "pattern": "^studies/[^/]+/metadata$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveStudy": { + "description": "RetrieveStudy returns all instances within the given study. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveStudy DICOMweb request. For example,\n`studies/{study_uid}`.", + "location": "path", + "pattern": "^studies/[^/]+$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchForInstances": { + "description": "SearchForInstances returns a list of matching instances. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/instances", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the SearchForInstancesRequest DICOMweb request. For example,\n`instances`, `series/{series_uid}/instances`, or\n`studies/{study_uid}/instances`.", + "location": "path", + "pattern": "^studies/[^/]+/instances$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchForSeries": { + "description": "SearchForSeries returns a list of matching series. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or\n`studies/{study_uid}/series`.", + "location": "path", + "pattern": "^studies/[^/]+/series$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "storeInstances": { + "description": "StoreInstances stores DICOM instances associated with study instance unique\nidentifiers (SUID). See\n[Store Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the StoreInstances DICOMweb request. For example,\n`studies/[{study_uid}]`. Note that the `study_uid` is optional.", + "location": "path", + "pattern": "^studies/[^/]+$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "series": { + "methods": { + "delete": { + "description": "DeleteSeries deletes all instances within the given study and series.\nDelete requests are equivalent to the GET requests specified in the\nRetrieve transaction.\nThe method returns an Operation which\nwill be marked successful when the deletion is complete.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.delete", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the DeleteSeries request. For example,\n`studies/{study_uid}/series/{series_uid}`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveMetadata": { + "description": "RetrieveSeriesMetadata returns instance associated with the given study and\nseries, presented as metadata with the bulk data removed. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveSeriesMetadata DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/metadata`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+/metadata$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveSeries": { + "description": "RetrieveSeries returns all instances within the given study and series. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveSeries DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchForInstances": { + "description": "SearchForInstances returns a list of matching instances. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the SearchForInstancesRequest DICOMweb request. For example,\n`instances`, `series/{series_uid}/instances`, or\n`studies/{study_uid}/instances`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+/instances$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "instances": { + "methods": { + "delete": { + "description": "DeleteInstance deletes an instance associated with the given study, series,\nand SOP Instance UID. Delete requests are equivalent to the GET requests\nspecified in the Retrieve transaction.\nStudy and series search results can take a few seconds to be updated after\nan instance is deleted using DeleteInstance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the DeleteInstance request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveInstance": { + "description": "RetrieveInstance returns instance associated with the given study, series,\nand SOP Instance UID. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveInstance DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveMetadata": { + "description": "RetrieveInstanceMetadata returns instance associated with the given study,\nseries, and SOP Instance UID presented as metadata with the bulk data\nremoved. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveInstanceMetadata DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/metadata$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveRendered": { + "description": "RetrieveRenderedInstance returns instance associated with the given study,\nseries, and SOP Instance UID in an acceptable Rendered Media Type. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveRenderedInstance DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/rendered`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/rendered$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "frames": { + "methods": { + "retrieveFrames": { + "description": "RetrieveFrames returns instances associated with the given study, series,\nSOP Instance UID and frame numbers. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4}.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveFrames DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveRendered": { + "description": "RetrieveRenderedFrames returns instances associated with the given study,\nseries, SOP Instance UID and frame numbers in an acceptable Rendered Media\nType. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered", + "parameterOrder": [ + "parent", + "dicomWebPath" + ], + "parameters": { + "dicomWebPath": { + "description": "The path of the RetrieveRenderedFrames DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}/rendered`.", + "location": "path", + "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+/rendered$", + "required": true, + "type": "string" + }, + "parent": { + "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + } + }, + "fhirStores": { + "methods": { + "create": { + "description": "Creates a new FHIR store within the parent dataset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "fhirStoreId": { + "description": "The ID of the FHIR store that is being created.\nThe string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the dataset this FHIR store belongs to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/fhirStores", + "request": { + "$ref": "FhirStore" + }, + "response": { + "$ref": "FhirStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deidentify": { + "description": "De-identifies data from the source store and writes it to the destination\nstore. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifyFhirStoreSummary. If errors occur,\nerror is set.\nError details are also logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.deidentify", + "parameterOrder": [ + "sourceStore" + ], + "parameters": { + "sourceStore": { + "description": "Source FHIR store resource name. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+sourceStore}:deidentify", + "request": { + "$ref": "DeidentifyFhirStoreRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified FHIR store and removes all resources within it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.fhirStores.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the FHIR store to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "export": { + "description": "Export resources from the FHIR store to the specified destination.\n\nThis method returns an Operation that can\nbe used to track the status of the export by calling\nGetOperation.\n\nImmediate fatal errors appear in the\nerror field, errors are also logged\nto Cloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)).\nOtherwise, when the operation finishes, a detailed response of type\nExportResourcesResponse is returned in the\nresponse field.\nThe metadata field type for this\noperation is OperationMetadata.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the FHIR store to export resource from, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:export", + "request": { + "$ref": "ExportResourcesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the configuration of the specified FHIR store.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the FHIR store to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "FhirStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getIamPolicy", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "import": { + "description": "Imports resources to the FHIR store by loading data from the specified\nsources. This method is optimized to load large quantities of data using\nimport semantics that ignore some FHIR store configuration options and are\nnot suitable for all use cases. It is primarily intended to load data into\nan empty FHIR store that is not being used by other clients. In cases\nwhere this method is not appropriate, consider using ExecuteBundle to\nload data.\n\nEvery resource in the input must contain a client-supplied ID. Each\nresource is stored using the supplied ID regardless of the\nenable_update_create setting on the FHIR\nstore.\n\nThe import process does not enforce referential integrity, regardless of\nthe\ndisable_referential_integrity\nsetting on the FHIR store. This allows the import of resources with\narbitrary interdependencies without considering grouping or ordering, but\nif the input data contains invalid references or if some resources fail to\nbe imported, the FHIR store might be left in a state that violates\nreferential integrity.\n\nThe import process does not trigger Pub/Sub notification or BigQuery\nstreaming update, regardless of how those are configured on the FHIR store.\n\nIf a resource with the specified ID already exists, the most recent\nversion of the resource is overwritten without creating a new historical\nversion, regardless of the\ndisable_resource_versioning\nsetting on the FHIR store. If transient failures occur during the import,\nit's possible that successfully imported resources will be overwritten\nmore than once.\n\nThe import operation is idempotent unless the input data contains multiple\nvalid resources with the same ID but different contents. In that case,\nafter the import completes, the store contains exactly one resource\nwith that ID but there is no ordering guarantee on which version of the\ncontents it will have. The operation result counters do not count\nduplicate IDs as an error and count one success for each resource in\nthe input, which might result in a success count larger than the number\nof resources in the FHIR store. This often occurs when importing data\norganized in bundles produced by Patient-everything\nwhere each bundle contains its own copy of a resource such as Practitioner\nthat might be referred to by many patients.\n\nIf some resources fail to import, for example due to parsing errors,\nsuccessfully imported resources are not rolled back.\n\nThe location and format of the input data is specified by the parameters\nbelow. Note that if no format is specified, this method assumes the\n`BUNDLE` format. When using the `BUNDLE` format this method ignores the\n`Bundle.type` field, except that `history` bundles are rejected, and does\nnot apply any of the bundle processing semantics for batch or transaction\nbundles. Unlike in ExecuteBundle, transaction bundles are not executed\nas a single transaction and bundle-internal references are not rewritten.\nThe bundle is treated as a collection of resources to be written as\nprovided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`. As\nan example, this allows the import of `searchset` bundles produced by a\nFHIR search or\nPatient-everything operation.\n\nThis method returns an Operation that can\nbe used to track the status of the import by calling\nGetOperation.\n\nImmediate fatal errors appear in the\nerror field, errors are also logged\nto Cloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)). Otherwise, when the\noperation finishes, a detailed response of type ImportResourcesResponse\nis returned in the response field.\nThe metadata field type for this\noperation is OperationMetadata.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.import", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the FHIR store to import FHIR resources to, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:import", + "request": { + "$ref": "ImportResourcesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the FHIR stores in the given dataset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Restricts stores returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\nOnly filtering on labels is supported, for example `labels.key=value`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Limit on the number of FHIR stores to return in a single response. If zero\nthe default page size of 100 is used.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from the previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Name of the dataset.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/fhirStores", + "response": { + "$ref": "ListFhirStoresResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the configuration of the specified FHIR store.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}", + "httpMethod": "PATCH", + "id": "healthcare.projects.locations.datasets.fhirStores.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of the FHIR store, of the form\n`projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "FhirStore" + }, + "response": { + "$ref": "FhirStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "fhir": { + "methods": { + "Patient-everything": { + "description": "Retrieves a Patient resource and resources related to that patient.\n\nImplements the FHIR extended operation Patient-everything\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything),\n[R4](http://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)).\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\noperation.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThe resources in scope for the response are:\n\n* The patient resource itself.\n* All the resources directly referenced by the patient resource.\n* Resources directly referencing the patient resource that meet the\n inclusion criteria. The inclusion criteria are based on the membership\n rules in the patient compartment definition\n ([DSTU2](http://hl7.org/fhir/DSTU2/compartment-patient.html),\n [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html),\n [R4](http://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which\n details the eligible resource types and referencing search parameters.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything", + "parameterOrder": [ + "name" + ], + "parameters": { + "_count": { + "description": "Maximum number of resources in a page. Defaults to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "_page_token": { + "description": "Used to retrieve the next or previous page of results\nwhen using pagination. Value should be set to the value of page_token set\nin next or previous page links' urls. Next and previous page are returned\nin the response bundle's links field, where `link.relation` is \"previous\"\nor \"next\".\n\nOmit `page_token` if no previous request has been made.", + "location": "query", + "type": "string" + }, + "end": { + "description": "The response includes records prior to the end date. If no end date is\nprovided, all records subsequent to the start date are in scope.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Name of the `Patient` resource for which the information is required.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$", + "required": true, + "type": "string" + }, + "start": { + "description": "The response includes records subsequent to the start date. If no start\ndate is provided, all records prior to the end date are in scope.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/$everything", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "Resource-purge": { + "description": "Deletes all the historical versions of a resource (excluding the current\nversion) from the FHIR store. To remove all versions of a resource, first\ndelete the current version and then call this method.\n\nThis is not a FHIR standard operation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/$purge", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the resource to purge.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/$purge", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "capabilities": { + "description": "Gets the FHIR capability statement\n([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),\nor the [conformance\nstatement](http://hl7.org/implement/standards/fhir/DSTU2/conformance.html)\nin the DSTU2 case for the store, which contains a description of\nfunctionality supported by the server.\n\nImplements the FHIR standard capabilities interaction\n([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),\nor the [conformance\ninteraction](http://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)\nin the DSTU2 case.\n\nOn success, the response body will contain a JSON-encoded representation\nof a `CapabilityStatement` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the FHIR store to retrieve the capabilities for.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/fhir/metadata", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a FHIR resource.\n\nImplements the FHIR standard create interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)),\nwhich creates a new resource with a server-assigned resource ID.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`.\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource as it was created on the server, including the\nserver-assigned resource ID and version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create", + "parameterOrder": [ + "parent", + "type" + ], + "parameters": { + "parent": { + "description": "The name of the FHIR store this resource belongs to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "The FHIR resource type to create, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).\nMust match the resource type in the provided content.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/fhir/{+type}", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a FHIR resource.\n\nImplements the FHIR standard delete interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#delete),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#delete)).\n\nNote: Unless resource versioning is disabled by setting the\ndisable_resource_versioning flag\non the FHIR store, the deleted resources will be moved to a history\nrepository that can still be retrieved through vread\nand related methods, unless they are removed by the\npurge method.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the resource to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeBundle": { + "description": "Executes all the requests in the given Bundle.\n\nImplements the FHIR standard batch/transaction interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#transaction),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#transaction)).\n\nSupports all interactions within a bundle, except search. This method\naccepts Bundles of type `batch` and `transaction`, processing them\naccording to the batch processing rules\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#brules))\nand transaction processing rules\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#trules)).\n\nThe request body must contain a JSON-encoded FHIR `Bundle` resource, and\nthe request headers must contain `Content-Type: application/fhir+json`.\n\nFor a batch bundle or a successful transaction the response body will\ncontain a JSON-encoded representation of a `Bundle` resource of type\n`batch-response` or `transaction-response` containing one entry for each\nentry in the request, with the outcome of processing the entry. In the\ncase of an error for a transaction bundle, the response body will contain\na JSON-encoded `OperationOutcome` resource describing the reason for the\nerror. If the request cannot be mapped to a valid API method on a FHIR\nstore, a generic GCP error might be returned instead.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Name of the FHIR store in which this bundle will be executed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/fhir", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "history": { + "description": "Lists all the versions of a resource (including the current version and\ndeleted versions) from the FHIR store.\n\nImplements the per-resource form of the FHIR standard history interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#history),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#history),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#history)).\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `history`, containing the version history\nsorted from most recent to oldest versions.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.history", + "parameterOrder": [ + "name" + ], + "parameters": { + "_at": { + "description": "Only include resource versions that were current at some point during the\ntime period specified in the date time value. The date parameter format is\nyyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm]\n\nClients may specify any of the following:\n\n* An entire year: `_at=2019`\n* An entire month: `_at=2019-01`\n* A specific day: `_at=2019-01-20`\n* A specific second: `_at=2018-12-31T23:59:58Z`", + "location": "query", + "type": "string" + }, + "_count": { + "description": "The maximum number of search results on a page. Defaults to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "_page_token": { + "description": "Used to retrieve the first, previous, next, or last page of resource\nversions when using pagination. Value should be set to the value of\n`_page_token` set in next or previous page links' URLs. Next and previous\npage are returned in the response bundle's links field, where\n`link.relation` is \"previous\" or \"next\".\n\nOmit `_page_token` if no previous request has been made.", + "location": "query", + "type": "string" + }, + "_since": { + "description": "Only include resource versions that were created at or after the given\ninstant in time. The instant in time uses the format\nYYYY-MM-DDThh:mm:ss.sss+zz:zz (for example 2015-02-07T13:28:17.239+02:00 or\n2017-01-01T00:00:00Z). The time must be specified to the second and\ninclude a time zone.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the resource to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/_history", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates part of an existing resource by applying the operations specified\nin a [JSON Patch](http://jsonpatch.com/) document.\n\nImplements the FHIR standard patch interaction\n([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)).\n\nDSTU2 doesn't define a patch method, but the server supports it in the same\nway it supports STU3.\n\nThe request body must contain a JSON Patch document, and the request\nheaders must contain `Content-Type: application/json-patch+json`.\n\nOn success, the response body will contain a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", + "httpMethod": "PATCH", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the resource to update.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "read": { + "description": "Gets the contents of a FHIR resource.\n\nImplements the FHIR standard read interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)).\n\nAlso supports the FHIR standard conditional read interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread))\nspecified by supplying an `If-Modified-Since` header with a date/time value\nor an `If-None-Match` header with an ETag value.\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.read", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the resource to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "search": { + "description": "Searches for resources in the given FHIR store according to criteria\nspecified as query parameters.\n\nImplements the FHIR standard search interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#search))\nusing the search semantics described in the FHIR Search specification\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/search.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/search.html)).\n\nSupports three methods of search defined by the specification:\n\n* `GET [base]?[parameters]` to search across all resources.\n* `GET [base]/[type]?[parameters]` to search resources of a specified\ntype.\n* `POST [base]/[type]/_search?[parameters]` as an alternate form having\nthe same semantics as the `GET` method.\n\nThe `GET` methods do not support compartment searches. The `POST` method\ndoes not support `application/x-www-form-urlencoded` search parameters.\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\nsearch.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThe server's capability statement, retrieved through\ncapabilities, indicates what search parameters\nare supported on each FHIR resource. A list of all search parameters\ndefined by the specification can be found in the FHIR Search Parameter\nRegistry\n([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).\nFHIR search parameters for DSTU2 can be found on each resource's definition\npage.\n\nSupported search modifiers: `:missing`, `:exact`, `:contains`, `:text`,\n`:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`.\n\nSupported search result parameters: `_sort`, `_count`, `_include`,\n`_revinclude`, `_summary=text`, `_summary=data`, and `_elements`.\n\nThe maximum number of search results returned defaults to 100, which can\nbe overridden by the `_count` parameter up to a maximum limit of 1000. If\nthere are additional results, the returned `Bundle` will contain\npagination links.\n\nResources with a total size larger than 5MB or a field count larger than\n50,000 might not be fully searchable as the server might trim its generated\nsearch index in those cases.\n\nNote: FHIR resources are indexed asynchronously, so there might be a slight\ndelay between the time a resource is created or changes and when the change\nis reflected in search results.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Name of the FHIR store to retrieve resources from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/fhir/_search", + "request": { + "$ref": "SearchResourcesRequest" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates the entire contents of a resource.\n\nImplements the FHIR standard update interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)).\n\nIf the specified resource does\nnot exist and the FHIR store has\nenable_update_create set, creates the\nresource with the client-specified ID.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`. The resource\nmust contain an `id` element having an identical value to the ID in the\nREST path of the request.\n\nOn success, the response body will contain a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", + "httpMethod": "PUT", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the resource to update.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "vread": { + "description": "Gets the contents of a version (current or historical) of a FHIR resource\nby version ID.\n\nImplements the FHIR standard vread interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#vread),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#vread)).\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.vread", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the resource version to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+/_history/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "hl7V2Stores": { + "methods": { + "create": { + "description": "Creates a new HL7v2 store within the parent dataset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "hl7V2StoreId": { + "description": "The ID of the HL7v2 store that is being created.\nThe string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the dataset this HL7v2 store belongs to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/hl7V2Stores", + "request": { + "$ref": "Hl7V2Store" + }, + "response": { + "$ref": "Hl7V2Store" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified HL7v2 store and removes all messages that it\ncontains.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the HL7v2 store to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the specified HL7v2 store.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the HL7v2 store to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Hl7V2Store" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the HL7v2 stores in the given dataset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Restricts stores returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\nOnly filtering on labels is supported. For example, `labels.key=value`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Limit on the number of HL7v2 stores to return in a single response.\nIf zero the default page size of 100 is used.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from the previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Name of the dataset.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/hl7V2Stores", + "response": { + "$ref": "ListHl7V2StoresResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the HL7v2 store.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}", + "httpMethod": "PATCH", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name of the HL7v2 store, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Hl7V2Store" + }, + "response": { + "$ref": "Hl7V2Store" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "messages": { + "methods": { + "create": { + "description": "Creates a message and sends a notification to the Cloud Pub/Sub topic. If\nconfigured, the MLLP adapter listens to messages created by this method and\nsends those back to the hospital. A successful response indicates the\nmessage has been persisted to storage and a Cloud Pub/Sub notification has\nbeen sent. Sending to the hospital by the MLLP adapter happens\nasynchronously.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the dataset this message belongs to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/messages", + "request": { + "$ref": "CreateMessageRequest" + }, + "response": { + "$ref": "Message" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an HL7v2 message.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the HL7v2 message to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an HL7v2 message.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the HL7v2 message to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies which parts of the Message resource to return in the response.\nWhen unspecified, equivalent to FULL.", + "enum": [ + "MESSAGE_VIEW_UNSPECIFIED", + "RAW_ONLY", + "PARSED_ONLY", + "FULL", + "BASIC" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Message" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "ingest": { + "description": "Ingests a new HL7v2 message from the hospital and sends a notification to\nthe Cloud Pub/Sub topic. Return is an HL7v2 ACK message if the message was\nsuccessfully stored. Otherwise an error is returned.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:ingest", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the HL7v2 store this message belongs to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/messages:ingest", + "request": { + "$ref": "IngestMessageRequest" + }, + "response": { + "$ref": "IngestMessageResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the messages in the given HL7v2 store with support for filtering.\n\nNote: HL7v2 messages are indexed asynchronously, so there might be a slight\ndelay between the time a message is created and when it can be found\nthrough a filter.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Restricts messages returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nFields/functions available for filtering are:\n\n* `message_type`, from the MSH-9.1 field. For example,\n`NOT message_type = \"ADT\"`.\n* `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in\nthe dataset's time_zone, from the MSH-7 segment. For example,\n`send_date < \"2017-01-02\"`.\n* `send_time`, the timestamp when the message was sent, using the\nRFC3339 time format for comparisons, from the MSH-7 segment. For example,\n`send_time < \"2017-01-02T00:00:00-05:00\"`.\n* `send_facility`, the care center that the message came from, from the\nMSH-4 segment. For example, `send_facility = \"ABC\"`.\n* `PatientId(value, type)`, which matches if the message lists a patient\nhaving an ID of the given value and type in the PID-2, PID-3, or PID-4\nsegments. For example, `PatientId(\"123456\", \"MRN\")`.\n* `labels.x`, a string value of the label with key `x` as set using the\nMessage.labels\nmap. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be used\nto assert the existence of a label. For example, `labels.\"priority\":*`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Orders messages returned by the specified order_by clause.\nSyntax: https://cloud.google.com/apis/design/design_patterns#sorting_order\n\nFields available for ordering are:\n\n* `send_time`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Limit on the number of messages to return in a single response.\nIf zero the default page size of 100 is used.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from the previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Name of the HL7v2 store to retrieve messages from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies the parts of the Message to return in the response.\nWhen unspecified, equivalent to BASIC. Setting this to anything other than\nBASIC with a `page_size` larger than the default can generate a large\nresponse, which impacts the performance of this method.", + "enum": [ + "MESSAGE_VIEW_UNSPECIFIED", + "RAW_ONLY", + "PARSED_ONLY", + "FULL", + "BASIC" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/messages", + "response": { + "$ref": "ListMessagesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the message.\n\nThe contents of the message in Message.data and data extracted from\nthe contents such as Message.create_time cannot be altered. Only the\nMessage.labels field is allowed to be updated. The labels in the\nrequest are merged with the existing set of labels. Existing labels with\nthe same keys are updated.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}", + "httpMethod": "PATCH", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name of the Message, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`.\nAssigned by the server.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Message" + }, + "response": { + "$ref": "Message" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200612", + "rootUrl": "https://healthcare.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CharacterMaskConfig": { + "description": "Mask a string by replacing its characters with a fixed character.", + "id": "CharacterMaskConfig", + "properties": { + "maskingCharacter": { + "description": "Character to mask the sensitive values. If not supplied, defaults to \"*\".", + "type": "string" + } + }, + "type": "object" + }, + "CreateMessageRequest": { + "description": "Creates a new message.", + "id": "CreateMessageRequest", + "properties": { + "message": { + "$ref": "Message", + "description": "HL7v2 message." + } + }, + "type": "object" + }, + "CryptoHashConfig": { + "description": "Pseudonymization method that generates surrogates via cryptographic hashing.\nUses SHA-256.\nOutputs a base64-encoded representation of the hashed output\n(for example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`).", + "id": "CryptoHashConfig", + "properties": { + "cryptoKey": { + "description": "An AES 128/192/256 bit key. Causes the hash to be computed based on this\nkey. A default key is generated for each Deidentify operation and is used\nwherever crypto_key is not specified.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "Dataset": { + "description": "A message representing a health dataset.\n\nA health dataset represents a collection of healthcare data pertaining to one\nor more patients. This may include multiple modalities of healthcare data,\nsuch as electronic medical records or medical imaging data.", + "id": "Dataset", + "properties": { + "name": { + "description": "Resource name of the dataset, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", + "type": "string" + }, + "timeZone": { + "description": "The default timezone used by this dataset. Must be a either a valid IANA\ntime zone name such as \"America/New_York\" or empty, which defaults to UTC.\nThis is used for parsing times in resources, such as HL7 messages, where no\nexplicit timezone is specified.", + "type": "string" + } + }, + "type": "object" + }, + "DateShiftConfig": { + "description": "Shift a date forward or backward in time by a random amount which is\nconsistent for a given patient and crypto key combination.", + "id": "DateShiftConfig", + "properties": { + "cryptoKey": { + "description": "An AES 128/192/256 bit key. Causes the shift to be computed based on this\nkey and the patient ID. A default key is generated for each\nDeidentify operation and is used wherever crypto_key is not specified.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "DeidentifyConfig": { + "description": "Configures de-id options specific to different types of content.\nEach submessage customizes the handling of an\nhttps://tools.ietf.org/html/rfc6838 media type or subtype. Configs are\napplied in a nested manner at runtime.", + "id": "DeidentifyConfig", + "properties": { + "dicom": { + "$ref": "DicomConfig", + "description": "Configures de-id of application/DICOM content." + }, + "fhir": { + "$ref": "FhirConfig", + "description": "Configures de-id of application/FHIR content." + }, + "image": { + "$ref": "ImageConfig", + "description": "Configures de-identification of image pixels wherever they are found in the\nsource_dataset." + }, + "text": { + "$ref": "TextConfig", + "description": "Configures de-identification of text wherever it is found in the\nsource_dataset." + } + }, + "type": "object" + }, + "DeidentifyDatasetRequest": { + "description": "Redacts identifying information from the specified dataset.", + "id": "DeidentifyDatasetRequest", + "properties": { + "config": { + "$ref": "DeidentifyConfig", + "description": "Deidentify configuration." + }, + "destinationDataset": { + "description": "The name of the dataset resource to create and write the redacted data to.\n\n * The destination dataset must not exist.\n * The destination dataset must be in the same project and location as the\n source dataset. De-identifying data across multiple projects or locations\n is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "DeidentifyDicomStoreRequest": { + "description": "Creates a new DICOM store with sensitive information de-identified.", + "id": "DeidentifyDicomStoreRequest", + "properties": { + "config": { + "$ref": "DeidentifyConfig", + "description": "De-identify configuration." + }, + "destinationStore": { + "description": "The name of the DICOM store to create and write the redacted data to.\nFor example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.\n\n * The destination dataset must exist.\n * The source dataset and destination dataset must both reside in the same\n project. De-identifying data across multiple projects is not supported.\n * The destination DICOM store must not exist.\n * The caller must have the necessary permissions to create the destination\n DICOM store.", + "type": "string" + }, + "filterConfig": { + "$ref": "DicomFilterConfig", + "description": "Filter configuration." + } + }, + "type": "object" + }, + "DeidentifyFhirStoreRequest": { + "description": "Creates a new FHIR store with sensitive information de-identified.", + "id": "DeidentifyFhirStoreRequest", + "properties": { + "config": { + "$ref": "DeidentifyConfig", + "description": "Deidentify configuration." + }, + "destinationStore": { + "description": "The name of the FHIR store to create and write the redacted data to.\nFor example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.\n\n * The destination dataset must exist.\n * The source dataset and destination dataset must both reside in the same\n project. De-identifying data across multiple projects is not supported.\n * The destination FHIR store must exist.\n * The caller must have the healthcare.fhirResources.update permission to\n write to the destination FHIR store.", + "type": "string" + }, + "resourceFilter": { + "$ref": "FhirFilter", + "description": "A filter specifying the resources to include in the output. If not\nspecified, all resources are included in the output." + } + }, + "type": "object" + }, + "DeidentifySummary": { + "description": "Contains a summary of the Deidentify operation.", + "id": "DeidentifySummary", + "properties": {}, + "type": "object" + }, + "DicomConfig": { + "description": "Specifies the parameters needed for de-identification of DICOM stores.", + "id": "DicomConfig", + "properties": { + "filterProfile": { + "description": "Tag filtering profile that determines which tags to keep/remove.", + "enum": [ + "TAG_FILTER_PROFILE_UNSPECIFIED", + "MINIMAL_KEEP_LIST_PROFILE", + "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE", + "KEEP_ALL_PROFILE", + "DEIDENTIFY_TAG_CONTENTS" + ], + "enumDescriptions": [ + "No tag filtration profile provided. Same as KEEP_ALL_PROFILE.", + "Keep only tags required to produce valid DICOM.", + "Remove tags based on DICOM Standard's Attribute Confidentiality Basic\nProfile (DICOM Standard Edition 2018e)\nhttp://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html.", + "Keep all tags.", + "Inspects within tag contents and replaces sensitive text. The process\ncan be configured using the TextConfig.\nApplies to all tags with the following Value Representation names:\nAE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS" + ], + "type": "string" + }, + "keepList": { + "$ref": "TagFilterList", + "description": "List of tags to keep. Remove all other tags." + }, + "removeList": { + "$ref": "TagFilterList", + "description": "List of tags to remove. Keep all other tags." + }, + "skipIdRedaction": { + "description": "If true, skip replacing StudyInstanceUID, SeriesInstanceUID,\nSOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched.\nThe Cloud Healthcare API regenerates these UIDs by default based on the\nDICOM Standard's reasoning: \"Whilst these UIDs cannot be mapped directly\nto an individual out of context, given access to the original images, or\nto a database of the original images containing the UIDs, it would be\npossible to recover the individual's identity.\"\nhttp://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html", + "type": "boolean" + } + }, + "type": "object" + }, + "DicomFilterConfig": { + "description": "Specifies the filter configuration for DICOM resources.", + "id": "DicomFilterConfig", + "properties": { + "resourcePathsGcsUri": { + "description": "The Cloud Storage location of the filter configuration file.\nThe `gcs_uri` must be in the format `gs://bucket/path/to/object`.\nThe filter configuration file must contain a list of resource paths\nseparated by newline characters (\\n or \\r\\n). Each resource path\nmust be in the format\n\"/studies/{studyUID}[/series/{seriesUID}[/instances/{instanceUID}]]\"\n\nThe Cloud Healthcare API service account must have the\n`roles/storage.objectViewer` Cloud IAM role for this Cloud Storage\nlocation.", + "type": "string" + } + }, + "type": "object" + }, + "DicomStore": { + "description": "Represents a DICOM store.", + "id": "DicomStore", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-supplied key-value pairs used to organize DICOM stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values are optional, must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.", + "type": "object" + }, + "name": { + "description": "Resource name of the DICOM store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "type": "string" + }, + "notificationConfig": { + "$ref": "NotificationConfig", + "description": "Notification destination for new DICOM instances.\nSupplied by the client." + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ExportDicomDataRequest": { + "description": "Exports data from the specified DICOM store.\nIf a given resource, such as a DICOM object with the same SOPInstance UID,\nalready exists in the output, it is overwritten with the version\nin the source dataset.\nExported DICOM data persists when the DICOM store from which it was\nexported is deleted.", + "id": "ExportDicomDataRequest", + "properties": { + "bigqueryDestination": { + "$ref": "GoogleCloudHealthcareV1DicomBigQueryDestination", + "description": "The BigQuery output destination.\n\nYou can only export to a BigQuery dataset that's in the same project as\nthe DICOM store you're exporting from.\n\nThe BigQuery location requires two IAM roles:\n`roles/bigquery.dataEditor` and `roles/bigquery.jobUser`." + }, + "gcsDestination": { + "$ref": "GoogleCloudHealthcareV1DicomGcsDestination", + "description": "The Cloud Storage output destination.\n\nThe Cloud Storage location requires the `roles/storage.objectAdmin` Cloud\nIAM role." + } + }, + "type": "object" + }, + "ExportDicomDataResponse": { + "description": "Returns additional information in regards to a completed DICOM store export.", + "id": "ExportDicomDataResponse", + "properties": {}, + "type": "object" + }, + "ExportResourcesRequest": { + "description": "Request to export resources.", + "id": "ExportResourcesRequest", + "properties": { + "bigqueryDestination": { + "$ref": "GoogleCloudHealthcareV1FhirBigQueryDestination", + "description": "The BigQuery output destination.\n\nThe BigQuery location requires two IAM roles:\n`roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.\n\nThe output is one BigQuery table per resource type." + }, + "gcsDestination": { + "$ref": "GoogleCloudHealthcareV1FhirGcsDestination", + "description": "The Cloud Storage output destination.\n\nThe Cloud Storage location requires the `roles/storage.objectAdmin` Cloud\nIAM role.\n\nThe exported outputs are\norganized by FHIR resource types. The server creates one object per\nresource type. Each object contains newline delimited JSON, and each line\nis a FHIR resource." + } + }, + "type": "object" + }, + "ExportResourcesResponse": { + "description": "Response when all resources export successfully.\nThis structure is included in the\nresponse to describe the detailed\noutcome after the operation finishes successfully.", + "id": "ExportResourcesResponse", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "FhirConfig": { + "description": "Specifies how to handle de-identification of a FHIR store.", + "id": "FhirConfig", + "properties": { + "fieldMetadataList": { + "description": "Specifies FHIR paths to match and how to transform them. Any field that\nis not matched by a FieldMetadata is passed through to the output\ndataset unmodified. All extensions are removed in the output.", + "items": { + "$ref": "FieldMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "FhirFilter": { + "description": "Filter configuration.", + "id": "FhirFilter", + "properties": { + "resources": { + "$ref": "Resources", + "description": "List of resources to include in the output. If this list is empty or\nnot specified, all resources are included in the output." + } + }, + "type": "object" + }, + "FhirStore": { + "description": "Represents a FHIR store.", + "id": "FhirStore", + "properties": { + "disableReferentialIntegrity": { + "description": "Whether to disable referential integrity in this FHIR store. This field is\nimmutable after FHIR store creation.\nThe default value is false, meaning that the API enforces referential\nintegrity and fails the requests that result in inconsistent state in\nthe FHIR store.\nWhen this field is set to true, the API skips referential integrity\nchecks. Consequently, operations that rely on references, such as\nGetPatientEverything, do not return all the results if broken references\nexist.", + "type": "boolean" + }, + "disableResourceVersioning": { + "description": "Whether to disable resource versioning for this FHIR store. This field can\nnot be changed after the creation of FHIR store.\nIf set to false, which is the default behavior, all write operations\ncause historical versions to be recorded automatically. The historical\nversions can be fetched through the history APIs, but cannot be updated.\nIf set to true, no historical versions are kept. The server sends\nerrors for attempts to read the historical versions.", + "type": "boolean" + }, + "enableUpdateCreate": { + "description": "Whether this FHIR store has the [updateCreate\ncapability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).\nThis determines if the client can use an Update operation to create a new\nresource with a client-specified ID. If false, all IDs are server-assigned\nthrough the Create operation and attempts to update a non-existent resource\nreturn errors. Please treat the audit logs with appropriate levels of\ncare if client-specified resource IDs contain sensitive data such as\npatient identifiers, those IDs are part of the FHIR resource path\nrecorded in Cloud audit logs and Cloud Pub/Sub notifications.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-supplied key-value pairs used to organize FHIR stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values are optional, must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.", + "type": "object" + }, + "name": { + "description": "Output only. Resource name of the FHIR store, of the form\n`projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "type": "string" + }, + "notificationConfig": { + "$ref": "NotificationConfig", + "description": "If non-empty, publish all resource modifications of this FHIR store to\nthis destination. The Cloud Pub/Sub message attributes contain a map\nwith a string describing the action that has triggered the notification.\nFor example, \"action\":\"CreateResource\"." + }, + "streamConfigs": { + "description": "A list of streaming configs that configure the destinations of streaming\nexport for every resource mutation in this FHIR store. Each store is\nallowed to have up to 10 streaming configs.\nAfter a new config is added, the next resource mutation is streamed to\nthe new location in addition to the existing ones.\nWhen a location is removed from the list, the server stops\nstreaming to that location. Before adding a new config, you must add the\nrequired\n[`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)\nrole to your project's **Cloud Healthcare Service Agent**\n[service account](https://cloud.google.com/iam/docs/service-accounts).\nSome lag (typically on the order of dozens of seconds) is expected before\nthe results show up in the streaming destination.", + "items": { + "$ref": "StreamConfig" + }, + "type": "array" + }, + "version": { + "description": "The FHIR specification version that this FHIR store supports natively. This\nfield is immutable after store creation. Requests are rejected if they\ncontain FHIR resources of a different version.", + "enum": [ + "VERSION_UNSPECIFIED", + "DSTU2", + "STU3", + "R4" + ], + "enumDescriptions": [ + "Users must specify a version on store creation or an error is\nreturned.", + "Draft Standard for Trial Use, [Release 2](https://www.hl7.org/fhir/DSTU2)", + "Standard for Trial Use, [Release 3](https://www.hl7.org/fhir/STU3)", + "[Release 4](https://www.hl7.org/fhir/R4)" + ], + "type": "string" + } + }, + "type": "object" + }, + "FieldMetadata": { + "description": "Specifies FHIR paths to match, and how to handle de-identification of\nmatching fields.", + "id": "FieldMetadata", + "properties": { + "action": { + "description": "Deidentify action for one field.", + "enum": [ + "ACTION_UNSPECIFIED", + "TRANSFORM", + "INSPECT_AND_TRANSFORM", + "DO_NOT_TRANSFORM" + ], + "enumDescriptions": [ + "No action specified.", + "Transform the entire field.", + "Inspect and transform any found PHI.", + "Do not transform." + ], + "type": "string" + }, + "paths": { + "description": "List of paths to FHIR fields to be redacted. Each path is a\nperiod-separated list where each component is either a field name or\nFHIR type name, for example: Patient, HumanName.\nFor \"choice\" types (those defined in the FHIR spec with the form:\nfield[x]) we use two separate components. For example,\n\"deceasedAge.unit\" is matched by \"Deceased.Age.unit\".\nSupported types are: AdministrativeGenderCode, Code, Date, DateTime,\nDecimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid,\nXhtml.\nBase64Binary is also supported, but may only be kept as-is or have all\nthe content removed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary": { + "description": "Contains a summary of the DeidentifyDicomStore operation.", + "id": "GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary", + "properties": {}, + "type": "object" + }, + "GoogleCloudHealthcareV1DeidentifyDeidentifyFhirStoreSummary": { + "description": "Contains a summary of the DeidentifyFhirStore operation.", + "id": "GoogleCloudHealthcareV1DeidentifyDeidentifyFhirStoreSummary", + "properties": {}, + "type": "object" + }, + "GoogleCloudHealthcareV1DicomBigQueryDestination": { + "description": "The BigQuery table where the server writes the output.", + "id": "GoogleCloudHealthcareV1DicomBigQueryDestination", + "properties": { + "force": { + "description": "If the destination table already exists and this flag is `TRUE`, the table\nis overwritten by the contents of the DICOM store. If the flag is not\nset and the destination table already exists, the export call returns an\nerror.", + "type": "boolean" + }, + "tableUri": { + "description": "BigQuery URI to a table, up to 2000 characters long, in the format\n`bq://projectId.bqDatasetId.tableId`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1DicomGcsDestination": { + "description": "The Cloud Storage location where the server writes the output and the export\nconfiguration.", + "id": "GoogleCloudHealthcareV1DicomGcsDestination", + "properties": { + "mimeType": { + "description": "MIME types supported by DICOM spec.\nEach file is written in the following format:\n`.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}`\nThe frame_number component exists only for multi-frame instances.\n\nSupported MIME types are consistent with supported formats in DICOMweb:\nhttps://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.\nSpecifically, the following are supported:\n\n - application/dicom; transfer-syntax=1.2.840.10008.1.2.1\n (uncompressed DICOM)\n - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50\n (DICOM with embedded JPEG Baseline)\n - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.90\n (DICOM with embedded JPEG 2000 Lossless Only)\n - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.91\n (DICOM with embedded JPEG 2000)\n - application/dicom; transfer-syntax=*\n (DICOM with no transcoding)\n - application/octet-stream; transfer-syntax=1.2.840.10008.1.2.1\n (raw uncompressed PixelData)\n - application/octet-stream; transfer-syntax=*\n (raw PixelData in whatever format it was uploaded in)\n - image/jpeg; transfer-syntax=1.2.840.10008.1.2.4.50\n (Consumer JPEG)\n - image/png\n\nThe following extensions are used for output files:\n\n - application/dicom -> .dcm\n - image/jpeg -> .jpg\n - image/png -> .png\n - application/octet-stream -> no extension\n\nIf unspecified, the instances are exported in the original\nDICOM format they were uploaded in.", + "type": "string" + }, + "uriPrefix": { + "description": "The Cloud Storage destination to export to.\n\nURI for a Cloud Storage directory where the server writes the result files,\nin the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is no\ntrailing slash, the service appends one when composing the object path.\nThe user is responsible for creating the Cloud Storage bucket referenced in\n`uri_prefix`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1DicomGcsSource": { + "description": "Specifies the configuration for importing data from Cloud Storage.", + "id": "GoogleCloudHealthcareV1DicomGcsSource", + "properties": { + "uri": { + "description": "Points to a Cloud Storage URI containing file(s) with\ncontent only. The URI must be in the following format:\n`gs://{bucket_id}/{object_id}`. The URI can include wildcards in\n`object_id` and thus identify multiple files. Supported wildcards:\n '*' to match 0 or more non-separator characters\n '**' to match 0 or more characters (including separators). Must be used at\n the end of a path and with no other wildcards in the\n path. Can also be used with a file extension (such as .dcm), which\n imports all files with the extension in the specified directory and\n its sub-directories. For example,\n `gs://my-bucket/my-directory/**.dcm` imports all files with .dcm\n extensions in `my-directory/` and its sub-directories.\n '?' to match 1 character\nAll other URI formats are invalid.\nFiles matching the wildcard are expected to contain content only, no\nmetadata.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1FhirBigQueryDestination": { + "description": "The configuration for exporting to BigQuery.", + "id": "GoogleCloudHealthcareV1FhirBigQueryDestination", + "properties": { + "datasetUri": { + "description": "BigQuery URI to a dataset, up to 2000 characters long, in the format\n`bq://projectId.bqDatasetId`", + "type": "string" + }, + "force": { + "description": "If this flag is `TRUE`, all tables are deleted from the dataset before\nthe new exported tables are written. If the flag is not set and the\ndestination dataset contains tables, the export call returns an error.", + "type": "boolean" + }, + "schemaConfig": { + "$ref": "SchemaConfig", + "description": "The configuration for the exported BigQuery schema." + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1FhirGcsDestination": { + "description": "The configuration for exporting to Cloud Storage.", + "id": "GoogleCloudHealthcareV1FhirGcsDestination", + "properties": { + "uriPrefix": { + "description": "URI for a Cloud Storage directory where result files should be written, in\nthe format of `gs://{bucket-id}/{path/to/destination/dir}`. If there is no\ntrailing slash, the service appends one when composing the object path.\nThe user is responsible for creating the Cloud Storage bucket referenced in\n`uri_prefix`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1FhirGcsSource": { + "description": "Specifies the configuration for importing data from Cloud Storage.", + "id": "GoogleCloudHealthcareV1FhirGcsSource", + "properties": { + "uri": { + "description": "Points to a Cloud Storage URI containing file(s) to import.\n\nThe URI must be in the following format: `gs://{bucket_id}/{object_id}`.\nThe URI can include wildcards in `object_id` and thus identify multiple\nfiles. Supported wildcards:\n\n* `*` to match 0 or more non-separator characters\n* `**` to match 0 or more characters (including separators). Must be used\nat the end of a path and with no other wildcards in the\npath. Can also be used with a file extension (such as .ndjson), which\nimports all files with the extension in the specified directory and\nits sub-directories. For example, `gs://my-bucket/my-directory/**.ndjson`\nimports all files with `.ndjson` extensions in `my-directory/` and its\nsub-directories.\n* `?` to match 1 character\n\nFiles matching the wildcard are expected to contain content only, no\nmetadata.", + "type": "string" + } + }, + "type": "object" + }, + "Hl7V2NotificationConfig": { + "description": "Specifies where and whether to send notifications upon changes to a\ndata store.", + "id": "Hl7V2NotificationConfig", + "properties": { + "filter": { + "description": "Restricts notifications sent for messages matching a filter. If this is\nempty, all messages are matched. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nThe following fields and functions are available for filtering:\n\n* `message_type`, from the MSH-9.1 field. For example,\n`NOT message_type = \"ADT\"`.\n* `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in\nthe dataset's time_zone, from the MSH-7 segment. For example,\n`send_date < \"2017-01-02\"`.\n* `send_time`, the timestamp when the message was sent, using the\nRFC3339 time format for comparisons, from the MSH-7 segment. For example,\n`send_time < \"2017-01-02T00:00:00-05:00\"`.\n* `send_facility`, the care center that the message came from, from the\nMSH-4 segment. For example, `send_facility = \"ABC\"`.\n* `PatientId(value, type)`, which matches if the message lists a patient\nhaving an ID of the given value and type in the PID-2, PID-3, or PID-4\nsegments. For example, `PatientId(\"123456\", \"MRN\")`.\n* `labels.x`, a string value of the label with key `x` as set using the\nMessage.labels\nmap. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be\nused to assert the existence of a label. For example,\n`labels.\"priority\":*`.", + "type": "string" + }, + "pubsubTopic": { + "description": "The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that\nnotifications of changes are published on. Supplied by the client.\n\nThe notification is a `PubsubMessage` with the following fields:\n\n* `PubsubMessage.Data` contains the resource name.\n* `PubsubMessage.MessageId` is the ID of this notification. It's\n guaranteed to be unique within the topic.\n* `PubsubMessage.PublishTime` is the time when the message was\n published.\n\nNote that notifications are only sent if the topic is non-empty. [Topic\nnames](https://cloud.google.com/pubsub/docs/overview#names) must be\nscoped to a project.\n\nThe Cloud Healthcare API service account,\nservice-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com,\nmust have\npublisher permissions on the given Pub/Sub topic. Not having adequate\npermissions causes the calls that send notifications to fail.\n\nIf a notification cannot be published to Cloud Pub/Sub, errors are\nlogged to Cloud Logging. For more information, see\n[Viewing error logs in Cloud Logging](/healthcare/docs/how-tos/logging)).", + "type": "string" + } + }, + "type": "object" + }, + "Hl7V2Store": { + "description": "Represents an HL7v2 store.", + "id": "Hl7V2Store", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-supplied key-value pairs used to organize HL7v2 stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values are optional, must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.", + "type": "object" + }, + "name": { + "description": "Resource name of the HL7v2 store, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", + "type": "string" + }, + "notificationConfigs": { + "description": "A list of notification configs. Each configuration uses a filter to\ndetermine whether to publish a message (both Ingest & Create) on\nthe corresponding notification destination. Only the message name is sent\nas part of the notification. Supplied by the client.", + "items": { + "$ref": "Hl7V2NotificationConfig" + }, + "type": "array" + }, + "parserConfig": { + "$ref": "ParserConfig", + "description": "The configuration for the parser. It determines how the server parses the\nmessages." + }, + "rejectDuplicateMessage": { + "description": "Determines whether to reject duplicate messages. A duplicate\nmessage is a message with the same raw bytes as a message that has already\nbeen ingested/created in this HL7v2 store.\nThe default value is false, meaning that the store accepts the duplicate\nmessages and it also returns the same ACK message in the\nIngestMessageResponse as has been returned previously. Note that only\none resource is created in the store.\nWhen this field is set to true,\nCreateMessage/IngestMessage\nrequests with a duplicate message will be rejected by the store, and\nIngestMessageErrorDetail returns a NACK message upon rejection.", + "type": "boolean" + } + }, + "type": "object" + }, + "HttpBody": { + "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody) returns\n (google.protobuf.Empty);\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.", + "id": "HttpBody", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "format": "byte", + "type": "string" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImageConfig": { + "description": "Specifies how to handle de-identification of image pixels.", + "id": "ImageConfig", + "properties": { + "textRedactionMode": { + "description": "Determines how to redact text from image.", + "enum": [ + "TEXT_REDACTION_MODE_UNSPECIFIED", + "REDACT_ALL_TEXT", + "REDACT_SENSITIVE_TEXT", + "REDACT_NO_TEXT" + ], + "enumDescriptions": [ + "No text redaction specified. Same as REDACT_NO_TEXT.", + "Redact all text.", + "Redact sensitive text.", + "Do not redact text." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImportDicomDataRequest": { + "description": "Imports data into the specified DICOM store.\nReturns an error if any of the files to import are not DICOM files. This\nAPI accepts duplicate DICOM instances by ignoring the newly-pushed instance.\nIt does not overwrite.", + "id": "ImportDicomDataRequest", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudHealthcareV1DicomGcsSource", + "description": "Cloud Storage source data location and import configuration.\n\nThe Cloud Storage location requires the `roles/storage.objectViewer`\nCloud IAM role." + } + }, + "type": "object" + }, + "ImportDicomDataResponse": { + "description": "Returns additional information in regards to a completed DICOM store import.", + "id": "ImportDicomDataResponse", + "properties": {}, + "type": "object" + }, + "ImportResourcesRequest": { + "description": "Request to import resources.", + "id": "ImportResourcesRequest", + "properties": { + "contentStructure": { + "description": "The content structure in the source location. If not specified, the server\ntreats the input source files as BUNDLE.", + "enum": [ + "CONTENT_STRUCTURE_UNSPECIFIED", + "BUNDLE", + "RESOURCE", + "BUNDLE_PRETTY", + "RESOURCE_PRETTY" + ], + "enumDescriptions": [ + "If the content structure is not specified, the default value `BUNDLE`\nis used.", + "The source file contains one or more lines of newline-delimited JSON\n(ndjson). Each line is a bundle that contains one or more resources.\nSet the bundle type to `history` to import resource versions.", + "The source file contains one or more lines of newline-delimited JSON\n(ndjson). Each line is a single resource.", + "The entire file is one JSON bundle. The JSON can span multiple lines.", + "The entire file is one JSON resource. The JSON can span multiple lines." + ], + "type": "string" + }, + "gcsSource": { + "$ref": "GoogleCloudHealthcareV1FhirGcsSource", + "description": "Cloud Storage source data location and import configuration.\n\nThe Cloud Storage location requires the `roles/storage.objectViewer`\nCloud IAM role.\n\nEach Cloud Storage object should be a text file that contains the format\nspecified in ContentStructure." + } + }, + "type": "object" + }, + "ImportResourcesResponse": { + "description": "Final response of importing resources.\nThis structure is included in the\nresponse to describe the detailed\noutcome after the operation finishes successfully.", + "id": "ImportResourcesResponse", + "properties": {}, + "type": "object" + }, + "InfoTypeTransformation": { + "description": "A transformation to apply to text that is identified as a specific\ninfo_type.", + "id": "InfoTypeTransformation", + "properties": { + "characterMaskConfig": { + "$ref": "CharacterMaskConfig", + "description": "Config for character mask." + }, + "cryptoHashConfig": { + "$ref": "CryptoHashConfig", + "description": "Config for crypto hash." + }, + "dateShiftConfig": { + "$ref": "DateShiftConfig", + "description": "Config for date shift." + }, + "infoTypes": { + "description": "InfoTypes to apply this transformation to. If this is not specified, the\ntransformation applies to any info_type.", + "items": { + "type": "string" + }, + "type": "array" + }, + "redactConfig": { + "$ref": "RedactConfig", + "description": "Config for text redaction." + }, + "replaceWithInfoTypeConfig": { + "$ref": "ReplaceWithInfoTypeConfig", + "description": "Config for replace with InfoType." + } + }, + "type": "object" + }, + "IngestMessageRequest": { + "description": "Ingests a message into the specified HL7v2 store.", + "id": "IngestMessageRequest", + "properties": { + "message": { + "$ref": "Message", + "description": "HL7v2 message to ingest." + } + }, + "type": "object" + }, + "IngestMessageResponse": { + "description": "Acknowledges that a message has been ingested into the specified\nHL7v2 store.", + "id": "IngestMessageResponse", + "properties": { + "hl7Ack": { + "description": "HL7v2 ACK message.", + "format": "byte", + "type": "string" + }, + "message": { + "$ref": "Message", + "description": "Created message resource." + } + }, + "type": "object" + }, + "ListDatasetsResponse": { + "description": "Lists the available datasets.", + "id": "ListDatasetsResponse", + "properties": { + "datasets": { + "description": "The first page of datasets.", + "items": { + "$ref": "Dataset" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListDicomStoresResponse": { + "description": "Lists the DICOM stores in the given dataset.", + "id": "ListDicomStoresResponse", + "properties": { + "dicomStores": { + "description": "The returned DICOM stores. Won't be more DICOM stores than the value of\npage_size in the request.", + "items": { + "$ref": "DicomStore" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListFhirStoresResponse": { + "description": "Lists the FHIR stores in the given dataset.", + "id": "ListFhirStoresResponse", + "properties": { + "fhirStores": { + "description": "The returned FHIR stores. Won't be more FHIR stores than the value of\npage_size in the request.", + "items": { + "$ref": "FhirStore" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListHl7V2StoresResponse": { + "description": "Lists the HL7v2 stores in the given dataset.", + "id": "ListHl7V2StoresResponse", + "properties": { + "hl7V2Stores": { + "description": "The returned HL7v2 stores. Won't be more HL7v2 stores than the value of\npage_size in the request.", + "items": { + "$ref": "Hl7V2Store" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListMessagesResponse": { + "description": "Lists the messages in the specified HL7v2 store.", + "id": "ListMessagesResponse", + "properties": { + "hl7V2Messages": { + "description": "The returned Messages. Won't be more Messages than the value of\npage_size in the request. See\nview for\npopulated fields.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Message": { + "description": "A complete HL7v2 message.\nSee [Introduction to HL7 Standards]\n(https://www.hl7.org/implement/standards/index.cfm?ref=common) for\ndetails on the standard.", + "id": "Message", + "properties": { + "createTime": { + "description": "Output only. The datetime when the message was created. Set by the server.", + "format": "google-datetime", + "type": "string" + }, + "data": { + "description": "Raw message bytes.", + "format": "byte", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-supplied key-value pairs used to organize HL7v2 stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values are optional, must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.", + "type": "object" + }, + "messageType": { + "description": "The message type for this message. MSH-9.1.", + "type": "string" + }, + "name": { + "description": "Resource name of the Message, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`.\nAssigned by the server.", + "type": "string" + }, + "parsedData": { + "$ref": "ParsedData", + "description": "Output only. The parsed version of the raw message data." + }, + "patientIds": { + "description": "All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this\nmessage.", + "items": { + "$ref": "PatientId" + }, + "type": "array" + }, + "sendFacility": { + "description": "The hospital that this message came from. MSH-4.", + "type": "string" + }, + "sendTime": { + "description": "The datetime the sending application sent this message. MSH-7.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "NotificationConfig": { + "description": "Specifies where to send notifications upon changes to a data store.", + "id": "NotificationConfig", + "properties": { + "pubsubTopic": { + "description": "The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that\nnotifications of changes are published on. Supplied by the client.\nPubsubMessage.Data contains the resource name.\nPubsubMessage.MessageId is the ID of this message. It is guaranteed to be\nunique within the topic.\nPubsubMessage.PublishTime is the time at which the message was published.\nNotifications are only sent if the topic is\nnon-empty. [Topic\nnames](https://cloud.google.com/pubsub/docs/overview#names) must be scoped\nto a project. Cloud Healthcare API service account must have publisher\npermissions on the given Cloud Pub/Sub topic. Not having adequate\npermissions causes the calls that send notifications to fail.\n\nIf a notification can't be published to Cloud Pub/Sub, errors are logged to\nCloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)). If the number of\nerrors exceeds a certain rate, some aren't submitted.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "OperationMetadata provides information about the operation execution.\nReturned in the long-running operation's metadata field.", + "id": "OperationMetadata", + "properties": { + "apiMethodName": { + "description": "The name of the API method that initiated the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "Specifies if cancellation was requested for the operation.", + "type": "boolean" + }, + "counter": { + "$ref": "ProgressCounter" + }, + "createTime": { + "description": "The time at which the operation was created by the API.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time at which execution was completed.", + "format": "google-datetime", + "type": "string" + }, + "logsUrl": { + "description": "A link to audit and error logs in the log viewer. Error logs are generated\nonly by some operations, listed at\n[Viewing logs](/healthcare/docs/how-tos/logging).", + "type": "string" + } + }, + "type": "object" + }, + "ParsedData": { + "description": "The content of a HL7v2 message in a structured format.", + "id": "ParsedData", + "properties": { + "segments": { + "items": { + "$ref": "Segment" + }, + "type": "array" + } + }, + "type": "object" + }, + "ParserConfig": { + "description": "The configuration for the parser. It determines how the server parses the\nmessages.", + "id": "ParserConfig", + "properties": { + "allowNullHeader": { + "description": "Determines whether messages with no header are allowed.", + "type": "boolean" + }, + "segmentTerminator": { + "description": "Byte(s) to use as the segment terminator. If this is unset, '\\r' is\nused as segment terminator.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "PatientId": { + "description": "A patient identifier and associated type.", + "id": "PatientId", + "properties": { + "type": { + "description": "ID type. For example, MRN or NHS.", + "type": "string" + }, + "value": { + "description": "The patient's unique identifier.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ProgressCounter": { + "description": "ProgressCounter provides counters to describe an operation's progress.", + "id": "ProgressCounter", + "properties": { + "failure": { + "description": "The number of units that failed in the operation.", + "format": "int64", + "type": "string" + }, + "pending": { + "description": "The number of units that are pending in the operation.", + "format": "int64", + "type": "string" + }, + "success": { + "description": "The number of units that succeeded in the operation.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RedactConfig": { + "description": "Define how to redact sensitive values. Default behaviour is erase.\nFor example, \"My name is Jane.\" becomes \"My name is .\"", + "id": "RedactConfig", + "properties": {}, + "type": "object" + }, + "ReplaceWithInfoTypeConfig": { + "description": "When using the\nINSPECT_AND_TRANSFORM\naction, each match is replaced with the name of the info_type. For example,\n\"My name is Jane\" becomes \"My name is [PERSON_NAME].\" The\nTRANSFORM\naction is equivalent to redacting.", + "id": "ReplaceWithInfoTypeConfig", + "properties": {}, + "type": "object" + }, + "Resources": { + "description": "A list of FHIR resources.", + "id": "Resources", + "properties": { + "resources": { + "description": "List of resources IDs. For example, \"Patient/1234\".", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "SchemaConfig": { + "description": "Configuration for the FHIR BigQuery schema. Determines how the server\ngenerates the schema.", + "id": "SchemaConfig", + "properties": { + "recursiveStructureDepth": { + "description": "The depth for all recursive structures in the output analytics\nschema. For example, `concept` in the CodeSystem resource is a recursive\nstructure; when the depth is 2, the CodeSystem table will have a column\ncalled `concept.concept` but not `concept.concept.concept`. If not\nspecified or set to 0, the server will use the default value 2. The\nmaximum depth allowed is 5.", + "format": "int64", + "type": "string" + }, + "schemaType": { + "description": "Specifies the output schema type.", + "enum": [ + "SCHEMA_TYPE_UNSPECIFIED", + "ANALYTICS" + ], + "enumDescriptions": [ + "No schema type specified.", + "Analytics schema defined by the FHIR community.\nSee https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.\n\nBigQuery only allows a maximum of 10,000 columns per table. Due to this\nlimitation, the server will not generate schemas for fields of type\n`Resource`, which can hold any resource type. The affected fields are\n`Parameters.parameter.resource`, `Bundle.entry.resource`, and\n`Bundle.entry.response.outcome`." + ], + "type": "string" + } + }, + "type": "object" + }, + "SearchResourcesRequest": { + "description": "Request to search the resources in the specified FHIR store.", + "id": "SearchResourcesRequest", + "properties": { + "resourceType": { + "description": "The FHIR resource type to search, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", + "type": "string" + } + }, + "type": "object" + }, + "Segment": { + "description": "A segment in a structured format.", + "id": "Segment", + "properties": { + "fields": { + "additionalProperties": { + "type": "string" + }, + "description": "A mapping from the positional location to the value.\nThe key string uses zero-based indexes separated by dots to identify\nFields, components and sub-components. A bracket notation is also used to\nidentify different instances of a repeated field.\nRegex for key: (\\d+)(\\[\\d+\\])?(.\\d+)?(.\\d+)?\n\nExamples of (key, value) pairs:\n\n* (0.1, \"hemoglobin\") denotes that the first component of Field 0 has the\n value \"hemoglobin\".\n\n* (1.1.2, \"CBC\") denotes that the second sub-component of the first\n component of Field 1 has the value \"CBC\".\n\n* (1[0].1, \"HbA1c\") denotes that the first component of the\n first Instance of Field 1, which is repeated, has the value \"HbA1c\".", + "type": "object" + }, + "segmentId": { + "description": "A string that indicates the type of segment. For example, EVN or PID.", + "type": "string" + }, + "setId": { + "description": "Set ID for segments that can be in a set. This can be empty if it's\nmissing or isn't applicable.", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "StreamConfig": { + "description": "Contains configuration for streaming FHIR export.", + "id": "StreamConfig", + "properties": { + "bigqueryDestination": { + "$ref": "GoogleCloudHealthcareV1FhirBigQueryDestination", + "description": "The destination BigQuery structure that contains both the dataset\nlocation and corresponding schema config.\n\nThe output is organized in one table per resource type. The server\nreuses the existing tables (if any) that are named after the resource\ntypes. For example, \"Patient\", \"Observation\". When there is no existing\ntable for a given resource type, the server attempts to create one.\n\nWhen a table schema doesn't align with the schema config, either\nbecause of existing incompatible schema or out of band incompatible\nmodification, the server does not stream in new data.\n\nBigQuery imposes a 1 MB limit on streaming insert row size, therefore\nany resource mutation that generates more than 1 MB of BigQuery data\nis not streamed.\n\nOne resolution in this case is to delete the incompatible\ntable and let the server recreate one, though the newly created table\nonly contains data after the table recreation.\n\nResults are appended to the corresponding BigQuery tables. Different\nversions of the same resource are distinguishable by the meta.versionId\nand meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that\nresults in the new version is recorded in the meta.tag.\n\nThe tables contain all historical resource versions since streaming was\nenabled. For query convenience, the server also creates one view per\ntable of the same name containing only the current resource version.\n\nThe streamed data in the BigQuery dataset is not guaranteed to be\ncompletely unique. The combination of the id and meta.versionId columns\nshould ideally identify a single unique row. But in rare cases,\nduplicates may exist. At query time, users may use the SQL select\nstatement to keep only one of the duplicate rows given an id and\nmeta.versionId pair. Alternatively, the server created view mentioned\nabove also filters out duplicates.\n\nIf a resource mutation cannot be streamed to BigQuery, errors are\nlogged to Cloud Logging. For more information, see\n[Viewing error logs in Cloud\nLogging](/healthcare/docs/how-tos/logging))." + }, + "resourceTypes": { + "description": "Supply a FHIR resource type (such as \"Patient\" or \"Observation\").\nSee https://www.hl7.org/fhir/valueset-resource-types.html for a list of\nall FHIR resource types.\nThe server treats an empty list as an intent to stream all the\nsupported resource types in this FHIR store.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TagFilterList": { + "description": "List of tags to be filtered.", + "id": "TagFilterList", + "properties": { + "tags": { + "description": "Tags to be filtered. Tags must be DICOM Data Elements, File Meta\nElements, or Directory Structuring Elements, as defined at:\nhttp://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.\nThey may be provided by \"Keyword\" or \"Tag\". For example \"PatientID\",\n\"00100010\".", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TextConfig": { + "id": "TextConfig", + "properties": { + "transformations": { + "description": "The transformations to apply to the detected data.", + "items": { + "$ref": "InfoTypeTransformation" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Healthcare API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/healthcare/v1beta1/healthcare-api.json b/etc/api/healthcare/v1beta1/healthcare-api.json index 3ab53d506d..5634a0d3a2 100644 --- a/etc/api/healthcare/v1beta1/healthcare-api.json +++ b/etc/api/healthcare/v1beta1/healthcare-api.json @@ -213,7 +213,7 @@ ] }, "deidentify": { - "description": "Creates a new dataset containing de-identified data from the source\ndataset. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifySummary.\nIf errors occur,\nerror\ndetails field type is\nDeidentifyErrorDetails.\nThe LRO result may still be successful if de-identification fails for some\nDICOM instances. The new de-identified dataset will not contain these\nfailed resources. Failed resource totals are tracked in\nDeidentifySummary.failure_resource_count.\nError details are also logged to Stackdriver Logging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging).", + "description": "Creates a new dataset containing de-identified data from the source\ndataset. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifySummary.\nIf errors occur,\nerror\ndetails field type is\nDeidentifyErrorDetails.\nThe LRO result may still be successful if de-identification fails for some\nDICOM instances. The new de-identified dataset will not contain these\nfailed resources. Failed resource totals are tracked in\nDeidentifySummary.failure_resource_count.\nError details are also logged to Cloud Logging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/logging).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.deidentify", @@ -300,7 +300,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -367,7 +367,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the dataset, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", + "description": "Resource name of the dataset, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, @@ -392,7 +392,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.setIamPolicy", @@ -420,7 +420,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.testIamPermissions", @@ -451,6 +451,145 @@ "resources": { "annotationStores": { "methods": { + "create": { + "description": "Creates a new Annotation store within the parent dataset.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.annotationStores.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "annotationStoreId": { + "description": "The ID of the Annotation store that is being created.\nThe string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the dataset this Annotation store belongs to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/annotationStores", + "request": { + "$ref": "AnnotationStore" + }, + "response": { + "$ref": "AnnotationStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified Annotation store and removes all annotations that are\ncontained within it.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.annotationStores.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the Annotation store to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "evaluate": { + "description": "Evaluate an Annotation store against a\nground truth Annotation store.\nWhen the operation finishes successfully, a detailed response is returned\nof type EvaluateAnnotationStoreResponse, contained in the response. The metadata field type is\nOperationMetadata.\nErrors are logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:evaluate", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.annotationStores.evaluate", + "parameterOrder": [ + "evalStore" + ], + "parameters": { + "evalStore": { + "description": "The Annotation store to compare against `golden_store`, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+evalStore}:evaluate", + "request": { + "$ref": "EvaluateAnnotationStoreRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "export": { + "description": "Export\nAnnotations from\nthe Annotation\nstore.\nIf the request is successful, a detailed response is returned of type\nExportAnnotationsResponse, contained in the\nresponse field when the\noperation finishes.\nThe metadata field type is\nOperationMetadata.\nIf errors occur, the error\nfield type is ImportAnnotationsErrorDetails.\nErrors are also logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:export", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.annotationStores.export", + "parameterOrder": [ + "annotationStore" + ], + "parameters": { + "annotationStore": { + "description": "The name of the Annotation store to export annotations to, in\nthe format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+annotationStore}:export", + "request": { + "$ref": "ExportAnnotationsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the specified Annotation store or returns NOT_FOUND if it does not\nexist.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.annotationStores.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the Annotation store to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "AnnotationStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:getIamPolicy", @@ -461,7 +600,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -482,8 +621,111 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "import": { + "description": "Import\nAnnotations to\nthe Annotation\nstore by\nloading data from the specified sources.\nIf the request is successful, a detailed response is returned as of type\nImportAnnotationsResponse, contained in the\nresponse field when the\noperation finishes.\nThe metadata field type is\nOperationMetadata.\nIf errors occur, the error\nfield type is ImportAnnotationsErrorDetails.\nErrors are also logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:import", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.annotationStores.import", + "parameterOrder": [ + "annotationStore" + ], + "parameters": { + "annotationStore": { + "description": "The name of the Annotation store to which the server imports annotations,\nin the format\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+annotationStore}:import", + "request": { + "$ref": "ImportAnnotationsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the Annotation stores in the given dataset for a source store.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.annotationStores.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Restricts stores returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\nOnly filtering on labels is supported, for example `labels.key=value`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Limit on the number of Annotation stores to return in a single response.\nIf zero the default page size of 100 is used.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from the previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Name of the dataset.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/annotationStores", + "response": { + "$ref": "ListAnnotationStoresResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified Annotation store.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}", + "httpMethod": "PATCH", + "id": "healthcare.projects.locations.datasets.annotationStores.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name of the Annotation store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "AnnotationStore" + }, + "response": { + "$ref": "AnnotationStore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:setIamPolicy", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.annotationStores.setIamPolicy", @@ -511,7 +753,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}:testIamPermissions", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.annotationStores.testIamPermissions", @@ -538,6 +780,175 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "annotations": { + "methods": { + "create": { + "description": "Creates a new Annotation record. It is\nvalid to create Annotation objects for the same source more than once since\na unique ID is assigned to each record by this service.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.annotationStores.annotations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the Annotation store this annotation belongs to. For example,\n`projects/my-project/locations/us-central1/datasets/mydataset/annotationStores/myannotationstore`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/annotations", + "request": { + "$ref": "Annotation" + }, + "response": { + "$ref": "Annotation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an Annotation or returns\nNOT_FOUND if it does not exist.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}", + "httpMethod": "DELETE", + "id": "healthcare.projects.locations.datasets.annotationStores.annotations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the Annotation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an Annotation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.annotationStores.annotations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the Annotation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Annotation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the Annotations in the given\nAnnotation store for a source\nresource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.annotationStores.annotations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Restricts Annotations returned to those matching a filter. Functions\navailable for filtering are:\n\n- `matches(\"annotation_source.cloud_healthcare_source.name\", substring)`.\nFilter on `cloud_healthcare_source.name`. For example:\n`matches(\"annotation_source.cloud_healthcare_source.name\", \"some source\")`.\n\n- `matches(\"annotation\", substring)`. Filter on all fields of annotation.\nFor example: `matches(\"annotation\", \"some-content\")`.\n\n- `type(\"text\")`, `type(\"image\")`, `type(\"resource\")`. Filter on the type\nof annotation `data`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Limit on the number of Annotations to return in a single response.\nIf zero the default page size of 100 is used.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from the previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Name of the Annotation store to retrieve Annotations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Controls which fields are populated in the response.", + "enum": [ + "ANNOTATION_VIEW_UNSPECIFIED", + "ANNOTATION_VIEW_BASIC", + "ANNOTATION_VIEW_FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/annotations", + "response": { + "$ref": "ListAnnotationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the Annotation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationStores/{annotationStoresId}/annotations/{annotationsId}", + "httpMethod": "PATCH", + "id": "healthcare.projects.locations.datasets.annotationStores.annotations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name of the Annotation, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}/annotations/{annotation_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationStores/[^/]+/annotations/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Annotation" + }, + "response": { + "$ref": "Annotation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "dicomStores": { @@ -576,7 +987,7 @@ ] }, "deidentify": { - "description": "De-identifies data from the source store and writes it to the destination\nstore. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifyDicomStoreSummary. If errors occur,\nerror\ndetails field type is\nDeidentifyErrorDetails.\nThe LRO result may still be successful if de-identification fails for some\nDICOM instances. The output DICOM store will not contain\nthese failed resources. Failed resource totals are tracked in\nDeidentifySummary.failure_resource_count.\nError details are also logged to Stackdriver\n(see [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging)).", + "description": "De-identifies data from the source store and writes it to the destination\nstore. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifyDicomStoreSummary. If errors occur,\nerror\ndetails field type is\nDeidentifyErrorDetails.\nThe LRO result may still be successful if de-identification fails for some\nDICOM instances. The output DICOM store will not contain\nthese failed resources. Failed resource totals are tracked in\nDeidentifySummary.failure_resource_count.\nError details are also logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.dicomStores.deidentify", @@ -629,7 +1040,7 @@ ] }, "export": { - "description": "Exports data to the specified destination by copying it from the DICOM\nstore.\nErrors are also logged to Stackdriver Logging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging).\nThe metadata field type is\nOperationMetadata.", + "description": "Exports data to the specified destination by copying it from the DICOM\nstore.\nErrors are also logged to Cloud Logging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/logging).\nThe metadata field type is\nOperationMetadata.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.dicomStores.export", @@ -691,7 +1102,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -713,7 +1124,7 @@ ] }, "import": { - "description": "Imports data into the DICOM store by copying it from the specified source.\nFor errors, the Operation is populated with error details (in the form\nof ImportDicomDataErrorDetails in error.details), which hold\nfiner-grained error information. Errors are also logged to Stackdriver\nLogging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging).\nThe metadata field type is\nOperationMetadata.", + "description": "Imports data into the DICOM store by copying it from the specified source.\nFor errors, the Operation is populated with error details (in the form\nof ImportDicomDataErrorDetails in error.details), which hold\nfiner-grained error information. Errors are also logged to Cloud Logging.\nFor more information, see [Viewing logs](/healthcare/docs/how-tos/logging).\nThe metadata field type is\nOperationMetadata.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.dicomStores.import", @@ -791,7 +1202,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the DICOM store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "description": "Resource name of the DICOM store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", "required": true, @@ -816,7 +1227,7 @@ ] }, "searchForInstances": { - "description": "SearchForInstances returns a list of matching instances. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6.", + "description": "SearchForInstances returns a list of matching instances. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.searchForInstances", @@ -849,7 +1260,7 @@ ] }, "searchForSeries": { - "description": "SearchForSeries returns a list of matching series. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6.", + "description": "SearchForSeries returns a list of matching series. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.searchForSeries", @@ -882,7 +1293,7 @@ ] }, "searchForStudies": { - "description": "SearchForStudies returns a list of matching studies. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6.", + "description": "SearchForStudies returns a list of matching studies. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.searchForStudies", @@ -915,7 +1326,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.dicomStores.setIamPolicy", @@ -943,7 +1354,7 @@ ] }, "storeInstances": { - "description": "StoreInstances stores DICOM instances associated with study instance unique\nidentifiers (SUID). See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5.", + "description": "StoreInstances stores DICOM instances associated with study instance unique\nidentifiers (SUID). See\n[Store\nTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.dicomStores.storeInstances", @@ -979,7 +1390,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.dicomStores.testIamPermissions", @@ -1043,7 +1454,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveStudyMetadata returns instance associated with the given study\npresented as metadata with the bulk data removed. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveStudyMetadata returns instance associated with the given study\npresented as metadata with the bulk data removed. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata", @@ -1076,7 +1487,7 @@ ] }, "retrieveStudy": { - "description": "RetrieveStudy returns all instances within the given study. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveStudy returns all instances within the given study. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy", @@ -1109,7 +1520,7 @@ ] }, "searchForInstances": { - "description": "SearchForInstances returns a list of matching instances. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6.", + "description": "SearchForInstances returns a list of matching instances. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/instances", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances", @@ -1142,7 +1553,7 @@ ] }, "searchForSeries": { - "description": "SearchForSeries returns a list of matching series. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6.", + "description": "SearchForSeries returns a list of matching series. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries", @@ -1175,7 +1586,7 @@ ] }, "storeInstances": { - "description": "StoreInstances stores DICOM instances associated with study instance unique\nidentifiers (SUID). See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5.", + "description": "StoreInstances stores DICOM instances associated with study instance unique\nidentifiers (SUID). See\n[Store\nTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances", @@ -1248,7 +1659,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveSeriesMetadata returns instance associated with the given study and\nseries, presented as metadata with the bulk data removed. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveSeriesMetadata returns instance associated with the given study and\nseries, presented as metadata with the bulk data removed. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata", @@ -1281,7 +1692,7 @@ ] }, "retrieveSeries": { - "description": "RetrieveSeries returns all instances within the given study and series. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveSeries returns all instances within the given study and series. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries", @@ -1314,7 +1725,7 @@ ] }, "searchForInstances": { - "description": "SearchForInstances returns a list of matching instances. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6.", + "description": "SearchForInstances returns a list of matching instances. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances", @@ -1351,7 +1762,7 @@ "instances": { "methods": { "delete": { - "description": "DeleteInstance deletes an instance associated with the given study, series,\nand SOP Instance UID. Delete requests are equivalent to the GET requests\nspecified in the Retrieve transaction.", + "description": "DeleteInstance deletes an instance associated with the given study, series,\nand SOP Instance UID. Delete requests are equivalent to the GET requests\nspecified in the Retrieve transaction.\nStudy and series search results can take a few seconds to be updated after\nan instance is deleted using DeleteInstance.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}", "httpMethod": "DELETE", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete", @@ -1384,7 +1795,7 @@ ] }, "retrieveInstance": { - "description": "RetrieveInstance returns instance associated with the given study, series,\nand SOP Instance UID. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveInstance returns instance associated with the given study, series,\nand SOP Instance UID. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance", @@ -1417,7 +1828,7 @@ ] }, "retrieveMetadata": { - "description": "RetrieveInstanceMetadata returns instance associated with the given study,\nseries, and SOP Instance UID presented as metadata with the bulk data\nremoved. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveInstanceMetadata returns instance associated with the given study,\nseries, and SOP Instance UID presented as metadata with the bulk data\nremoved. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata", @@ -1450,7 +1861,7 @@ ] }, "retrieveRendered": { - "description": "RetrieveRenderedInstance returns instance associated with the given study,\nseries, and SOP Instance UID in an acceptable Rendered Media Type. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveRenderedInstance returns instance associated with the given study,\nseries, and SOP Instance UID in an acceptable Rendered Media Type. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered", @@ -1487,7 +1898,7 @@ "frames": { "methods": { "retrieveFrames": { - "description": "RetrieveFrames returns instances associated with the given study, series,\nSOP Instance UID and frame numbers. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveFrames returns instances associated with the given study, series,\nSOP Instance UID and frame numbers. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames", @@ -1520,7 +1931,7 @@ ] }, "retrieveRendered": { - "description": "RetrieveRenderedFrames returns instances associated with the given study,\nseries, SOP Instance UID and frame numbers in an acceptable Rendered Media\nType. See\nhttp://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4.", + "description": "RetrieveRenderedFrames returns instances associated with the given study,\nseries, SOP Instance UID and frame numbers in an acceptable Rendered Media\nType. See\n[RetrieveTransaction](http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered", @@ -1598,7 +2009,7 @@ ] }, "deidentify": { - "description": "De-identifies data from the source store and writes it to the destination\nstore. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifyFhirStoreSummary. If errors occur,\nerror\ndetails field type is\nDeidentifyErrorDetails.\nErrors are also logged to Stackdriver\n(see [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging)).", + "description": "De-identifies data from the source store and writes it to the destination\nstore. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifyFhirStoreSummary. If errors occur,\nerror\ndetails field type is\nDeidentifyErrorDetails.\nErrors are also logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.deidentify", @@ -1651,7 +2062,7 @@ ] }, "export": { - "description": "Export resources from the FHIR store to the specified destination.\n\nThis method returns an Operation that can\nbe used to track the status of the export by calling\nGetOperation.\n\nImmediate fatal errors appear in the\nerror field, errors are also logged\nto Stackdriver (see [Viewing\nlogs](/healthcare/docs/how-tos/stackdriver-logging)).\nOtherwise, when the operation finishes, a detailed response of type\nExportResourcesResponse is returned in the\nresponse field.\nThe metadata field type for this\noperation is OperationMetadata.", + "description": "Export resources from the FHIR store to the specified destination.\n\nThis method returns an Operation that can\nbe used to track the status of the export by calling\nGetOperation.\n\nImmediate fatal errors appear in the\nerror field, errors are also logged\nto Cloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)).\nOtherwise, when the operation finishes, a detailed response of type\nExportResourcesResponse is returned in the\nresponse field.\nThe metadata field type for this\noperation is OperationMetadata.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.export", @@ -1660,7 +2071,7 @@ ], "parameters": { "name": { - "description": "The name of the FHIR store to export resource from. The name should be in\nthe format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "description": "The name of the FHIR store to export resource from, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", "required": true, @@ -1713,7 +2124,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -1735,7 +2146,7 @@ ] }, "import": { - "description": "Import resources to the FHIR store by loading data from the specified\nsources. This method is optimized to load large quantities of data using\nimport semantics that ignore some FHIR store configuration options and are\nnot suitable for all use cases. It is primarily intended to load data into\nan empty FHIR store that is not being used by other clients. In cases\nwhere this method is not appropriate, consider using ExecuteBundle to\nload data.\n\nEvery resource in the input must contain a client-supplied ID, and will be\nstored using that ID regardless of the\nenable_update_create setting on the FHIR\nstore.\n\nThe import process does not enforce referential integrity, regardless of\nthe\ndisable_referential_integrity\nsetting on the FHIR store. This allows the import of resources with\narbitrary interdependencies without considering grouping or ordering, but\nif the input data contains invalid references or if some resources fail to\nbe imported, the FHIR store might be left in a state that violates\nreferential integrity.\n\nThe import process does not trigger PubSub notification or BigQuery\nstreaming update, regardless of how those are configured on the FHIR store.\n\nIf a resource with the specified ID already exists, the most recent\nversion of the resource is overwritten without creating a new historical\nversion, regardless of the\ndisable_resource_versioning\nsetting on the FHIR store. If transient failures occur during the import,\nit is possible that successfully imported resources will be overwritten\nmore than once.\n\nThe import operation is idempotent unless the input data contains multiple\nvalid resources with the same ID but different contents. In that case,\nafter the import completes, the store will contain exactly one resource\nwith that ID but there is no ordering guarantee on which version of the\ncontents it will have. The operation result counters do not count\nduplicate IDs as an error and will count one success for each resource in\nthe input, which might result in a success count larger than the number\nof resources in the FHIR store. This often occurs when importing data\norganized in bundles produced by Patient-everything\nwhere each bundle contains its own copy of a resource such as Practitioner\nthat might be referred to by many patients.\n\nIf some resources fail to import, for example due to parsing errors,\nsuccessfully imported resources are not rolled back.\n\nThe location and format of the input data is specified by the parameters\nbelow. Note that if no format is specified, this method assumes the\n`BUNDLE` format. When using the `BUNDLE` format this method ignores the\n`Bundle.type` field, except that `history` bundles are rejected, and does\nnot apply any of the bundle processing semantics for batch or transaction\nbundles. Unlike in ExecuteBundle, transaction bundles are not executed\nas a single transaction and bundle-internal references are not rewritten.\nThe bundle is treated as a collection of resources to be written as\nprovided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`. As\nan example, this allows the import of `searchset` bundles produced by a\nFHIR search or\nPatient-everything operation.\n\nThis method returns an Operation that can\nbe used to track the status of the import by calling\nGetOperation.\n\nImmediate fatal errors appear in the\nerror field, errors are also logged\nto Stackdriver (see [Viewing\nlogs](/healthcare/docs/how-tos/stackdriver-logging)). Otherwise, when the\noperation finishes, a detailed response of type ImportResourcesResponse\nis returned in the response field.\nThe metadata field type for this\noperation is OperationMetadata.", + "description": "Import resources to the FHIR store by loading data from the specified\nsources. This method is optimized to load large quantities of data using\nimport semantics that ignore some FHIR store configuration options and are\nnot suitable for all use cases. It is primarily intended to load data into\nan empty FHIR store that is not being used by other clients. In cases\nwhere this method is not appropriate, consider using ExecuteBundle to\nload data.\n\nEvery resource in the input must contain a client-supplied ID. Each\nresource is stored using the supplied ID regardless of the\nenable_update_create setting on the FHIR\nstore.\n\nThe import process does not enforce referential integrity, regardless of\nthe\ndisable_referential_integrity\nsetting on the FHIR store. This allows the import of resources with\narbitrary interdependencies without considering grouping or ordering, but\nif the input data contains invalid references or if some resources fail to\nbe imported, the FHIR store might be left in a state that violates\nreferential integrity.\n\nThe import process does not trigger Cloud Pub/Sub notification or BigQuery\nstreaming update, regardless of how those are configured on the FHIR store.\n\nIf a resource with the specified ID already exists, the most recent\nversion of the resource is overwritten without creating a new historical\nversion, regardless of the\ndisable_resource_versioning\nsetting on the FHIR store. If transient failures occur during the import,\nit is possible that successfully imported resources will be overwritten\nmore than once.\n\nThe import operation is idempotent unless the input data contains multiple\nvalid resources with the same ID but different contents. In that case,\nafter the import completes, the store contains exactly one resource\nwith that ID but there is no ordering guarantee on which version of the\ncontents it will have. The operation result counters do not count\nduplicate IDs as an error and count one success for each resource in\nthe input, which might result in a success count larger than the number\nof resources in the FHIR store. This often occurs when importing data\norganized in bundles produced by Patient-everything\nwhere each bundle contains its own copy of a resource such as Practitioner\nthat might be referred to by many patients.\n\nIf some resources fail to import, for example due to parsing errors,\nsuccessfully imported resources are not rolled back.\n\nThe location and format of the input data is specified by the parameters\nbelow. Note that if no format is specified, this method assumes the\n`BUNDLE` format. When using the `BUNDLE` format this method ignores the\n`Bundle.type` field, except that `history` bundles are rejected, and does\nnot apply any of the bundle processing semantics for batch or transaction\nbundles. Unlike in ExecuteBundle, transaction bundles are not executed\nas a single transaction and bundle-internal references are not rewritten.\nThe bundle is treated as a collection of resources to be written as\nprovided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`. As\nan example, this allows the import of `searchset` bundles produced by a\nFHIR search or\nPatient-everything operation.\n\nThis method returns an Operation that can\nbe used to track the status of the import by calling\nGetOperation.\n\nImmediate fatal errors appear in the\nerror field, errors are also logged\nto Cloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)). Otherwise, when the\noperation finishes, a detailed response of type ImportResourcesResponse\nis returned in the response field.\nThe metadata field type for this\noperation is OperationMetadata.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.import", @@ -1744,7 +2155,7 @@ ], "parameters": { "name": { - "description": "The name of the FHIR store to import FHIR resources to. The name should be\nin the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "description": "The name of the FHIR store to import FHIR resources to, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", "required": true, @@ -1837,38 +2248,8 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "search": { - "description": "Searches for resources in the given FHIR store according to criteria\nspecified as query parameters.\n\nImplements the FHIR standard search interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#search))\nusing the search semantics described in the FHIR Search specification\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/search.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/search.html)).\n\nSupports three methods of search defined by the specification:\n\n* `GET [base]?[parameters]` to search across all resources.\n* `GET [base]/[type]?[parameters]` to search resources of a specified\ntype.\n* `POST [base]/[type]/_search?[parameters]` as an alternate form having\nthe same semantics as the `GET` method.\n\nThe `GET` methods do not support compartment searches. The `POST` method\ndoes not support `application/x-www-form-urlencoded` search parameters.\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\nsearch.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThe server's capability statement, retrieved through\ncapabilities, indicates what search parameters\nare supported on each FHIR resource. A list of all search parameters\ndefined by the specification can be found in the FHIR Search Parameter\nRegistry\n([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).\nFHIR search parameters for DSTU2 can be found on each resource's definition\npage.\n\nSupported search modifiers: `:missing`, `:exact`, `:contains`, `:text`,\n`:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`.\n\nSupported search result parameters: `_sort`, `_count`, `_include`,\n`_revinclude`, `_summary=text`, `_summary=data`, and `_elements`.\n\nThe maximum number of search results returned defaults to 100, which can\nbe overridden by the `_count` parameter up to a maximum limit of 1000. If\nthere are additional results, the returned `Bundle` will contain\npagination links.\n\nResources with a total size larger than 5MB or a field count larger than\n50,000 might not be fully searchable as the server might trim its generated\nsearch index in those cases.\n\nNote: FHIR resources are indexed asynchronously, so there might be a slight\ndelay between the time a resource is created or changes and when the change\nis reflected in search results.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir", - "httpMethod": "GET", - "id": "healthcare.projects.locations.datasets.fhirStores.search", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Name of the FHIR store to retrieve resources from.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", - "required": true, - "type": "string" - }, - "resourceType": { - "description": "The FHIR resource type to search, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+parent}/fhir", - "response": { - "$ref": "HttpBody" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.setIamPolicy", @@ -1896,7 +2277,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.testIamPermissions", @@ -1927,8 +2308,103 @@ "resources": { "fhir": { "methods": { + "ConceptMap-search-translate": { + "description": "Translates a code from one value set to another by searching for\nappropriate concept maps.\n\nImplements the FHIR standard $translate operation\n([DSTU2](https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),\n[STU3](https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),\n[R4](https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).\n\nOn success, the response body contains a JSON-encoded representation\nof a FHIR Parameters resource, which includes the translation result.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/$translate", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-search-translate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "code": { + "description": "The code to translate.", + "location": "query", + "type": "string" + }, + "conceptMapVersion": { + "description": "The version of the concept map to use. If unset, the most current version\nis used.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name for the FHIR store containing the concept map(s) to use for the\ntranslation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "description": "The source value set of the concept map to be used. If unset, target is\nused to search for concept maps.", + "location": "query", + "type": "string" + }, + "system": { + "description": "The system for the code to be translated.", + "location": "query", + "type": "string" + }, + "target": { + "description": "The target value set of the concept map to be used. If unset, source is\nused to search for concept maps.", + "location": "query", + "type": "string" + }, + "url": { + "description": "The canonical url of the concept map to use. If unset, the source and\ntarget is used to search for concept maps.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/fhir/ConceptMap/$translate", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "ConceptMap-translate": { + "description": "Translates a code from one value set to another using a concept map.\n\nImplements the FHIR standard $translate operation\n([DSTU2](https://www.hl7.org/fhir/DSTU2/operation-conceptmap-translate.html),\n[STU3](https://www.hl7.org/fhir/STU3/operation-conceptmap-translate.html),\n[R4](https://www.hl7.org/fhir/R4/operation-conceptmap-translate.html)).\n\nOn success, the response body contains a JSON-encoded representation\nof a FHIR Parameters resource, which includes the translation result.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/ConceptMap/{ConceptMapId}/$translate", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.ConceptMap-translate", + "parameterOrder": [ + "name" + ], + "parameters": { + "code": { + "description": "The code to translate.", + "location": "query", + "type": "string" + }, + "conceptMapVersion": { + "description": "The version of the concept map to use. If unset, the most current version\nis used.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The URL for the concept map to use for the translation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/ConceptMap/[^/]+$", + "required": true, + "type": "string" + }, + "system": { + "description": "The system for the code to be translated.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/$translate", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "Observation-lastn": { - "description": "Retrieves the N most recent `Observation` resources for a subject matching\nsearch criteria specified as query parameters, grouped by\n`Observation.code`, sorted from most recent to oldest.\n\nImplements the FHIR extended operation Observation-lastn\n([STU3](http://hl7.org/implement/standards/fhir/STU3/observation-operations.html#lastn),\n[R4](http://hl7.org/implement/standards/fhir/R4/observation-operations.html#lastn)).\n\nDSTU2 doesn't define the Observation-lastn method, but the server supports\nit the same way it supports STU3.\n\nSearch terms are provided as query parameters following the same pattern as\nthe search method. The following search parameters must\nbe provided:\n\n - `subject` or `patient` to specify a subject for the Observation.\n - `code`, `category` or any of the composite parameters that include\n `code`.\n\nAny other valid Observation search parameters can also be provided. This\noperation accepts an additional query parameter `max`, which specifies N,\nthe maximum number of Observations to return from each group, with a\ndefault of 1.\n\nSearches with over 1000 results are rejected. Results are counted before\ngrouping and limiting the results with `max`. To stay within the limit,\nconstrain these searches using Observation search parameters such as\n`_lastUpdated` or `date`.\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\noperation.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "Retrieves the N most recent `Observation` resources for a subject matching\nsearch criteria specified as query parameters, grouped by\n`Observation.code`, sorted from most recent to oldest.\n\nImplements the FHIR extended operation Observation-lastn\n([STU3](https://hl7.org/implement/standards/fhir/STU3/observation-operations.html#lastn),\n[R4](https://hl7.org/implement/standards/fhir/R4/observation-operations.html#lastn)).\n\nDSTU2 doesn't define the Observation-lastn method, but the server supports\nit the same way it supports STU3.\n\nSearch terms are provided as query parameters following the same pattern as\nthe search method. The following search parameters must\nbe provided:\n\n - `subject` or `patient` to specify a subject for the Observation.\n - `code`, `category` or any of the composite parameters that include\n `code`.\n\nAny other valid Observation search parameters can also be provided. This\noperation accepts an additional query parameter `max`, which specifies N,\nthe maximum number of Observations to return from each group, with a\ndefault of 1.\n\nSearches with over 1000 results are rejected. Results are counted before\ngrouping and limiting the results with `max`. To stay within the limit,\nconstrain these searches using Observation search parameters such as\n`_lastUpdated` or `date`.\n\nOn success, the response body contains a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\noperation.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Observation/$lastn", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Observation-lastn", @@ -1953,7 +2429,7 @@ ] }, "Patient-everything": { - "description": "On success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\noperation.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "Retrieves a Patient resource and resources related to that patient.\n\nImplements the FHIR extended operation Patient-everything\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything),\n[R4](https://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)).\n\nOn success, the response body contains a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\noperation.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThe resources in scope for the response are:\n\n* The patient resource itself.\n* All the resources directly referenced by the patient resource.\n* Resources directly referencing the patient resource that meet the\n inclusion criteria. The inclusion criteria are based on the membership\n rules in the patient compartment definition\n ([DSTU2](https://hl7.org/fhir/DSTU2/compartment-patient.html),\n [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html),\n [R4](https://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which\n details the eligible resource types and referencing search parameters.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything", @@ -1968,7 +2444,7 @@ "type": "integer" }, "_page_token": { - "description": "Used to retrieve the next or previous page of results\nwhen using pagination. Value should be set to the value of page_token set\nin next or previous page links' urls. Next and previous page are returned\nin the response bundle's links field, where `link.relation` is \"previous\"\nor \"next\".\n\nOmit `page_token` if no previous request has been made.", + "description": "Used to retrieve the next or previous page of results\nwhen using pagination. Value should be set to the value of `page_token` set\nin next or previous page links' URLs. Next and previous page are returned\nin the response bundle's links field, where `link.relation` is \"previous\"\nor \"next\".\n\nOmit `page_token` if no previous request has been made.", "location": "query", "type": "string" }, @@ -2024,7 +2500,7 @@ ] }, "capabilities": { - "description": "Gets the FHIR capability statement\n([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),\nor the [conformance\nstatement](http://hl7.org/implement/standards/fhir/DSTU2/conformance.html)\nin the DSTU2 case for the store, which contains a description of\nfunctionality supported by the server.\n\nImplements the FHIR standard capabilities interaction\n([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),\nor the [conformance\ninteraction](http://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)\nin the DSTU2 case.\n\nOn success, the response body will contain a JSON-encoded representation\nof a `CapabilityStatement` resource.", + "description": "Gets the FHIR capability statement\n([STU3](https://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),\n[R4](https://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),\nor the [conformance\nstatement](https://hl7.org/implement/standards/fhir/DSTU2/conformance.html)\nin the DSTU2 case for the store, which contains a description of\nfunctionality supported by the server.\n\nImplements the FHIR standard capabilities interaction\n([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),\nor the [conformance\ninteraction](https://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)\nin the DSTU2 case.\n\nOn success, the response body contains a JSON-encoded representation\nof a `CapabilityStatement` resource.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities", @@ -2049,7 +2525,7 @@ ] }, "conditionalDelete": { - "description": "Deletes FHIR resources that match a search query.\n\nImplements the FHIR standard conditional delete interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)).\nIf multiple resources match, all of them will be deleted.\n\nSearch terms are provided as query parameters following the same pattern as\nthe search method.\n\nNote: Unless resource versioning is disabled by setting the\ndisable_resource_versioning flag\non the FHIR store, the deleted resources will be moved to a history\nrepository that can still be retrieved through vread\nand related methods, unless they are removed by the\npurge method.", + "description": "Deletes FHIR resources that match a search query.\n\nImplements the FHIR standard conditional delete interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.12.1),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.13.1),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#3.1.0.7.1)).\nIf multiple resources match, all matching resources are deleted.\n\nSearch terms are provided as query parameters following the same pattern as\nthe search method.\n\nNote: Unless resource versioning is disabled by setting the\ndisable_resource_versioning flag\non the FHIR store, the deleted resources are moved to a history\nrepository that can still be retrieved through vread\nand related methods, unless they are removed by the\npurge method.\n\nThis method requires the`healthcare.fhirStores.searchResources` and\n`healthcare.fhirResources.delete` permissions on the parent FHIR store.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", "httpMethod": "DELETE", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalDelete", @@ -2066,7 +2542,7 @@ "type": "string" }, "type": { - "description": "The FHIR resource type to delete, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", + "description": "The FHIR resource type to delete, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", "location": "path", "pattern": "^[^/]+$", "required": true, @@ -2082,7 +2558,7 @@ ] }, "conditionalPatch": { - "description": "If a resource is found based on the search criteria specified in the query\nparameters, updates part of that resource by applying the operations\nspecified in a [JSON Patch](http://jsonpatch.com/) document.\n\nImplements the FHIR standard conditional patch interaction\n([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)).\n\nDSTU2 doesn't define a conditional patch method, but the server supports it\nin the same way it supports STU3.\n\nSearch terms are provided as query parameters following the same pattern as\nthe search method.\n\nIf the search criteria identify more than one match, the request will\nreturn a `412 Precondition Failed` error.\n\nThe request body must contain a JSON Patch document, and the request\nheaders must contain `Content-Type: application/json-patch+json`.\n\nOn success, the response body will contain a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "If a resource is found based on the search criteria specified in the query\nparameters, updates part of that resource by applying the operations\nspecified in a [JSON Patch](http://jsonpatch.com/) document.\n\nImplements the FHIR standard conditional patch interaction\n([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#patch),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#patch)).\n\nDSTU2 doesn't define a conditional patch method, but the server supports it\nin the same way it supports STU3.\n\nSearch terms are provided as query parameters following the same pattern as\nthe search method.\n\nIf the search criteria identify more than one match, the request\nreturns a `412 Precondition Failed` error.\n\nThe request body must contain a JSON Patch document, and the request\nheaders must contain `Content-Type: application/json-patch+json`.\n\nOn success, the response body contains a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThis method requires the`healthcare.fhirStores.searchResources` permission\non the parent FHIR store and the `healthcare.fhirResources.patch`\npermission on the requested FHIR store resource.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", "httpMethod": "PATCH", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalPatch", @@ -2099,7 +2575,7 @@ "type": "string" }, "type": { - "description": "The FHIR resource type to update, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", + "description": "The FHIR resource type to update, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", "location": "path", "pattern": "^[^/]+$", "required": true, @@ -2118,7 +2594,7 @@ ] }, "conditionalUpdate": { - "description": "If a resource is found based on the search criteria specified in the query\nparameters, updates the entire contents of that resource.\n\nImplements the FHIR standard conditional update interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cond-update),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#cond-update)).\n\nSearch terms are provided as query parameters following the same pattern as\nthe search method.\n\nIf the search criteria identify more than one match, the request will\nreturn a `412 Precondition Failed` error.\nIf the search criteria identify zero matches, and the supplied resource\nbody contains an `id`, and the FHIR store has\nenable_update_create set, creates the\nresource with the client-specified ID. If the search criteria identify zero\nmatches, and the supplied resource body does not contain an `id`, the\nresource will be created with a server-assigned ID as per the\ncreate method.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`.\n\nOn success, the response body will contain a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "If a resource is found based on the search criteria specified in the query\nparameters, updates the entire contents of that resource.\n\nImplements the FHIR standard conditional update interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.10.2),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#cond-update),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#cond-update)).\n\nSearch terms are provided as query parameters following the same pattern as\nthe search method.\n\nIf the search criteria identify more than one match, the request\nreturns a `412 Precondition Failed` error.\nIf the search criteria identify zero matches, and the supplied resource\nbody contains an `id`, and the FHIR store has\nenable_update_create set, creates the\nresource with the client-specified ID. If the search criteria identify zero\nmatches, and the supplied resource body does not contain an `id`, the\nresource is created with a server-assigned ID as per the\ncreate method.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`.\n\nOn success, the response body contains a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThis method requires the`healthcare.fhirStores.searchResources` and\n`healthcare.fhirResources.update` permissions on the parent FHIR store.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", "httpMethod": "PUT", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.conditionalUpdate", @@ -2135,7 +2611,7 @@ "type": "string" }, "type": { - "description": "The FHIR resource type to update, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).\nMust match the resource type in the provided content.", + "description": "The FHIR resource type to update, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).\nMust match the resource type in the provided content.", "location": "path", "pattern": "^[^/]+$", "required": true, @@ -2154,7 +2630,7 @@ ] }, "create": { - "description": "Creates a FHIR resource.\n\nImplements the FHIR standard create interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)),\nwhich creates a new resource with a server-assigned resource ID.\n\nAlso supports the FHIR standard conditional create interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#ccreate),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#ccreate)),\nspecified by supplying an `If-None-Exist` header containing a FHIR search\nquery. If no resources match this search query, the server processes the\ncreate operation as normal.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`.\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource as it was created on the server, including the\nserver-assigned resource ID and version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "Creates a FHIR resource.\n\nImplements the FHIR standard create interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#create),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#create),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#create)),\nwhich creates a new resource with a server-assigned resource ID.\n\nAlso supports the FHIR standard conditional create interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)),\nspecified by supplying an `If-None-Exist` header containing a FHIR search\nquery. If no resources match this search query, the server processes the\ncreate operation as normal.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`.\n\nOn success, the response body contains a JSON-encoded representation\nof the resource as it was created on the server, including the\nserver-assigned resource ID and version ID.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create", @@ -2171,7 +2647,7 @@ "type": "string" }, "type": { - "description": "The FHIR resource type to create, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).\nMust match the resource type in the provided content.", + "description": "The FHIR resource type to create, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).\nMust match the resource type in the provided content.", "location": "path", "pattern": "^[^/]+$", "required": true, @@ -2190,7 +2666,7 @@ ] }, "delete": { - "description": "Deletes a FHIR resource.\n\nImplements the FHIR standard delete interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#delete),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#delete)).\n\nNote: Unless resource versioning is disabled by setting the\ndisable_resource_versioning flag\non the FHIR store, the deleted resources will be moved to a history\nrepository that can still be retrieved through vread\nand related methods, unless they are removed by the\npurge method.", + "description": "Deletes a FHIR resource.\n\nImplements the FHIR standard delete interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#delete),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#delete)).\n\nNote: Unless resource versioning is disabled by setting the\ndisable_resource_versioning flag\non the FHIR store, the deleted resources are moved to a history\nrepository that can still be retrieved through vread\nand related methods, unless they are removed by the\npurge method.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", "httpMethod": "DELETE", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.delete", @@ -2215,7 +2691,7 @@ ] }, "executeBundle": { - "description": "Executes all the requests in the given Bundle.\n\nImplements the FHIR standard batch/transaction interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#transaction),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#transaction)).\n\nSupports all interactions within a bundle, except search. This method\naccepts Bundles of type `batch` and `transaction`, processing them\naccording to the batch processing rules\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#brules))\nand transaction processing rules\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#trules)).\n\nThe request body must contain a JSON-encoded FHIR `Bundle` resource, and\nthe request headers must contain `Content-Type: application/fhir+json`.\n\nFor a batch bundle or a successful transaction the response body will\ncontain a JSON-encoded representation of a `Bundle` resource of type\n`batch-response` or `transaction-response` containing one entry for each\nentry in the request, with the outcome of processing the entry. In the\ncase of an error for a transaction bundle, the response body will contain\na JSON-encoded `OperationOutcome` resource describing the reason for the\nerror. If the request cannot be mapped to a valid API method on a FHIR\nstore, a generic GCP error might be returned instead.", + "description": "Executes all the requests in the given Bundle.\n\nImplements the FHIR standard batch/transaction interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#transaction),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#transaction)).\n\nSupports all interactions within a bundle, except search. This method\naccepts Bundles of type `batch` and `transaction`, processing them\naccording to the batch processing rules\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#brules))\nand transaction processing rules\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#trules)).\n\nThe request body must contain a JSON-encoded FHIR `Bundle` resource, and\nthe request headers must contain `Content-Type: application/fhir+json`.\n\nFor a batch bundle or a successful transaction the response body\ncontains a JSON-encoded representation of a `Bundle` resource of type\n`batch-response` or `transaction-response` containing one entry for each\nentry in the request, with the outcome of processing the entry. In the\ncase of an error for a transaction bundle, the response body contains\na JSON-encoded `OperationOutcome` resource describing the reason for the\nerror. If the request cannot be mapped to a valid API method on a FHIR\nstore, a generic GCP error might be returned instead.\n\nThis method requires permission for executing the requests in the bundle.\nThe `executeBundle` permission grants permission to execute the request in\nthe bundle but you must grant sufficient permissions to execute the\nindividual requests in the bundle. For example, if the bundle contains a\n`create` request, you must have permission to execute the `create` request.\n\nLogging is available for the `executeBundle` permission.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle", @@ -2243,7 +2719,7 @@ ] }, "history": { - "description": "Lists all the versions of a resource (including the current version and\ndeleted versions) from the FHIR store.\n\nImplements the per-resource form of the FHIR standard history interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#history),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#history),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#history)).\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `history`, containing the version history\nsorted from most recent to oldest versions.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "Lists all the versions of a resource (including the current version and\ndeleted versions) from the FHIR store.\n\nImplements the per-resource form of the FHIR standard history interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#history),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#history),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#history)).\n\nOn success, the response body contains a JSON-encoded representation\nof a `Bundle` resource of type `history`, containing the version history\nsorted from most recent to oldest versions.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.history", @@ -2289,7 +2765,7 @@ ] }, "patch": { - "description": "Updates part of an existing resource by applying the operations specified\nin a [JSON Patch](http://jsonpatch.com/) document.\n\nImplements the FHIR standard patch interaction\n([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)).\n\nDSTU2 doesn't define a patch method, but the server supports it in the same\nway it supports STU3.\n\nThe request body must contain a JSON Patch document, and the request\nheaders must contain `Content-Type: application/json-patch+json`.\n\nOn success, the response body will contain a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "Updates part of an existing resource by applying the operations specified\nin a [JSON Patch](http://jsonpatch.com/) document.\n\nImplements the FHIR standard patch interaction\n([STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#patch),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#patch)).\n\nDSTU2 doesn't define a patch method, but the server supports it in the same\nway it supports STU3.\n\nThe request body must contain a JSON Patch document, and the request\nheaders must contain `Content-Type: application/json-patch+json`.\n\nOn success, the response body contains a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", "httpMethod": "PATCH", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.patch", @@ -2317,7 +2793,7 @@ ] }, "read": { - "description": "Gets the contents of a FHIR resource.\n\nImplements the FHIR standard read interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)).\n\nAlso supports the FHIR standard conditional read interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread))\nspecified by supplying an `If-Modified-Since` header with a date/time value\nor an `If-None-Match` header with an ETag value.\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "Gets the contents of a FHIR resource.\n\nImplements the FHIR standard read interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#read),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#read),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#read)).\n\nAlso supports the FHIR standard conditional read interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#cread),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#cread))\nspecified by supplying an `If-Modified-Since` header with a date/time value\nor an `If-None-Match` header with an ETag value.\n\nOn success, the response body contains a JSON-encoded representation\nof the resource.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.read", @@ -2342,7 +2818,7 @@ ] }, "search": { - "description": "Searches for resources in the given FHIR store according to criteria\nspecified as query parameters.\n\nImplements the FHIR standard search interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#search))\nusing the search semantics described in the FHIR Search specification\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/search.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/search.html)).\n\nSupports three methods of search defined by the specification:\n\n* `GET [base]?[parameters]` to search across all resources.\n* `GET [base]/[type]?[parameters]` to search resources of a specified\ntype.\n* `POST [base]/[type]/_search?[parameters]` as an alternate form having\nthe same semantics as the `GET` method.\n\nThe `GET` methods do not support compartment searches. The `POST` method\ndoes not support `application/x-www-form-urlencoded` search parameters.\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\nsearch.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThe server's capability statement, retrieved through\ncapabilities, indicates what search parameters\nare supported on each FHIR resource. A list of all search parameters\ndefined by the specification can be found in the FHIR Search Parameter\nRegistry\n([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).\nFHIR search parameters for DSTU2 can be found on each resource's definition\npage.\n\nSupported search modifiers: `:missing`, `:exact`, `:contains`, `:text`,\n`:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`.\n\nSupported search result parameters: `_sort`, `_count`, `_include`,\n`_revinclude`, `_summary=text`, `_summary=data`, and `_elements`.\n\nThe maximum number of search results returned defaults to 100, which can\nbe overridden by the `_count` parameter up to a maximum limit of 1000. If\nthere are additional results, the returned `Bundle` will contain\npagination links.\n\nResources with a total size larger than 5MB or a field count larger than\n50,000 might not be fully searchable as the server might trim its generated\nsearch index in those cases.\n\nNote: FHIR resources are indexed asynchronously, so there might be a slight\ndelay between the time a resource is created or changes and when the change\nis reflected in search results.", + "description": "Searches for resources in the given FHIR store according to criteria\nspecified as query parameters.\n\nImplements the FHIR standard search interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#search),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#search),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#search))\nusing the search semantics described in the FHIR Search specification\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/search.html),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/search.html),\n[R4](https://hl7.org/implement/standards/fhir/R4/search.html)).\n\nSupports three methods of search defined by the specification:\n\n* `GET [base]?[parameters]` to search across all resources.\n* `GET [base]/[type]?[parameters]` to search resources of a specified\ntype.\n* `POST [base]/[type]/_search?[parameters]` as an alternate form having\nthe same semantics as the `GET` method.\n\nThe `GET` methods do not support compartment searches. The `POST` method\ndoes not support `application/x-www-form-urlencoded` search parameters.\n\nOn success, the response body contains a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\nsearch.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThe server's capability statement, retrieved through\ncapabilities, indicates what search parameters\nare supported on each FHIR resource. A list of all search parameters\ndefined by the specification can be found in the FHIR Search Parameter\nRegistry\n([STU3](https://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),\n[R4](https://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).\nFHIR search parameters for DSTU2 can be found on each resource's definition\npage.\n\nSupported search modifiers: `:missing`, `:exact`, `:contains`, `:text`,\n`:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`.\n\nSupported search result parameters: `_sort`, `_count`, `_include`,\n`_revinclude`, `_summary=text`, `_summary=data`, and `_elements`.\n\nThe maximum number of search results returned defaults to 100, which can\nbe overridden by the `_count` parameter up to a maximum limit of 1000. If\nthere are additional results, the returned `Bundle` contains\npagination links.\n\nResources with a total size larger than 5MB or a field count larger than\n50,000 might not be fully searchable as the server might trim its generated\nsearch index in those cases.\n\nNote: FHIR resources are indexed asynchronously, so there might be a slight\ndelay between the time a resource is created or changes and when the change\nis reflected in search results.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search", @@ -2370,7 +2846,7 @@ ] }, "update": { - "description": "Updates the entire contents of a resource.\n\nImplements the FHIR standard update interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)).\n\nIf the specified resource does\nnot exist and the FHIR store has\nenable_update_create set, creates the\nresource with the client-specified ID.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`. The resource\nmust contain an `id` element having an identical value to the ID in the\nREST path of the request.\n\nOn success, the response body will contain a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "Updates the entire contents of a resource.\n\nImplements the FHIR standard update interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#update),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#update),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#update)).\n\nIf the specified resource does\nnot exist and the FHIR store has\nenable_update_create set, creates the\nresource with the client-specified ID.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`. The resource\nmust contain an `id` element having an identical value to the ID in the\nREST path of the request.\n\nOn success, the response body contains a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}", "httpMethod": "PUT", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.update", @@ -2398,7 +2874,7 @@ ] }, "vread": { - "description": "Gets the contents of a version (current or historical) of a FHIR resource\nby version ID.\n\nImplements the FHIR standard vread interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#vread),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#vread)).\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", + "description": "Gets the contents of a version (current or historical) of a FHIR resource\nby version ID.\n\nImplements the FHIR standard vread interaction\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#vread),\n[R4](https://hl7.org/implement/standards/fhir/R4/http.html#vread)).\n\nOn success, the response body contains a JSON-encoded representation\nof the resource.\nErrors generated by the FHIR store contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}", "httpMethod": "GET", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.vread", @@ -2462,7 +2938,7 @@ ] }, "delete": { - "description": "Deletes the specified HL7v2 store and removes all messages that are\ncontained within it.", + "description": "Deletes the specified HL7v2 store and removes all messages that it\ncontains.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}", "httpMethod": "DELETE", "id": "healthcare.projects.locations.datasets.hl7V2Stores.delete", @@ -2521,7 +2997,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -2593,7 +3069,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the HL7v2 store, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", + "description": "Resource name of the HL7v2 store, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", "required": true, @@ -2618,7 +3094,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy", @@ -2646,7 +3122,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions", @@ -2805,7 +3281,7 @@ ], "parameters": { "filter": { - "description": "Restricts messages returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nFields/functions available for filtering are:\n\n* `message_type`, from the MSH-9.1 field. For example,\n`NOT message_type = \"ADT\"`.\n* `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in\nthe dataset's time_zone, from the MSH-7 segment. For example,\n`send_date < \"2017-01-02\"`.\n* `send_time`, the timestamp when the message was sent, using the\nRFC3339 time format for comparisons, from the MSH-7 segment. For example,\n`send_time < \"2017-01-02T00:00:00-05:00\"`.\n* `send_facility`, the care center that the message came from, from the\nMSH-4 segment. For example, `send_facility = \"ABC\"`.\n* `PatientId(value, type)`, which matches if the message lists a patient\nhaving an ID of the given value and type in the PID-2, PID-3, or PID-4\nsegments. For example, `PatientId(\"123456\", \"MRN\")`.\n* `labels.x`, a string value of the label with key `x` as set using the\nMessage.labels\nmap. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be used\nto assert the existence of a label. For example, `labels.\"priority\":*`.", + "description": "Restricts messages returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nThe following fields and functions are available for filtering:\n\n* `message_type`, from the MSH-9.1 field. For example,\n`NOT message_type = \"ADT\"`.\n* `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in\nthe dataset's time_zone, from the MSH-7 segment. For example,\n`send_date < \"2017-01-02\"`.\n* `send_time`, the timestamp when the message was sent, using the\nRFC3339 time format for comparisons, from the MSH-7 segment. For example,\n`send_time < \"2017-01-02T00:00:00-05:00\"`.\n* `send_facility`, the care center that the message came from, from the\nMSH-4 segment. For example, `send_facility = \"ABC\"`.\n* `PatientId(value, type)`, which matches if the message lists a patient\nhaving an ID of the given value and type in the PID-2, PID-3, or PID-4\nsegments. For example, `PatientId(\"123456\", \"MRN\")`.\n* `labels.x`, a string value of the label with key `x` as set using the\nMessage.labels\nmap. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be used\nto assert the existence of a label. For example, `labels.\"priority\":*`.", "location": "query", "type": "string" }, @@ -2854,7 +3330,7 @@ ] }, "patch": { - "description": "Update the message.\n\nThe contents of the message in Message.data and data extracted from\nthe contents such as Message.create_time cannot be altered. Only the\nMessage.labels field is allowed to be updated. The labels in the\nrequest are merged with the existing set of labels. Existing labels with\nthe same keys are updated.", + "description": "Update the message.\n\nThe contents of the message in Message.data and data extracted from\nthe contents such as Message.create_time can't be altered. Only the\nMessage.labels field is allowed to be updated. The labels in the\nrequest are merged with the existing set of labels. Existing labels with\nthe same keys are updated.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}", "httpMethod": "PATCH", "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch", @@ -2996,11 +3472,89 @@ } } }, - "revision": "20200327", + "revision": "20200612", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { + "Annotation": { + "description": "An annotation record.", + "id": "Annotation", + "properties": { + "annotationSource": { + "$ref": "AnnotationSource", + "description": "Details of the source." + }, + "customData": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional information for this annotation record, such as annotator and\nverifier information or study campaign.", + "type": "object" + }, + "imageAnnotation": { + "$ref": "ImageAnnotation", + "description": "Annotations for images. For example, bounding polygons." + }, + "name": { + "description": "Resource name of the Annotation, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}/annotations/{annotation_id}`.", + "type": "string" + }, + "resourceAnnotation": { + "$ref": "ResourceAnnotation", + "description": "Annotations for resource. For example, classification tags." + }, + "textAnnotation": { + "$ref": "SensitiveTextAnnotation", + "description": "Annotations for sensitive texts. For example, a range that describes the\nlocation of sensitive text." + } + }, + "type": "object" + }, + "AnnotationConfig": { + "description": "Specifies how to store annotations during de-identification operation.", + "id": "AnnotationConfig", + "properties": { + "annotationStoreName": { + "description": "The name of the annotation store, in the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`).\n\n * The destination annotation store must be in the same project as the\n source data. De-identifying data across multiple projects is not\n supported.\n * The destination annotation store must exist when using\n DeidentifyDicomStore or\n DeidentifyFhirStore.\n DeidentifyDataset\n automatically creates the destination annotation store.", + "type": "string" + }, + "storeQuote": { + "description": "If set to true, the sensitive texts are included in\nSensitiveTextAnnotation\nof Annotation.", + "type": "boolean" + } + }, + "type": "object" + }, + "AnnotationSource": { + "description": "AnnotationSource holds the source information of the annotation.", + "id": "AnnotationSource", + "properties": { + "cloudHealthcareSource": { + "$ref": "CloudHealthcareSource", + "description": "Cloud Healthcare API resource." + } + }, + "type": "object" + }, + "AnnotationStore": { + "description": "An Annotation store that can store annotation resources such as\nlabels and tags for text, image and audio.", + "id": "AnnotationStore", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-supplied key-value pairs used to organize Annotation stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.", + "type": "object" + }, + "name": { + "description": "Resource name of the Annotation store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "type": "string" + } + }, + "type": "object" + }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -3018,7 +3572,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -3053,7 +3607,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -3069,6 +3623,24 @@ }, "type": "object" }, + "BoundingPoly": { + "description": "A bounding polygon for the detected image annotation.", + "id": "BoundingPoly", + "properties": { + "label": { + "description": "A description of this polygon.", + "type": "string" + }, + "vertices": { + "description": "List of the vertices of this polygon.", + "items": { + "$ref": "Vertex" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -3086,6 +3658,17 @@ }, "type": "object" }, + "CloudHealthcareSource": { + "description": "Cloud Healthcare API resource.", + "id": "CloudHealthcareSource", + "properties": { + "name": { + "description": "Full path of a Cloud Healthcare API resource.", + "type": "string" + } + }, + "type": "object" + }, "CreateMessageRequest": { "description": "Creates a new message.", "id": "CreateMessageRequest", @@ -3098,7 +3681,7 @@ "type": "object" }, "CryptoHashConfig": { - "description": "Pseudonymization method that generates surrogates via cryptographic hashing.\nUses SHA-256.\nOutputs a base64-encoded representation of the hashed output\n(for example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`).", + "description": "Pseudonymization method that generates surrogates via cryptographic hashing.\nUses SHA-256.\nOutputs a base64-encoded representation of the hashed output.\nFor example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`.", "id": "CryptoHashConfig", "properties": { "cryptoKey": { @@ -3114,7 +3697,7 @@ "id": "Dataset", "properties": { "name": { - "description": "Output only. Resource name of the dataset, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", + "description": "Resource name of the dataset, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.", "type": "string" }, "timeZone": { @@ -3140,6 +3723,10 @@ "description": "Configures de-id options specific to different types of content.\nEach submessage customizes the handling of an\nhttps://tools.ietf.org/html/rfc6838 media type or subtype. Configs are\napplied in a nested manner at runtime.", "id": "DeidentifyConfig", "properties": { + "annotation": { + "$ref": "AnnotationConfig", + "description": "Configures how annotations, meaning that the location and infoType\nof sensitive information findings, are created during de-identification.\nIf unspecified, no annotations are created." + }, "dicom": { "$ref": "DicomConfig", "description": "Configures de-id of application/DICOM content." @@ -3261,6 +3848,19 @@ }, "type": "object" }, + "Detail": { + "description": "Contains multiple sensitive information findings for each resource slice.", + "id": "Detail", + "properties": { + "findings": { + "items": { + "$ref": "Finding" + }, + "type": "array" + } + }, + "type": "object" + }, "DicomConfig": { "description": "Specifies the parameters needed for de-identification of DICOM stores.", "id": "DicomConfig", @@ -3321,7 +3921,7 @@ "type": "object" }, "name": { - "description": "Output only. Resource name of the DICOM store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "description": "Resource name of the DICOM store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", "type": "string" }, "notificationConfig": { @@ -3352,6 +3952,115 @@ }, "type": "object" }, + "EvaluateAnnotationStoreRequest": { + "description": "Request to evaluate an Annotation store against a\nground truth [Annotation store].", + "id": "EvaluateAnnotationStoreRequest", + "properties": { + "bigqueryDestination": { + "$ref": "GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination", + "description": "The BigQuery table where the server writes the output.\nBigQueryDestination requires the `roles/bigquery.dataEditor` and\n`roles/bigquery.jobUser` Cloud IAM roles." + }, + "evalInfoTypeMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. InfoType mapping for `eval_store`. Different resources can map to\nthe same infoType. For example, `PERSON_NAME`, `PERSON`, `NAME`, and\n`HUMAN` are different. To map all of these into a single\ninfoType (such as `PERSON_NAME`), specify the following mapping:\n```\n info_type_mapping[\"PERSON\"] = \"PERSON_NAME\"\n info_type_mapping[\"NAME\"] = \"PERSON_NAME\"\n info_type_mapping[\"HUMAN\"] = \"PERSON_NAME\"\n```\nUnmentioned infoTypes, such as `DATE`, are treated as identity\nmapping. For example:\n```\n info_type_mapping[\"DATE\"] = \"DATE\"\n```\nInfoTypes are case-insensitive.", + "type": "object" + }, + "goldenInfoTypeMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Similar to `eval_info_type_mapping`, infoType mapping for\n`golden_store`.", + "type": "object" + }, + "goldenStore": { + "description": "The Annotation store to use as ground truth, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "type": "string" + }, + "infoTypeConfig": { + "$ref": "InfoTypeConfig" + } + }, + "type": "object" + }, + "EvaluateAnnotationStoreResponse": { + "description": "Response for successful Annotation store evaluation operations. This\nstructure is included in the\nresponse upon operation completion.", + "id": "EvaluateAnnotationStoreResponse", + "properties": { + "evalStore": { + "description": "The evaluated Annotation store, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "type": "string" + }, + "goldenCount": { + "description": "The number of Annotations in the ground\ntruth Annotation store successfully\nprocessed.", + "format": "int64", + "type": "string" + }, + "goldenStore": { + "description": "The ground truth Annotation store, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "type": "string" + }, + "matchedCount": { + "description": "The number of Annotations\nin the eval store that match with corresponding annotations\nin the ground truth Annotation store. Two matched\nannotations both annotate the same resource defined in\nAnnotationSource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ExportAnnotationsErrorDetails": { + "description": "Response for failed annotation export operations. This structure is\nincluded in error\ndetails upon operation completion.", + "id": "ExportAnnotationsErrorDetails", + "properties": { + "annotationStore": { + "description": "The annotation_store used for the export operation, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "type": "string" + }, + "errorCount": { + "description": "The number of annotations that had error.", + "format": "int64", + "type": "string" + }, + "successCount": { + "description": "The number of annotations successfully exported.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ExportAnnotationsRequest": { + "description": "Request to export\nAnnotations. The\nexport operation is not atomic. If a\nfailure occurs, any annotations already exported are not removed.", + "id": "ExportAnnotationsRequest", + "properties": { + "bigqueryDestination": { + "$ref": "GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination", + "description": "The BigQuery output destination, which requires two IAM roles:\n `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`." + }, + "gcsDestination": { + "$ref": "GoogleCloudHealthcareV1beta1AnnotationGcsDestination", + "description": "The Cloud Storage destination, which requires the\n`roles/storage.objectAdmin` Cloud IAM role." + } + }, + "type": "object" + }, + "ExportAnnotationsResponse": { + "description": "Response for successful annotation export operations. This structure is\nincluded in response upon operation\ncompletion.", + "id": "ExportAnnotationsResponse", + "properties": { + "annotationStore": { + "description": "The annotation_store used for the export operation, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "type": "string" + }, + "successCount": { + "description": "The total number of annotations successfully exported.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "ExportDicomDataRequest": { "description": "Exports data from the specified DICOM store.\nIf a given resource, such as a DICOM object with the same SOPInstance UID,\nalready exists in the output, it is overwritten with the version\nin the source dataset.\nExported DICOM data persists when the DICOM store from which it was\nexported is deleted.", "id": "ExportDicomDataRequest", @@ -3379,11 +4088,11 @@ "properties": { "bigqueryDestination": { "$ref": "GoogleCloudHealthcareV1beta1FhirBigQueryDestination", - "description": "The BigQuery output destination.\n\nThe BigQuery location requires two IAM roles:\n`roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.\n\nThe output will be one BigQuery table per resource type." + "description": "The BigQuery output destination.\n\nThe BigQuery location requires two IAM roles:\n`roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.\n\nThe output is one BigQuery table per resource type." }, "gcsDestination": { "$ref": "GoogleCloudHealthcareV1beta1FhirRestGcsDestination", - "description": "The Cloud Storage output destination.\n\nThe Cloud Storage location requires the `roles/storage.objectAdmin` Cloud\nIAM role.\n\nThe exported outputs are\norganized by FHIR resource types. The server will create one object per\nresource type. Each object contains newline delimited JSON, and each line\nis a FHIR resource." + "description": "The Cloud Storage output destination.\n\nThe Cloud Storage location requires the `roles/storage.objectAdmin` Cloud\nIAM role.\n\nThe exported outputs are\norganized by FHIR resource types. The server creates one object per\nresource type. Each object contains newline delimited JSON, and each line\nis a FHIR resource." } }, "type": "object" @@ -3540,14 +4249,14 @@ ], "enumDescriptions": [ "No action specified.", - "Transform the entire field based on transformations specified in\nTextConfig. When the specified transformation cannot be applied to a\nfield (for example, a Crypto Hash transformation cannot be applied\nto a FHIR Date field), RedactConfig is used.", - "Inspect and transform any found PHI.", + "Transform the entire field based on transformations specified in\nTextConfig. When the specified transformation cannot be applied to a\nfield, RedactConfig is used. For example, a Crypto Hash\ntransformation can't be applied to a FHIR Date field.", + "Inspect and transform any found PHI. When `AnnotationConfig` is\nprovided, annotations of PHI will be generated, except for Date and Datetime.", "Do not transform." ], "type": "string" }, "paths": { - "description": "List of paths to FHIR fields to redact. Each path is a\nperiod-separated list where each component is either a field name or\nFHIR type name. All types begin with an upper case letter. For example,\nthe resource field \"Patient.Address.city\", which uses a string type,\ncan be matched by \"Patient.Address.String\". Path also supports partial\nmatching. For example, \"Patient.Address.city\" can be matched by\n\"Address.city\" (Patient omitted). Partial matching and type matching\ncan be combined, for example \"Patient.Address.city\" can be matched by\n\"Address.String\". For \"choice\" types (those defined in the FHIR spec\nwith the form: field[x]), use two separate components. For example,\n\"deceasedAge.unit\" is matched by \"Deceased.Age.unit\". Supported types\nare: AdministrativeGenderCode, Code, Date, DateTime, Decimal,\nHumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.\nThe sub-type for HumanName(for example HumanName.given,\nHumanName.family) can be omitted.", + "description": "List of paths to FHIR fields to redact. Each path is a\nperiod-separated list where each component is either a field name or\nFHIR type name. All types begin with an upper case letter. For example,\nthe resource field \"Patient.Address.city\", which uses a string type,\ncan be matched by \"Patient.Address.String\". Path also supports partial\nmatching. For example, \"Patient.Address.city\" can be matched by\n\"Address.city\" (Patient omitted). Partial matching and type matching\ncan be combined. For example, \"Patient.Address.city\" can be matched by\n\"Address.String\". For \"choice\" types (those defined in the FHIR spec\nwith the form: field[x]), use two separate components. For example,\n\"deceasedAge.unit\" is matched by \"Deceased.Age.unit\". Supported types\nare: AdministrativeGenderCode, Code, Date, DateTime, Decimal,\nHumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.\nThe sub-type for HumanName, such as HumanName.given or\nHumanName.family, can be omitted.", "items": { "type": "string" }, @@ -3556,6 +4265,93 @@ }, "type": "object" }, + "FilterList": { + "description": "List of infoTypes to be filtered.", + "id": "FilterList", + "properties": { + "infoTypes": { + "description": "These infoTypes are based on after the `eval_info_type_mapping` and\n`golden_info_type_mapping`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Finding": { + "id": "Finding", + "properties": { + "end": { + "description": "Zero-based ending index of the found text, exclusively.", + "format": "int64", + "type": "string" + }, + "infoType": { + "description": "The type of information stored in this text range. For example,\nHumanName, BirthDate, or Address.", + "type": "string" + }, + "quote": { + "description": "The snippet of the sensitive text. This field is only populated during\ndeidentification if `store_quote` is set to true in DeidentifyConfig.", + "type": "string" + }, + "start": { + "description": "Zero-based starting index of the found text, inclusively.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination": { + "description": "The BigQuery table for export.", + "id": "GoogleCloudHealthcareV1beta1AnnotationBigQueryDestination", + "properties": { + "force": { + "description": "If the destination table already exists and this flag is `TRUE`, the table\nis overwritten by the contents of the input store. If the flag is not\nset and the destination table already exists, the export call returns an\nerror.", + "type": "boolean" + }, + "schemaType": { + "description": "Specifies the schema format to export.", + "enum": [ + "SCHEMA_TYPE_UNSPECIFIED", + "SIMPLE" + ], + "enumDescriptions": [ + "Same as SIMPLE.", + "A flatterned version of\nAnnotation." + ], + "type": "string" + }, + "tableUri": { + "description": "BigQuery URI to a table, up to 2000 characters long, must be of the form\nbq://projectId.bqDatasetId.tableId.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1beta1AnnotationGcsDestination": { + "description": "The Cloud Storage location for export.", + "id": "GoogleCloudHealthcareV1beta1AnnotationGcsDestination", + "properties": { + "uriPrefix": { + "description": "The Cloud Storage destination to export to.\nURI for a Cloud Storage directory where the server writes result files, in\nthe format `gs://{bucket-id}/{path/to/destination/dir}`. If there is no\ntrailing slash, the service appends one when composing the object path.\nThe user is responsible for creating the Cloud Storage bucket referenced in\n`uri_prefix`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1beta1AnnotationGcsSource": { + "description": "Specifies the configuration for importing data from Cloud Storage.", + "id": "GoogleCloudHealthcareV1beta1AnnotationGcsSource", + "properties": { + "uri": { + "description": "Points to a Cloud Storage URI containing file(s) with\ncontent only. The URI must be in the following format:\n`gs://{bucket_id}/{object_id}`. The URI can include wildcards in\n`object_id` and thus identify multiple files. Supported wildcards:\n '*' to match 0 or more non-separator characters\n '**' to match 0 or more characters (including separators). Must be used\n at\n the end of a path and with no other wildcards in the\n path. Can also be used with a file extension (such as .dcm), which\n imports all files with the extension in the specified directory and\n its sub-directories. For example,\n `gs://my-bucket/my-directory/**.json` imports all files with .json\n extensions in `my-directory/` and its sub-directories.\n '?' to match 1 character\nAll other URI formats are invalid.\nFiles matching the wildcard are expected to contain content only, no\nmetadata.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary": { "description": "Contains a summary of the DeidentifyDicomStore operation.", "id": "GoogleCloudHealthcareV1beta1DeidentifyDeidentifyDicomStoreSummary", @@ -3672,7 +4468,7 @@ "type": "object" }, "GoogleCloudHealthcareV1beta1FhirRestExportResourcesResponse": { - "description": "Response when all resources export successfully.\nThis structure will be included in the\nresponse to describe the detailed\noutcome. It will only be included when the operation finishes successfully.", + "description": "Response when all resources export successfully.\nThis structure is included in the\nresponse to describe the detailed\noutcome after the operation finishes successfully.", "id": "GoogleCloudHealthcareV1beta1FhirRestExportResourcesResponse", "properties": { "fhirStore": { @@ -3692,7 +4488,7 @@ "id": "GoogleCloudHealthcareV1beta1FhirRestGcsDestination", "properties": { "uriPrefix": { - "description": "URI for a Cloud Storage directory where result files should be written (in\nthe format `gs://{bucket-id}/{path/to/destination/dir}`). If there is no\ntrailing slash, the service will append one when composing the object path.\nThe user is responsible for creating the Cloud Storage bucket referenced in\n`uri_prefix`.", + "description": "URI for a Cloud Storage directory where result files should be written (in\nthe format `gs://{bucket-id}/{path/to/destination/dir}`). If there is no\ntrailing slash, the service appends one when composing the object path.\nThe user is responsible for creating the Cloud Storage bucket referenced in\n`uri_prefix`.", "type": "string" } }, @@ -3710,7 +4506,7 @@ "type": "object" }, "GoogleCloudHealthcareV1beta1FhirRestImportResourcesErrorDetails": { - "description": "Error response of importing resources.\nThis structure will be included in the\nerror\ndetails to describe the detailed error. It will\nonly be included when the operation finishes with some failure.", + "description": "Error response of importing resources.\nThis structure is included in the\nerror\ndetails to describe the detailed error\nafter the operation finishes with some failure.", "id": "GoogleCloudHealthcareV1beta1FhirRestImportResourcesErrorDetails", "properties": { "errorCount": { @@ -3736,7 +4532,7 @@ "type": "object" }, "GoogleCloudHealthcareV1beta1FhirRestImportResourcesResponse": { - "description": "Final response of importing resources.\nThis structure will be included in the\nresponse to describe the detailed\noutcome. It will only be included when the operation finishes successfully.", + "description": "Final response of importing resources.\nThis structure is included in the\nresponse to describe the detailed\noutcome after the operation finishes successfully.", "id": "GoogleCloudHealthcareV1beta1FhirRestImportResourcesResponse", "properties": { "fhirStore": { @@ -3811,11 +4607,11 @@ "id": "Hl7V2NotificationConfig", "properties": { "filter": { - "description": "Restricts notifications sent for messages matching a filter. If this is\nempty, all messages are matched. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nFields/functions available for filtering are:\n\n* `message_type`, from the MSH-9.1 field. For example,\n`NOT message_type = \"ADT\"`.\n* `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in\nthe dataset's time_zone, from the MSH-7 segment. For example,\n`send_date < \"2017-01-02\"`.\n* `send_time`, the timestamp when the message was sent, using the\nRFC3339 time format for comparisons, from the MSH-7 segment. For example,\n`send_time < \"2017-01-02T00:00:00-05:00\"`.\n* `send_facility`, the care center that the message came from, from the\nMSH-4 segment. For example, `send_facility = \"ABC\"`.\n* `PatientId(value, type)`, which matches if the message lists a patient\nhaving an ID of the given value and type in the PID-2, PID-3, or PID-4\nsegments. For example, `PatientId(\"123456\", \"MRN\")`.\n* `labels.x`, a string value of the label with key `x` as set using the\nMessage.labels\nmap. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be\nused to assert the existence of a label. For example,\n`labels.\"priority\":*`.", + "description": "Restricts notifications sent for messages matching a filter. If this is\nempty, all messages are matched. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nThe following fields and functions are available for filtering:\n\n* `message_type`, from the MSH-9.1 field. For example,\n`NOT message_type = \"ADT\"`.\n* `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in\nthe dataset's time_zone, from the MSH-7 segment. For example,\n`send_date < \"2017-01-02\"`.\n* `send_time`, the timestamp when the message was sent, using the\nRFC3339 time format for comparisons, from the MSH-7 segment. For example,\n`send_time < \"2017-01-02T00:00:00-05:00\"`.\n* `send_facility`, the care center that the message came from, from the\nMSH-4 segment. For example, `send_facility = \"ABC\"`.\n* `PatientId(value, type)`, which matches if the message lists a patient\nhaving an ID of the given value and type in the PID-2, PID-3, or PID-4\nsegments. For example, `PatientId(\"123456\", \"MRN\")`.\n* `labels.x`, a string value of the label with key `x` as set using the\nMessage.labels\nmap. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be\nused to assert the existence of a label. For example,\n`labels.\"priority\":*`.", "type": "string" }, "pubsubTopic": { - "description": "The [Cloud Pubsub](https://cloud.google.com/pubsub/docs/) topic that\nnotifications of changes are published on. Supplied by the client. The\nnotification is a `PubsubMessage` with the following fields:\n\n* `PubsubMessage.Data` contains the resource name.\n* `PubsubMessage.MessageId` is the ID of this notification. It is\nguaranteed to be unique within the topic.\n* `PubsubMessage.PublishTime` is the time at which the message was\npublished.\n\nNote that notifications are only sent if the topic is non-empty. [Topic\nnames](https://cloud.google.com/pubsub/docs/overview#names) must be\nscoped to a project. cloud-healthcare@system.gserviceaccount.com must\nhave publisher permissions on the given Pubsub topic. Not having adequate\npermissions causes the calls that send notifications to fail.\n\nIf a notification cannot be published to Cloud Pub/Sub, errors will be\nlogged to Stackdriver (see [Viewing logs](/healthcare/docs/how-\ntos/stackdriver-logging)).", + "description": "The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that\nnotifications of changes are published on. Supplied by the client. The\nnotification is a `PubsubMessage` with the following fields:\n\n* `PubsubMessage.Data` contains the resource name.\n* `PubsubMessage.MessageId` is the ID of this notification. It is\nguaranteed to be unique within the topic.\n* `PubsubMessage.PublishTime` is the time when the message was\npublished.\n\nNote that notifications are only sent if the topic is non-empty. [Topic\nnames](https://cloud.google.com/pubsub/docs/overview#names) must be\nscoped to a project. Cloud Healthcare API service account must have\npublisher permissions on the given Pub/Sub topic. Not having adequate\npermissions causes the calls that send notifications to fail.\n\nIf a notification can't be published to Cloud Pub/Sub, errors are\nlogged to Cloud Logging. For more information, see\n[Viewing error logs in Cloud Logging](/healthcare/docs/how-tos/logging).", "type": "string" } }, @@ -3833,7 +4629,7 @@ "type": "object" }, "name": { - "description": "Output only. Resource name of the HL7v2 store, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", + "description": "Resource name of the HL7v2 store, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", "type": "string" }, "notificationConfig": { @@ -3852,7 +4648,7 @@ "description": "The configuration for the parser. It determines how the server parses the\nmessages." }, "rejectDuplicateMessage": { - "description": "Determines whether duplicate messages should be rejected. A duplicate\nmessage is a message with the same raw bytes as a message that has already\nbeen ingested/created in this HL7v2 store.\nThe default value is false, meaning that the store accepts the duplicate\nmessages and it also returns the same ACK message in the\nIngestMessageResponse as has been returned previously. Note that only\none resource is created in the store.\nWhen this field is set to true,\nCreateMessage/IngestMessage\nrequests with a duplicate message will be rejected by the store, and\nIngestMessageErrorDetail returns a NACK message upon rejection.", + "description": "Determines whether to reject duplicate messages. A duplicate\nmessage is a message with the same raw bytes as a message that has already\nbeen ingested/created in this HL7v2 store.\nThe default value is false, meaning that the store accepts the duplicate\nmessages and it also returns the same ACK message in the\nIngestMessageResponse as has been returned previously. Note that only\none resource is created in the store.\nWhen this field is set to true,\nCreateMessage/IngestMessage\nrequests with a duplicate message will be rejected by the store, and\nIngestMessageErrorDetail returns a NACK message upon rejection.", "type": "boolean" } }, @@ -3885,6 +4681,25 @@ }, "type": "object" }, + "ImageAnnotation": { + "description": "Image annotation.", + "id": "ImageAnnotation", + "properties": { + "boundingPolys": { + "description": "The list of polygons outlining the sensitive regions in the image.", + "items": { + "$ref": "BoundingPoly" + }, + "type": "array" + }, + "frameIndex": { + "description": "0-based index of the image frame. For example, an image frame in a DICOM\ninstance.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ImageConfig": { "description": "Specifies how to handle de-identification of image pixels.", "id": "ImageConfig", @@ -3908,6 +4723,53 @@ }, "type": "object" }, + "ImportAnnotationsErrorDetails": { + "description": "Final response of importing\nAnnotations in\npartial or total failure case. This structure is included in the\nerror\ndetails. It is only included when the operation\nfinishes.", + "id": "ImportAnnotationsErrorDetails", + "properties": { + "annotationStore": { + "description": "The annotation_store that the annotations were imported to. The name\nis in the format\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "type": "string" + }, + "errorCount": { + "description": "The number of annotations that had errors.", + "format": "int64", + "type": "string" + }, + "successCount": { + "description": "The number of annotations that have been imported.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ImportAnnotationsRequest": { + "description": "Request to import\nAnnotations. The\nAnnotations to be imported must have client-supplied resource names which\nindicate the annotation resource. The import operation is not atomic. If a\nfailure occurs, any annotations already imported are not removed.", + "id": "ImportAnnotationsRequest", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudHealthcareV1beta1AnnotationGcsSource" + } + }, + "type": "object" + }, + "ImportAnnotationsResponse": { + "description": "Final response of importing\nAnnotations in\nsuccessful case. This structure is included in the\nresponse. It is only included\nwhen the operation finishes.", + "id": "ImportAnnotationsResponse", + "properties": { + "annotationStore": { + "description": "The annotation_store that the annotations were imported to. The name\nis in the format\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.", + "type": "string" + }, + "successCount": { + "description": "The number of the input annotations. All input have been imported\nsuccessfully.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "ImportDicomDataErrorDetails": { "description": "Returns the errors encountered during DICOM store import.", "id": "ImportDicomDataErrorDetails", @@ -3953,8 +4815,8 @@ "RESOURCE_PRETTY" ], "enumDescriptions": [ - "If the content structure is not specified, the default value `BUNDLE`\nwill be used.", - "The source file contains one or more lines of newline-delimited JSON\n(ndjson). Each line is a bundle, which contains one or more resources.\nSet the bundle type to `history` to import resource versions.", + "If the content structure is not specified, the default value `BUNDLE`\nis used.", + "The source file contains one or more lines of newline-delimited JSON\n(ndjson). Each line is a bundle that contains one or more resources.\nSet the bundle type to `history` to import resource versions.", "The source file contains one or more lines of newline-delimited JSON\n(ndjson). Each line is a single resource.", "The entire file is one JSON bundle. The JSON can span multiple lines.", "The entire file is one JSON resource. The JSON can span multiple lines." @@ -3968,6 +4830,23 @@ }, "type": "object" }, + "InfoTypeConfig": { + "description": "Specifies how to use infoTypes for evaluation. For example, a user might\nonly want to evaluate `PERSON`, `LOCATION`, and `AGE`.", + "id": "InfoTypeConfig", + "properties": { + "evaluateList": { + "$ref": "FilterList" + }, + "ignoreList": { + "$ref": "FilterList" + }, + "strictMatching": { + "description": "If `TRUE`, infoTypes described by `filter` are used for evaluation.\nOtherwise, infoTypes are not considered for evaluation.\nFor example:\n\n* Annotated text:\n \"Toronto is a location\"\n* Finding 1:\n `{\"infoType\": \"PERSON\", \"quote\": \"Toronto\", \"start\": 0, \"end\": 7}`\n* Finding 2:\n `{\"infoType\": \"CITY\", \"quote\": \"Toronto\", \"start\": 0, \"end\": 7}`\n* Finding 3:\n `{}`\n* Ground truth:\n `{\"infoType\": \"LOCATION\", \"quote\": \"Toronto\", \"start\": 0, \"end\": 7}`\n\nWhen `strict_matching` is `TRUE`:\n\n* Finding 1: 1 false positive\n* Finding 2: 1 false positive\n* Finding 3: 1 false negative\n\nWhen `strict_matching` is `FALSE`:\n\n* Finding 1: 1 true positive\n* Finding 2: 1 true positive\n* Finding 3: 1 false negative", + "type": "boolean" + } + }, + "type": "object" + }, "InfoTypeTransformation": { "description": "A transformation to apply to text that is identified as a specific\ninfo_type.", "id": "InfoTypeTransformation", @@ -4029,6 +4908,42 @@ }, "type": "object" }, + "ListAnnotationStoresResponse": { + "description": "Lists the Annotation stores\nin the given dataset.", + "id": "ListAnnotationStoresResponse", + "properties": { + "annotationStores": { + "description": "The returned Annotation stores. Won't be more Annotation stores than the\nvalue of page_size in the request.", + "items": { + "$ref": "AnnotationStore" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListAnnotationsResponse": { + "description": "Lists the Annotations in the specified\nAnnotation store.", + "id": "ListAnnotationsResponse", + "properties": { + "annotations": { + "description": "The returned Annotations. Won't be more values than the value of\npage_size in the request. See `AnnotationView` in the request for\npopulated fields.", + "items": { + "$ref": "Annotation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.", + "type": "string" + } + }, + "type": "object" + }, "ListDatasetsResponse": { "description": "Lists the available datasets.", "id": "ListDatasetsResponse", @@ -4190,7 +5105,7 @@ "type": "object" }, "Message": { - "description": "A complete HL7v2 message.\nSee http://www.hl7.org/implement/standards/index.cfm?ref=common for details\non the standard.", + "description": "A complete HL7v2 message.\nSee [Introduction to HL7 Standards]\n(https://www.hl7.org/implement/standards/index.cfm?ref=common) for\ndetails on the standard.", "id": "Message", "properties": { "createTime": { @@ -4250,7 +5165,7 @@ "id": "NotificationConfig", "properties": { "pubsubTopic": { - "description": "The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that\nnotifications of changes are published on. Supplied by the client.\nPubsubMessage.Data contains the resource name.\nPubsubMessage.MessageId is the ID of this message. It is guaranteed to be\nunique within the topic.\nPubsubMessage.PublishTime is the time at which the message was published.\nNotifications are only sent if the topic is\nnon-empty. [Topic\nnames](https://cloud.google.com/pubsub/docs/overview#names) must be scoped\nto a project. cloud-healthcare@system.gserviceaccount.com must have\npublisher permissions on the given Cloud Pub/Sub topic. Not having adequate\npermissions causes the calls that send notifications to fail.\n\nIf a notification can't be published to Cloud Pub/Sub, errors are logged to\nStackdriver (see [Viewing\nlogs](/healthcare/docs/how-tos/stackdriver-logging)). If the number of\nerrors exceeds a certain rate, some aren't submitted.", + "description": "The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that\nnotifications of changes are published on. Supplied by the client.\nPubsubMessage.Data contains the resource name.\nPubsubMessage.MessageId is the ID of this message. It is guaranteed to be\nunique within the topic.\nPubsubMessage.PublishTime is the time at which the message was published.\nNotifications are only sent if the topic is\nnon-empty. [Topic\nnames](https://cloud.google.com/pubsub/docs/overview#names) must be scoped\nto a project. Cloud Healthcare API service account must have publisher\npermissions on the given Cloud Pub/Sub topic. Not having adequate\npermissions causes the calls that send notifications to fail.\n\nIf a notification can't be published to Cloud Pub/Sub, errors are logged to\nCloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)). If the number of\nerrors exceeds a certain rate, some aren't submitted.", "type": "string" } }, @@ -4317,7 +5232,7 @@ "type": "string" }, "logsUrl": { - "description": "A link to audit and error logs in the log viewer. Error logs are generated\nonly by some operations, listed at\nhttps://cloud.google.com/healthcare/docs/how-tos/stackdriver-logging.", + "description": "A link to audit and error logs in the log viewer. Error logs are generated\nonly by some operations, listed at\n[Viewing logs](/healthcare/docs/how-tos/logging).", "type": "string" } }, @@ -4372,7 +5287,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -4395,7 +5310,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -4436,6 +5351,17 @@ "properties": {}, "type": "object" }, + "ResourceAnnotation": { + "description": "Resource level annotation.", + "id": "ResourceAnnotation", + "properties": { + "label": { + "description": "A description of the annotation record.", + "type": "string" + } + }, + "type": "object" + }, "Resources": { "description": "A list of FHIR resources.", "id": "Resources", @@ -4469,7 +5395,7 @@ "enumDescriptions": [ "No schema type specified. Same as `LOSSLESS`.", "A data-driven schema generated from the fields present in the FHIR data\nbeing exported, with no additional simplification.", - "Analytics schema defined by the FHIR community.\nSee https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md." + "Analytics schema defined by the FHIR community.\nSee https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.\n\nBigQuery only allows a maximum of 10,000 columns per table. Due to this\nlimitation, the server will not generate schemas for fields of type\n`Resource`, which can hold any resource type. The affected fields are\n`Parameters.parameter.resource`, `Bundle.entry.resource`, and\n`Bundle.entry.response.outcome`." ], "type": "string" } @@ -4588,7 +5514,7 @@ "id": "SearchResourcesRequest", "properties": { "resourceType": { - "description": "The FHIR resource type to search, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", + "description": "The FHIR resource type to search, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](https://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](https://hl7.org/implement/standards/fhir/R4/resourcelist.html)).", "type": "string" } }, @@ -4616,6 +5542,20 @@ }, "type": "object" }, + "SensitiveTextAnnotation": { + "description": "A TextAnnotation specifies a text range that includes sensitive information.", + "id": "SensitiveTextAnnotation", + "properties": { + "details": { + "additionalProperties": { + "$ref": "Detail" + }, + "description": "Maps from a resource slice. For example, FHIR resource field path to a set\nof sensitive text findings. For example,\nAppointment.Narrative text1 --> {findings_1, findings_2, findings_3}", + "type": "object" + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -4625,7 +5565,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -4660,12 +5600,12 @@ "type": "object" }, "StreamConfig": { - "description": "This structure contains configuration for streaming FHIR export.", + "description": "Contains configuration for streaming FHIR export.", "id": "StreamConfig", "properties": { "bigqueryDestination": { "$ref": "GoogleCloudHealthcareV1beta1FhirBigQueryDestination", - "description": "The destination BigQuery structure that contains both the dataset\nlocation and corresponding schema config.\n\nThe output is organized in one table per resource type. The server\nreuses the existing tables (if any) that are named after the resource\ntypes, e.g. \"Patient\", \"Observation\". When there is no existing table\nfor a given resource type, the server attempts to create one.\n\nWhen a table schema doesn't align with the schema config, either\nbecause of existing incompatible schema or out of band incompatible\nmodification, the server does not stream in new data.\n\nOne resolution in this case is to delete the incompatible\ntable and let the server recreate one, though the newly created table\nonly contains data after the table recreation.\n\nBigQuery imposes a 1 MB limit on streaming insert row size, therefore\nany resource mutation that generates more than 1 MB of BigQuery data\nwill not be streamed.\n\nResults are appended to the corresponding BigQuery tables. Different\nversions of the same resource are distinguishable by the meta.versionId\nand meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that\nresults in the new version is recorded in the meta.tag.\n\nThe tables contain all historical resource versions since streaming was\nenabled. For query convenience, the server also creates one view per\ntable of the same name containing only the current resource version.\n\nIf a resource mutation cannot be streamed to BigQuery, errors will be\nlogged to Stackdriver (see [Viewing logs](/healthcare/docs/how-\ntos/stackdriver-logging))." + "description": "The destination BigQuery structure that contains both the dataset\nlocation and corresponding schema config.\n\nThe output is organized in one table per resource type. The server\nreuses the existing tables (if any) that are named after the resource\ntypes, e.g. \"Patient\", \"Observation\". When there is no existing table\nfor a given resource type, the server attempts to create one.\n\nWhen a table schema doesn't align with the schema config, either\nbecause of existing incompatible schema or out of band incompatible\nmodification, the server does not stream in new data.\n\nOne resolution in this case is to delete the incompatible\ntable and let the server recreate one, though the newly created table\nonly contains data after the table recreation.\n\nBigQuery imposes a 1 MB limit on streaming insert row size, therefore\nany resource mutation that generates more than 1 MB of BigQuery data\nwill not be streamed.\n\nResults are appended to the corresponding BigQuery tables. Different\nversions of the same resource are distinguishable by the meta.versionId\nand meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that\nresults in the new version is recorded in the meta.tag.\n\nThe tables contain all historical resource versions since streaming was\nenabled. For query convenience, the server also creates one view per\ntable of the same name containing only the current resource version.\n\nThe streamed data in the BigQuery dataset is not guaranteed to be\ncompletely unique. The combination of the id and meta.versionId columns\nshould ideally identify a single unique row. But in rare cases,\nduplicates may exist. At query time, users may use the SQL select\nstatement to keep only one of the duplicate rows given an id and\nmeta.versionId pair. Alternatively, the server created view mentioned\nabove also filters out duplicates.\n\nIf a resource mutation cannot be streamed to BigQuery, errors will be\nlogged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-\ntos/logging))." }, "resourceTypes": { "description": "Supply a FHIR resource type (such as \"Patient\" or \"Observation\").\nSee https://www.hl7.org/fhir/valueset-resource-types.html for a list of\nall FHIR resource types.\nThe server treats an empty list as an intent to stream all the\nsupported resource types in this FHIR store.", @@ -4682,7 +5622,7 @@ "id": "TagFilterList", "properties": { "tags": { - "description": "Tags to be filtered. Tags must be DICOM Data Elements, File Meta\nElements, or Directory Structuring Elements, as defined at:\nhttp://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.\nThey may be provided by \"Keyword\" or \"Tag\". For example \"PatientID\",\n\"00100010\".", + "description": "Tags to be filtered. Tags must be DICOM Data Elements, File Meta\nElements, or Directory Structuring Elements, as defined at:\nhttp://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.\nThey may be provided by \"Keyword\" or \"Tag\". For example, \"PatientID\",\n\"00100010\".", "items": { "type": "string" }, @@ -4780,6 +5720,23 @@ } }, "type": "object" + }, + "Vertex": { + "description": "A 2D coordinate in an image. The origin is the top-left.", + "id": "Vertex", + "properties": { + "x": { + "description": "X coordinate.", + "format": "float", + "type": "number" + }, + "y": { + "description": "Y coordinate.", + "format": "float", + "type": "number" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/homegraph/v1/homegraph-api.json b/etc/api/homegraph/v1/homegraph-api.json index cfefcc1540..81f9e289f0 100644 --- a/etc/api/homegraph/v1/homegraph-api.json +++ b/etc/api/homegraph/v1/homegraph-api.json @@ -192,7 +192,7 @@ } } }, - "revision": "20200407", + "revision": "20200703", "rootUrl": "https://homegraph.googleapis.com/", "schemas": { "AgentDeviceId": { @@ -254,11 +254,11 @@ "description": "Names given to this device by your smart home Action." }, "notificationSupportedByAgent": { - "description": "Indicates whether your smart home Action will report notifications\nto Google for this device via ReportStateAndNotification.\n\nIf your smart home Action enables users to control device notifications,\nyou should update this field and call RequestSyncDevices.", + "description": "Indicates whether your smart home Action will report notifications\nto Google for this device via\nReportStateAndNotification.\n\nIf your smart home Action enables users to control device notifications,\nyou should update this field and call\nRequestSyncDevices.", "type": "boolean" }, "otherDeviceIds": { - "description": "Alternate IDs associated with this device.\nThis is used to identify cloud synced devices enabled for\n[local\nexecution](https://developers.google.com/assistant/smarthome/concepts/local).", + "description": "Alternate IDs associated with this device.\nThis is used to identify cloud synced devices enabled for [local\nfulfillment](https://developers.google.com/assistant/smarthome/concepts/local).", "items": { "$ref": "AgentOtherDeviceId" }, @@ -284,7 +284,7 @@ "type": "string" }, "willReportState": { - "description": "Indicates whether your smart home Action will report state of this device\nto Google via ReportStateAndNotification.", + "description": "Indicates whether your smart home Action will report state of this device\nto Google via\nReportStateAndNotification.", "type": "boolean" } }, @@ -460,7 +460,7 @@ "type": "string" }, "followUpToken": { - "description": "Token to maintain state in the follow up notification response.", + "description": "Token to maintain state in the follow up notification response.\nDeprecated. See the [notifications\nguide](https://developers.google.com/assistant/smarthome/develop/notifications)\nfor details on implementing follow up notifications.", "type": "string" }, "payload": { diff --git a/etc/api/iam/v1/iam-api.json b/etc/api/iam/v1/iam-api.json index 920f8fb2d5..eb31181d07 100644 --- a/etc/api/iam/v1/iam-api.json +++ b/etc/api/iam/v1/iam-api.json @@ -108,7 +108,7 @@ "iamPolicies": { "methods": { "lintPolicy": { - "description": "Lints a Cloud IAM policy object or its sub fields. Currently supports\ngoogle.iam.v1.Binding.condition.\n\nEach lint operation consists of multiple lint validation units.\nEach unit inspects the input object in regard to a particular linting\naspect and issues a google.iam.admin.v1.LintResult disclosing the\nresult.\n\nThe set of applicable validation units is determined by the Cloud IAM\nserver and is not configurable.\n\nRegardless of any lint issues or their severities, successful calls to\n`lintPolicy` return an HTTP 200 OK status code.", + "description": "Lints, or validates, an IAM policy. Currently checks the\ngoogle.iam.v1.Binding.condition field, which contains a condition\nexpression for a role binding.\n\nSuccessful calls to this method always return an HTTP `200 OK` status code,\neven if the linter detects an issue in the IAM policy.", "flatPath": "v1/iamPolicies:lintPolicy", "httpMethod": "POST", "id": "iam.iamPolicies.lintPolicy", @@ -126,7 +126,7 @@ ] }, "queryAuditableServices": { - "description": "Returns a list of services that support service level audit logging\nconfiguration for the given resource.", + "description": "Returns a list of services that allow you to opt into audit logs that are\nnot generated by default.\n\nTo learn more about audit logs, see the [Logging\ndocumentation](https://cloud.google.com/logging/docs/audit).", "flatPath": "v1/iamPolicies:queryAuditableServices", "httpMethod": "POST", "id": "iam.iamPolicies.queryAuditableServices", @@ -150,7 +150,7 @@ "roles": { "methods": { "create": { - "description": "Creates a new Role.", + "description": "Creates a new custom Role.", "flatPath": "v1/organizations/{organizationsId}/roles", "httpMethod": "POST", "id": "iam.organizations.roles.create", @@ -178,7 +178,7 @@ ] }, "delete": { - "description": "Soft deletes a role. The role is suspended and cannot be used to create new\nIAM Policy Bindings.\nThe Role will not be included in `ListRoles()` unless `show_deleted` is set\nin the `ListRolesRequest`. The Role contains the deleted boolean set.\nExisting Bindings remains, but are inactive. The Role can be undeleted\nwithin 7 days. After 7 days the Role is deleted and all Bindings associated\nwith the role are removed.", + "description": "Deletes a custom Role.\n\nWhen you delete a custom role, the following changes occur immediately:\n\n* You cannot bind a member to the custom role in an IAM\nPolicy.\n* Existing bindings to the custom role are not changed, but they have no\neffect.\n* By default, the response from ListRoles does not include the custom\nrole.\n\nYou have 7 days to undelete the custom role. After 7 days, the following\nchanges occur:\n\n* The custom role is permanently deleted and cannot be recovered.\n* If an IAM policy contains a binding to the custom role, the binding is\npermanently removed.", "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", "httpMethod": "DELETE", "id": "iam.organizations.roles.delete", @@ -209,7 +209,7 @@ ] }, "get": { - "description": "Gets a Role definition.", + "description": "Gets the definition of a Role.", "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", "httpMethod": "GET", "id": "iam.organizations.roles.get", @@ -234,7 +234,7 @@ ] }, "list": { - "description": "Lists the Roles defined on a resource.", + "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.", "flatPath": "v1/organizations/{organizationsId}/roles", "httpMethod": "GET", "id": "iam.organizations.roles.list", @@ -243,7 +243,7 @@ ], "parameters": { "pageSize": { - "description": "Optional limit on the number of roles to include in the response.", + "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -284,7 +284,7 @@ ] }, "patch": { - "description": "Updates a Role definition.", + "description": "Updates the definition of a custom Role.", "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", "httpMethod": "PATCH", "id": "iam.organizations.roles.patch", @@ -318,7 +318,7 @@ ] }, "undelete": { - "description": "Undelete a Role, bringing it back in its previous state.", + "description": "Undeletes a custom Role.", "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}:undelete", "httpMethod": "POST", "id": "iam.organizations.roles.undelete", @@ -352,7 +352,7 @@ "permissions": { "methods": { "queryTestablePermissions": { - "description": "Lists the permissions testable on a resource.\nA permission is testable if it can be tested for an identity on a resource.", + "description": "Lists every permission that you can test on a resource. A permission is\ntestable if you can check whether a member has that permission on the\nresource.", "flatPath": "v1/permissions:queryTestablePermissions", "httpMethod": "POST", "id": "iam.permissions.queryTestablePermissions", @@ -376,7 +376,7 @@ "roles": { "methods": { "create": { - "description": "Creates a new Role.", + "description": "Creates a new custom Role.", "flatPath": "v1/projects/{projectsId}/roles", "httpMethod": "POST", "id": "iam.projects.roles.create", @@ -404,7 +404,7 @@ ] }, "delete": { - "description": "Soft deletes a role. The role is suspended and cannot be used to create new\nIAM Policy Bindings.\nThe Role will not be included in `ListRoles()` unless `show_deleted` is set\nin the `ListRolesRequest`. The Role contains the deleted boolean set.\nExisting Bindings remains, but are inactive. The Role can be undeleted\nwithin 7 days. After 7 days the Role is deleted and all Bindings associated\nwith the role are removed.", + "description": "Deletes a custom Role.\n\nWhen you delete a custom role, the following changes occur immediately:\n\n* You cannot bind a member to the custom role in an IAM\nPolicy.\n* Existing bindings to the custom role are not changed, but they have no\neffect.\n* By default, the response from ListRoles does not include the custom\nrole.\n\nYou have 7 days to undelete the custom role. After 7 days, the following\nchanges occur:\n\n* The custom role is permanently deleted and cannot be recovered.\n* If an IAM policy contains a binding to the custom role, the binding is\npermanently removed.", "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", "httpMethod": "DELETE", "id": "iam.projects.roles.delete", @@ -435,7 +435,7 @@ ] }, "get": { - "description": "Gets a Role definition.", + "description": "Gets the definition of a Role.", "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", "httpMethod": "GET", "id": "iam.projects.roles.get", @@ -460,7 +460,7 @@ ] }, "list": { - "description": "Lists the Roles defined on a resource.", + "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.", "flatPath": "v1/projects/{projectsId}/roles", "httpMethod": "GET", "id": "iam.projects.roles.list", @@ -469,7 +469,7 @@ ], "parameters": { "pageSize": { - "description": "Optional limit on the number of roles to include in the response.", + "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -510,7 +510,7 @@ ] }, "patch": { - "description": "Updates a Role definition.", + "description": "Updates the definition of a custom Role.", "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", "httpMethod": "PATCH", "id": "iam.projects.roles.patch", @@ -544,7 +544,7 @@ ] }, "undelete": { - "description": "Undelete a Role, bringing it back in its previous state.", + "description": "Undeletes a custom Role.", "flatPath": "v1/projects/{projectsId}/roles/{rolesId}:undelete", "httpMethod": "POST", "id": "iam.projects.roles.undelete", @@ -576,7 +576,7 @@ "serviceAccounts": { "methods": { "create": { - "description": "Creates a ServiceAccount\nand returns it.", + "description": "Creates a ServiceAccount.", "flatPath": "v1/projects/{projectsId}/serviceAccounts", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.create", @@ -604,7 +604,7 @@ ] }, "delete": { - "description": "Deletes a ServiceAccount.", + "description": "Deletes a ServiceAccount.\n\n**Warning:** After you delete a service account, you might not be able to\nundelete it. If you know that you need to re-enable the service account in\nthe future, use DisableServiceAccount instead.\n\nIf you delete a service account, IAM permanently removes the service\naccount 30 days later. Google Cloud cannot recover the service account\nafter it is permanently removed, even if you file a support request.\n\nTo help avoid unplanned outages, we recommend that you disable the service\naccount before you delete it. Use DisableServiceAccount to disable the\nservice account, then wait at least 24 hours and watch for unintended\nconsequences. If there are no unintended consequences, you can delete the\nservice account.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", "httpMethod": "DELETE", "id": "iam.projects.serviceAccounts.delete", @@ -629,7 +629,7 @@ ] }, "disable": { - "description": "DisableServiceAccount is currently in the alpha launch stage.\n\nDisables a ServiceAccount,\nwhich immediately prevents the service account from authenticating and\ngaining access to APIs.\n\nDisabled service accounts can be safely restored by using\nEnableServiceAccount at any point. Deleted service accounts cannot be\nrestored using this method.\n\nDisabling a service account that is bound to VMs, Apps, Functions, or\nother jobs will cause those jobs to lose access to resources if they are\nusing the disabled service account.\n\nTo improve reliability of your services and avoid unexpected outages, it\nis recommended to first disable a service account rather than delete it.\nAfter disabling the service account, wait at least 24 hours to verify there\nare no unintended consequences, and then delete the service account.", + "description": "Disables a ServiceAccount immediately.\n\nIf an application uses the service account to authenticate, that\napplication can no longer call Google APIs or access Google Cloud\nresources. Existing access tokens for the service account are rejected, and\nrequests for new access tokens will fail.\n\nTo re-enable the service account, use EnableServiceAccount. After you\nre-enable the service account, its existing access tokens will be accepted,\nand you can request new access tokens.\n\nTo help avoid unplanned outages, we recommend that you disable the service\naccount before you delete it. Use this method to disable the service\naccount, then wait at least 24 hours and watch for unintended consequences.\nIf there are no unintended consequences, you can delete the service account\nwith DeleteServiceAccount.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:disable", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.disable", @@ -657,7 +657,7 @@ ] }, "enable": { - "description": "EnableServiceAccount is currently in the alpha launch stage.\n\n Restores a disabled ServiceAccount\n that has been manually disabled by using DisableServiceAccount. Service\n accounts that have been disabled by other means or for other reasons,\n such as abuse, cannot be restored using this method.\n\n EnableServiceAccount will have no effect on a service account that is\n not disabled. Enabling an already enabled service account will have no\n effect.", + "description": "Enables a ServiceAccount that was disabled by\nDisableServiceAccount.\n\nIf the service account is already enabled, then this method has no effect.\n\nIf the service account was disabled by other means\u2014for example, if Google\ndisabled the service account because it was compromised\u2014you cannot use this\nmethod to enable the service account.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:enable", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.enable", @@ -710,7 +710,7 @@ ] }, "getIamPolicy": { - "description": "Returns the Cloud IAM access control policy for a\nServiceAccount.\n\nNote: Service accounts are both\n[resources and\nidentities](/iam/docs/service-accounts#service_account_permissions). This\nmethod treats the service account as a resource. It returns the Cloud IAM\npolicy that reflects what members have access to the service account.\n\nThis method does not return what resources the service account has access\nto. To see if a service account has access to a resource, call the\n`getIamPolicy` method on the target resource. For example, to view grants\nfor a project, call the\n[projects.getIamPolicy](/resource-manager/reference/rest/v1/projects/getIamPolicy)\nmethod.", + "description": "Gets the IAM policy that is attached to a ServiceAccount. This IAM\npolicy specifies which members have access to the service account.\n\nThis method does not tell you whether the service account has been granted\nany roles on other resources. To check whether a service account has role\ngrants on a resource, use the `getIamPolicy` method for that resource. For\nexample, to view the role grants for a project, call the Resource Manager\nAPI's\n[`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy)\nmethod.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:getIamPolicy", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.getIamPolicy", @@ -719,7 +719,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -741,7 +741,7 @@ ] }, "list": { - "description": "Lists ServiceAccounts for a project.", + "description": "Lists every ServiceAccount that belongs to a specific project.", "flatPath": "v1/projects/{projectsId}/serviceAccounts", "httpMethod": "GET", "id": "iam.projects.serviceAccounts.list", @@ -757,7 +757,7 @@ "type": "string" }, "pageSize": { - "description": "Optional limit on the number of service accounts to include in the\nresponse. Further accounts can subsequently be obtained by including the\nListServiceAccountsResponse.next_page_token\nin a subsequent request.", + "description": "Optional limit on the number of service accounts to include in the\nresponse. Further accounts can subsequently be obtained by including the\nListServiceAccountsResponse.next_page_token\nin a subsequent request.\n\nThe default is 20, and the maximum is 100.", "format": "int32", "location": "query", "type": "integer" @@ -777,7 +777,7 @@ ] }, "patch": { - "description": "Patches a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` and `description`.\n\nOnly fields specified in the request are guaranteed to be returned in\nthe response. Other fields in the response may be empty.\n\nNote: The field mask is required.", + "description": "Patches a ServiceAccount.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", "httpMethod": "PATCH", "id": "iam.projects.serviceAccounts.patch", @@ -786,7 +786,7 @@ ], "parameters": { "name": { - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nRequests using `-` as a wildcard for the `PROJECT_ID` will infer the\nproject from the `account` and the `ACCOUNT` value can be the `email`\naddress or the `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.", + "description": "The resource name of the service account.\n\nUse one of the following formats:\n\n* `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`\n\nAs an alternative, you can use the `-` wildcard character instead of the\nproject ID:\n\n* `projects/-/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/-/serviceAccounts/{UNIQUE_ID}`\n\nWhen possible, avoid using the `-` wildcard character, because it can cause\nresponse messages to contain misleading error codes. For example, if you\ntry to get the service account\n`projects/-/serviceAccounts/fake@example.com`, which does not exist, the\nresponse contains an HTTP `403 Forbidden` error instead of a `404 Not\nFound` error.", "location": "path", "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", "required": true, @@ -805,7 +805,7 @@ ] }, "setIamPolicy": { - "description": "Sets the Cloud IAM access control policy for a\nServiceAccount.\n\nNote: Service accounts are both\n[resources and\nidentities](/iam/docs/service-accounts#service_account_permissions). This\nmethod treats the service account as a resource. Use it to grant members\naccess to the service account, such as when they need to impersonate it.\n\nThis method does not grant the service account access to other resources,\nsuch as projects. To grant a service account access to resources, include\nthe service account in the Cloud IAM policy for the desired resource, then\ncall the appropriate `setIamPolicy` method on the target resource. For\nexample, to grant a service account access to a project, call the\n[projects.setIamPolicy](/resource-manager/reference/rest/v1/projects/setIamPolicy)\nmethod.", + "description": "Sets the IAM policy that is attached to a ServiceAccount.\n\nUse this method to grant or revoke access to the service account. For\nexample, you could grant a member the ability to impersonate the service\naccount.\n\nThis method does not enable the service account to access other resources.\nTo grant roles to a service account on a resource, follow these steps:\n\n1. Call the resource's `getIamPolicy` method to get its current IAM policy.\n2. Edit the policy so that it binds the service account to an IAM role for\nthe resource.\n3. Call the resource's `setIamPolicy` method to update its IAM policy.\n\nFor detailed instructions, see\n[Granting roles to a service account for specific\nresources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:setIamPolicy", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.setIamPolicy", @@ -833,7 +833,7 @@ ] }, "signBlob": { - "description": "**Note**: This method is in the process of being deprecated. Call the\n[`signBlob()`](/iam/credentials/reference/rest/v1/projects.serviceAccounts/signBlob)\nmethod of the Cloud IAM Service Account Credentials API instead.\n\nSigns a blob using a service account's system-managed private key.", + "description": "**Note:** We are in the process of deprecating this method. Use the\n[`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob)\nmethod in the IAM Service Account Credentials API instead.\n\nSigns a blob using the system-managed private key for a ServiceAccount.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.signBlob", @@ -861,7 +861,7 @@ ] }, "signJwt": { - "description": "**Note**: This method is in the process of being deprecated. Call the\n[`signJwt()`](/iam/credentials/reference/rest/v1/projects.serviceAccounts/signJwt)\nmethod of the Cloud IAM Service Account Credentials API instead.\n\nSigns a JWT using a service account's system-managed private key.\n\nIf no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an\nan expiry time of one hour by default. If you request an expiry time of\nmore than one hour, the request will fail.", + "description": "**Note:** We are in the process of deprecating this method. Use the\n[`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt)\nmethod in the IAM Service Account Credentials API instead.\n\nSigns a JSON Web Token (JWT) using the system-managed private key for a\nServiceAccount.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.signJwt", @@ -889,7 +889,7 @@ ] }, "testIamPermissions": { - "description": "Tests the specified permissions against the IAM access control policy\nfor a ServiceAccount.", + "description": "Tests whether the caller has the specified permissions on a\nServiceAccount.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:testIamPermissions", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.testIamPermissions", @@ -917,7 +917,7 @@ ] }, "undelete": { - "description": "Restores a deleted ServiceAccount.\nThis is to be used as an action of last resort. A service account may\nnot always be restorable.", + "description": "Restores a deleted ServiceAccount.\n\n**Important:** It is not always possible to restore a deleted service\naccount. Use this method only as a last resort.\n\nAfter you delete a service account, IAM permanently removes the service\naccount 30 days later. There is no way to restore a deleted service account\nthat has been permanently removed.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:undelete", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.undelete", @@ -945,7 +945,7 @@ ] }, "update": { - "description": "Note: This method is in the process of being deprecated. Use\nPatchServiceAccount instead.\n\nUpdates a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` and `description`.", + "description": "**Note:** We are in the process of deprecating this method. Use\nPatchServiceAccount instead.\n\nUpdates a ServiceAccount.\n\nYou can update only the `display_name` and `description` fields.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", "httpMethod": "PUT", "id": "iam.projects.serviceAccounts.update", @@ -954,7 +954,7 @@ ], "parameters": { "name": { - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nRequests using `-` as a wildcard for the `PROJECT_ID` will infer the\nproject from the `account` and the `ACCOUNT` value can be the `email`\naddress or the `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.", + "description": "The resource name of the service account.\n\nUse one of the following formats:\n\n* `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`\n\nAs an alternative, you can use the `-` wildcard character instead of the\nproject ID:\n\n* `projects/-/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/-/serviceAccounts/{UNIQUE_ID}`\n\nWhen possible, avoid using the `-` wildcard character, because it can cause\nresponse messages to contain misleading error codes. For example, if you\ntry to get the service account\n`projects/-/serviceAccounts/fake@example.com`, which does not exist, the\nresponse contains an HTTP `403 Forbidden` error instead of a `404 Not\nFound` error.", "location": "path", "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", "required": true, @@ -977,7 +977,7 @@ "keys": { "methods": { "create": { - "description": "Creates a ServiceAccountKey\nand returns it.", + "description": "Creates a ServiceAccountKey.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.keys.create", @@ -1030,7 +1030,7 @@ ] }, "get": { - "description": "Gets the ServiceAccountKey\nby key id.", + "description": "Gets a ServiceAccountKey.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}", "httpMethod": "GET", "id": "iam.projects.serviceAccounts.keys.get", @@ -1065,7 +1065,7 @@ ] }, "list": { - "description": "Lists ServiceAccountKeys.", + "description": "Lists every ServiceAccountKey for a service account.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys", "httpMethod": "GET", "id": "iam.projects.serviceAccounts.keys.list", @@ -1101,7 +1101,7 @@ ] }, "upload": { - "description": "Upload public key for a given service account.\nThis rpc will create a\nServiceAccountKey that has the\nprovided public key and returns it.", + "description": "Creates a ServiceAccountKey, using a public key that you provide.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys:upload", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.keys.upload", @@ -1137,7 +1137,7 @@ "roles": { "methods": { "get": { - "description": "Gets a Role definition.", + "description": "Gets the definition of a Role.", "flatPath": "v1/roles/{rolesId}", "httpMethod": "GET", "id": "iam.roles.get", @@ -1162,14 +1162,14 @@ ] }, "list": { - "description": "Lists the Roles defined on a resource.", + "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.", "flatPath": "v1/roles", "httpMethod": "GET", "id": "iam.roles.list", "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional limit on the number of roles to include in the response.", + "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -1208,7 +1208,7 @@ ] }, "queryGrantableRoles": { - "description": "Queries roles that can be granted on a particular resource.\nA role is grantable if it can be used as the role in a binding for a policy\nfor that resource.", + "description": "Lists roles that can be granted on a Google Cloud resource. A role is\ngrantable if the IAM policy for the resource can contain bindings to the\nrole.", "flatPath": "v1/roles:queryGrantableRoles", "httpMethod": "POST", "id": "iam.roles.queryGrantableRoles", @@ -1228,7 +1228,7 @@ } } }, - "revision": "20200319", + "revision": "20200617", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AdminAuditData": { @@ -1243,7 +1243,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1272,7 +1272,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1318,7 +1318,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1376,7 +1376,7 @@ "description": "The Role resource to create." }, "roleId": { - "description": "The role ID to use for this role.", + "description": "The role ID to use for this role.\n\nA role ID may contain alphanumeric characters, underscores (`_`), and\nperiods (`.`). It must contain a minimum of 3 characters and a maximum of\n64 characters.", "type": "string" } }, @@ -1609,7 +1609,7 @@ "type": "object" }, "PatchServiceAccountRequest": { - "description": "The patch service account request.", + "description": "The request for\nPatchServiceAccount.\n\nYou can patch only the `display_name` and `description` fields. You must use\nthe `update_mask` field to specify which of these fields you want to patch.\n\nOnly the fields specified in the request are guaranteed to be returned in\nthe response. Other fields may be empty in the response.", "id": "PatchServiceAccountRequest", "properties": { "serviceAccount": { @@ -1704,7 +1704,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -1727,7 +1727,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1782,7 +1782,7 @@ "type": "string" }, "pageSize": { - "description": "Optional limit on the number of roles to include in the response.", + "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.", "format": "int32", "type": "integer" }, @@ -1831,7 +1831,7 @@ "type": "string" }, "pageSize": { - "description": "Optional limit on the number of permissions to include in the response.", + "description": "Optional limit on the number of permissions to include in the response.\n\nThe default is 100, and the maximum is 1,000.", "format": "int32", "type": "integer" }, @@ -1916,44 +1916,44 @@ "type": "object" }, "ServiceAccount": { - "description": "A service account in the Identity and Access Management API.\n\nTo create a service account, specify the `project_id` and the `account_id`\nfor the account. The `account_id` is unique within the project, and is used\nto generate the service account email address and a stable\n`unique_id`.\n\nIf the account already exists, the account's resource name is returned\nin the format of projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. The caller\ncan use the name in other methods to access the account.\n\nAll other methods can identify the service account using the format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "description": "An IAM service account.\n\nA service account is an account for an application or a virtual machine (VM)\ninstance, not a person. You can use a service account to call Google APIs. To\nlearn more, read the [overview of service\naccounts](https://cloud.google.com/iam/help/service-accounts/overview).\n\nWhen you create a service account, you specify the project ID that owns the\nservice account, as well as a name that must be unique within the project.\nIAM uses these values to create an email address that identifies the service\naccount.", "id": "ServiceAccount", "properties": { "description": { - "description": "Optional. A user-specified opaque description of the service account.\nMust be less than or equal to 256 UTF-8 bytes.", + "description": "Optional. A user-specified, human-readable description of the service account. The\nmaximum length is 256 UTF-8 bytes.", "type": "string" }, "disabled": { - "description": "@OutputOnly A bool indicate if the service account is disabled.\nThe field is currently in alpha phase.", + "description": "Output only. Whether the service account is disabled.", "type": "boolean" }, "displayName": { - "description": "Optional. A user-specified name for the service account.\nMust be less than or equal to 100 UTF-8 bytes.", + "description": "Optional. A user-specified, human-readable name for the service account. The maximum\nlength is 100 UTF-8 bytes.", "type": "string" }, "email": { - "description": "@OutputOnly The email address of the service account.", + "description": "Output only. The email address of the service account.", "type": "string" }, "etag": { - "description": "Optional. Note: `etag` is an inoperable legacy field that is only returned\nfor backwards compatibility.", + "description": "Deprecated. Do not use.", "format": "byte", "type": "string" }, "name": { - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nRequests using `-` as a wildcard for the `PROJECT_ID` will infer the\nproject from the `account` and the `ACCOUNT` value can be the `email`\naddress or the `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.", + "description": "The resource name of the service account.\n\nUse one of the following formats:\n\n* `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`\n\nAs an alternative, you can use the `-` wildcard character instead of the\nproject ID:\n\n* `projects/-/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/-/serviceAccounts/{UNIQUE_ID}`\n\nWhen possible, avoid using the `-` wildcard character, because it can cause\nresponse messages to contain misleading error codes. For example, if you\ntry to get the service account\n`projects/-/serviceAccounts/fake@example.com`, which does not exist, the\nresponse contains an HTTP `403 Forbidden` error instead of a `404 Not\nFound` error.", "type": "string" }, "oauth2ClientId": { - "description": "@OutputOnly The OAuth2 client id for the service account.\nThis is used in conjunction with the OAuth2 clientconfig API to make\nthree legged OAuth2 (3LO) flows to access the data of Google users.", + "description": "Output only. The OAuth 2.0 client ID for the service account.", "type": "string" }, "projectId": { - "description": "@OutputOnly The id of the project that owns the service account.", + "description": "Output only. The ID of the project that owns the service account.", "type": "string" }, "uniqueId": { - "description": "@OutputOnly The unique and stable id of the service account.", + "description": "Output only. The unique, stable numeric ID for the service account.\n\nEach service account retains its unique ID even if you delete the service\naccount. For example, if you delete a service account, then create a new\nservice account with the same name, the new service account has a different\nunique ID than the deleted service account.", "type": "string" } }, @@ -2055,7 +2055,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -2095,7 +2095,7 @@ "id": "SignJwtRequest", "properties": { "payload": { - "description": "Required. The JWT payload to sign, a JSON JWT Claim set.", + "description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a\nJWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}`\n\nIf the JWT Claims Set contains an expiration time (`exp`) claim, it must be\nan integer timestamp that is not in the past and no more than 1 hour in the\nfuture.\n\nIf the JWT Claims Set does not contain an expiration time (`exp`) claim,\nthis claim is added automatically, with a timestamp that is 1 hour in the\nfuture.", "type": "string" } }, diff --git a/etc/api/iamcredentials/v1/iamcredentials-api.json b/etc/api/iamcredentials/v1/iamcredentials-api.json index 00e0b12c92..09a64f7415 100644 --- a/etc/api/iamcredentials/v1/iamcredentials-api.json +++ b/etc/api/iamcredentials/v1/iamcredentials-api.json @@ -12,7 +12,7 @@ "baseUrl": "https://iamcredentials.googleapis.com/", "batchPath": "batch", "canonicalName": "IAM Credentials", - "description": "Creates short-lived, limited-privilege credentials for IAM service accounts.", + "description": "Creates short-lived credentials for impersonating IAM service accounts.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials", "fullyEncodeReservedExpansion": true, @@ -226,7 +226,7 @@ } } }, - "revision": "20200327", + "revision": "20200703", "rootUrl": "https://iamcredentials.googleapis.com/", "schemas": { "GenerateAccessTokenRequest": { @@ -322,11 +322,11 @@ "id": "SignBlobResponse", "properties": { "keyId": { - "description": "The ID of the key used to sign the blob.", + "description": "The ID of the key used to sign the blob. The key used for signing will\nremain valid for at least 12 hours after the blob is signed. To verify the\nsignature, you can retrieve the public key in several formats from the\nfollowing endpoints:\n\n- RSA public key wrapped in an X.509 v3 certificate:\n`https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}`\n- Raw key in JSON format:\n`https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}`\n- JSON Web Key (JWK):\n`https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`", "type": "string" }, "signedBlob": { - "description": "The signed blob.", + "description": "The signature for the blob. Does not include the original blob.\n\nAfter the key pair referenced by the `key_id` response field expires,\nGoogle no longer exposes the public key that can be used to verify the\nblob. As a result, the receiver can no longer verify the signature.", "format": "byte", "type": "string" } @@ -344,7 +344,7 @@ "type": "array" }, "payload": { - "description": "Required. The JWT payload to sign: a JSON object that contains a JWT Claims Set.", + "description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a\nJWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}`\n\nIf the JWT Claims Set contains an expiration time (`exp`) claim, it must be\nan integer timestamp that is not in the past and no more than 12 hours in\nthe future.", "type": "string" } }, @@ -354,11 +354,11 @@ "id": "SignJwtResponse", "properties": { "keyId": { - "description": "The ID of the key used to sign the JWT.", + "description": "The ID of the key used to sign the JWT. The key used for signing will\nremain valid for at least 12 hours after the JWT is signed. To verify the\nsignature, you can retrieve the public key in several formats from the\nfollowing endpoints:\n\n- RSA public key wrapped in an X.509 v3 certificate:\n`https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}`\n- Raw key in JSON format:\n`https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}`\n- JSON Web Key (JWK):\n`https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`", "type": "string" }, "signedJwt": { - "description": "The signed JWT.", + "description": "The signed JWT. Contains the automatically generated header; the\nclient-supplied payload; and the signature, which is generated using the\nkey referenced by the `kid` field in the header.\n\nAfter the key pair referenced by the `key_id` response field expires,\nGoogle no longer exposes the public key that can be used to verify the JWT.\nAs a result, the receiver can no longer verify the signature.", "type": "string" } }, diff --git a/etc/api/iap/v1/iap-api.json b/etc/api/iap/v1/iap-api.json index 3240e8af71..ce52c2d4bb 100644 --- a/etc/api/iap/v1/iap-api.json +++ b/etc/api/iap/v1/iap-api.json @@ -201,7 +201,7 @@ ], "parameters": { "parent": { - "description": "Required. Path to create the client in.\nIn the following format:\nprojects/{project_number/id}/brands/{brand}.\nThe project must belong to a GSuite account.", + "description": "Required. Path to create the client in.\nIn the following format:\nprojects/{project_number/id}/brands/{brand}.\nThe project must belong to a G Suite account.", "location": "path", "pattern": "^projects/[^/]+/brands/[^/]+$", "required": true, @@ -487,7 +487,7 @@ } } }, - "revision": "20200406", + "revision": "20200629", "rootUrl": "https://iap.googleapis.com/", "schemas": { "AccessDeniedPageSettings": { @@ -532,6 +532,10 @@ "$ref": "AccessDeniedPageSettings", "description": "Customization for Access Denied page." }, + "cookieDomain": { + "description": "The Domain value to set for cookies generated by IAP. This value is not\nvalidated by the API, but will be ignored at runtime if invalid.", + "type": "string" + }, "csmSettings": { "$ref": "CsmSettings", "description": "Settings to configure IAP's behavior for a CSM mesh." @@ -545,7 +549,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -574,7 +578,7 @@ "type": "string" }, "orgInternalOnly": { - "description": "Output only. Whether the brand is only intended for usage inside the\nGSuite organization only.", + "description": "Output only. Whether the brand is only intended for usage inside the\nG Suite organization only.", "type": "boolean" }, "supportEmail": { @@ -659,7 +663,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -669,7 +673,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -762,7 +766,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -778,7 +782,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -815,7 +819,7 @@ "type": "string" }, "region": { - "description": "For Cloud IAM:\nThe location of the Policy.\nMust be empty or \"global\" for Policies owned by global IAM. Must name a\nregion from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see\nhttp://go/iam-faq#where-is-iam-currently-deployed.\n\nFor Local IAM:\nThis field should be set to \"local\".", + "description": "For Cloud IAM:\nThe location of the Policy.\nMust be empty or \"global\" for Policies owned by global IAM. Must name a\nregion from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see\ngo/iam-faq#where-is-iam-currently-deployed.\n\nFor Local IAM:\nThis field should be set to \"local\".", "type": "string" }, "type": { diff --git a/etc/api/iap/v1beta1/iap-api.json b/etc/api/iap/v1beta1/iap-api.json index a7a01a3691..21fea5b4f6 100644 --- a/etc/api/iap/v1beta1/iap-api.json +++ b/etc/api/iap/v1beta1/iap-api.json @@ -194,7 +194,7 @@ } } }, - "revision": "20200406", + "revision": "20200629", "rootUrl": "https://iap.googleapis.com/", "schemas": { "Binding": { @@ -203,7 +203,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -248,7 +248,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -258,7 +258,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -266,7 +266,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -282,7 +282,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/indexing/v3/indexing-api.json b/etc/api/indexing/v3/indexing-api.json index 359c0b93a8..8dec1875f7 100644 --- a/etc/api/indexing/v3/indexing-api.json +++ b/etc/api/indexing/v3/indexing-api.json @@ -149,7 +149,7 @@ } } }, - "revision": "20200402", + "revision": "20200625", "rootUrl": "https://indexing.googleapis.com/", "schemas": { "PublishUrlNotificationResponse": { diff --git a/etc/api/jobs/v2/jobs-api.json b/etc/api/jobs/v2/jobs-api.json index 08f0e337c2..d4862c3250 100644 --- a/etc/api/jobs/v2/jobs-api.json +++ b/etc/api/jobs/v2/jobs-api.json @@ -615,7 +615,7 @@ } } }, - "revision": "20200409", + "revision": "20200604", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "BatchDeleteJobsRequest": { diff --git a/etc/api/jobs/v3/jobs-api.json b/etc/api/jobs/v3/jobs-api.json index 3e9a7ead03..d3fa10b2e8 100644 --- a/etc/api/jobs/v3/jobs-api.json +++ b/etc/api/jobs/v3/jobs-api.json @@ -633,7 +633,7 @@ } } }, - "revision": "20200409", + "revision": "20200604", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -1213,7 +1213,7 @@ "id": "CustomAttribute", "properties": { "filterable": { - "description": "Optional. If the `filterable` flag is true, custom field values are searchable.\nIf false, values are not searchable.\n\nDefault is false.", + "description": "Optional. If the `filterable` flag is true, the custom field values may be used for\ncustom attribute filters JobQuery.custom_attribute_filter.\nIf false, these values may not be used for custom attribute filters.\n\nDefault is false.", "type": "boolean" }, "longValues": { diff --git a/etc/api/jobs/v3p1beta1/jobs-api.json b/etc/api/jobs/v3p1beta1/jobs-api.json index ce2d94fe57..19002de8ce 100644 --- a/etc/api/jobs/v3p1beta1/jobs-api.json +++ b/etc/api/jobs/v3p1beta1/jobs-api.json @@ -663,7 +663,7 @@ } } }, - "revision": "20200409", + "revision": "20200604", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -1247,7 +1247,7 @@ "id": "CustomAttribute", "properties": { "filterable": { - "description": "Optional. If the `filterable` flag is true, custom field values are searchable.\nIf false, values are not searchable.\n\nDefault is false.", + "description": "Optional. If the `filterable` flag is true, the custom field values may be used for\ncustom attribute filters JobQuery.custom_attribute_filter.\nIf false, these values may not be used for custom attribute filters.\n\nDefault is false.", "type": "boolean" }, "longValues": { diff --git a/etc/api/kgsearch/v1/kgsearch-api.json b/etc/api/kgsearch/v1/kgsearch-api.json index a1b228cce3..451f329f3f 100644 --- a/etc/api/kgsearch/v1/kgsearch-api.json +++ b/etc/api/kgsearch/v1/kgsearch-api.json @@ -151,7 +151,7 @@ } } }, - "revision": "20200405", + "revision": "20200516", "rootUrl": "https://kgsearch.googleapis.com/", "schemas": { "SearchResponse": { diff --git a/etc/api/language/v1/language-api.json b/etc/api/language/v1/language-api.json index ba47aa1bfa..21c48c1660 100644 --- a/etc/api/language/v1/language-api.json +++ b/etc/api/language/v1/language-api.json @@ -227,7 +227,7 @@ } } }, - "revision": "20200406", + "revision": "20200619", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { diff --git a/etc/api/language/v1beta1/language-api.json b/etc/api/language/v1beta1/language-api.json index 0c51c1a612..faaa59f242 100644 --- a/etc/api/language/v1beta1/language-api.json +++ b/etc/api/language/v1beta1/language-api.json @@ -189,7 +189,7 @@ } } }, - "revision": "20200406", + "revision": "20200619", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { diff --git a/etc/api/language/v1beta2/language-api.json b/etc/api/language/v1beta2/language-api.json index 6894e6b138..566c521cbc 100644 --- a/etc/api/language/v1beta2/language-api.json +++ b/etc/api/language/v1beta2/language-api.json @@ -227,7 +227,7 @@ } } }, - "revision": "20200406", + "revision": "20200619", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { diff --git a/etc/api/libraryagent/v1/libraryagent-api.json b/etc/api/libraryagent/v1/libraryagent-api.json index 432623c3c4..d07f13f9b1 100644 --- a/etc/api/libraryagent/v1/libraryagent-api.json +++ b/etc/api/libraryagent/v1/libraryagent-api.json @@ -279,7 +279,7 @@ } } }, - "revision": "20200409", + "revision": "20200708", "rootUrl": "https://libraryagent.googleapis.com/", "schemas": { "GoogleExampleLibraryagentV1Book": { diff --git a/etc/api/licensing/v1/licensing-api.json b/etc/api/licensing/v1/licensing-api.json deleted file mode 100644 index 1365635cdb..0000000000 --- a/etc/api/licensing/v1/licensing-api.json +++ /dev/null @@ -1,465 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/apps.licensing": { - "description": "View and manage G Suite licenses for your domain" - } - } - } - }, - "basePath": "/apps/licensing/v1/product/", - "baseUrl": "https://www.googleapis.com/apps/licensing/v1/product/", - "batchPath": "batch/licensing/v1", - "description": "Licensing API to view and manage licenses for your domain", - "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/admin-sdk/licensing/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/V3n4vxCP3J8VvoP6bHur312Efdk\"", - "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" - }, - "id": "licensing:v1", - "kind": "discovery#restDescription", - "name": "licensing", - "ownerDomain": "google.com", - "ownerName": "Google", - "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", - "enum": [ - "json" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json" - ], - "location": "query", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "location": "query", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", - "location": "query", - "type": "string" - } - }, - "protocol": "rest", - "resources": { - "licenseAssignments": { - "methods": { - "delete": { - "description": "Revoke a license.", - "httpMethod": "DELETE", - "id": "licensing.licenseAssignments.delete", - "parameterOrder": [ - "productId", - "skuId", - "userId" - ], - "parameters": { - "productId": { - "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "skuId": { - "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "userId": { - "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests.\nSince a userId is subject to change, do not use a userId value as a key for persistent data. This key could break if the current user's email address changes.\nIf the userId is suspended, the license status changes.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{productId}/sku/{skuId}/user/{userId}", - "scopes": [ - "https://www.googleapis.com/auth/apps.licensing" - ] - }, - "get": { - "description": "Get a specific user's license by product SKU.", - "httpMethod": "GET", - "id": "licensing.licenseAssignments.get", - "parameterOrder": [ - "productId", - "skuId", - "userId" - ], - "parameters": { - "productId": { - "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "skuId": { - "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "userId": { - "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests.\nSince a userId is subject to change, do not use a userId value as a key for persistent data. This key could break if the current user's email address changes.\nIf the userId is suspended, the license status changes.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{productId}/sku/{skuId}/user/{userId}", - "response": { - "$ref": "LicenseAssignment" - }, - "scopes": [ - "https://www.googleapis.com/auth/apps.licensing" - ] - }, - "insert": { - "description": "Assign a license.", - "httpMethod": "POST", - "id": "licensing.licenseAssignments.insert", - "parameterOrder": [ - "productId", - "skuId" - ], - "parameters": { - "productId": { - "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "skuId": { - "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{productId}/sku/{skuId}/user", - "request": { - "$ref": "LicenseAssignmentInsert" - }, - "response": { - "$ref": "LicenseAssignment" - }, - "scopes": [ - "https://www.googleapis.com/auth/apps.licensing" - ] - }, - "listForProduct": { - "description": "List all users assigned licenses for a specific product SKU.", - "httpMethod": "GET", - "id": "licensing.licenseAssignments.listForProduct", - "parameterOrder": [ - "productId", - "customerId" - ], - "parameters": { - "customerId": { - "description": "Customer's customerId. A previous version of this API accepted the primary domain name as a value for this field.\nIf the customer is suspended, the server returns an error.", - "location": "query", - "required": true, - "type": "string" - }, - "maxResults": { - "default": "100", - "description": "The maxResults query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.", - "format": "uint32", - "location": "query", - "maximum": "1000", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "default": "", - "description": "Token to fetch the next page of data. The maxResults query string is related to the pageToken since maxResults determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.", - "location": "query", - "type": "string" - }, - "productId": { - "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{productId}/users", - "response": { - "$ref": "LicenseAssignmentList" - }, - "scopes": [ - "https://www.googleapis.com/auth/apps.licensing" - ] - }, - "listForProductAndSku": { - "description": "List all users assigned licenses for a specific product SKU.", - "httpMethod": "GET", - "id": "licensing.licenseAssignments.listForProductAndSku", - "parameterOrder": [ - "productId", - "skuId", - "customerId" - ], - "parameters": { - "customerId": { - "description": "Customer's customerId. A previous version of this API accepted the primary domain name as a value for this field.\nIf the customer is suspended, the server returns an error.", - "location": "query", - "required": true, - "type": "string" - }, - "maxResults": { - "default": "100", - "description": "The maxResults query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.", - "format": "uint32", - "location": "query", - "maximum": "1000", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "default": "", - "description": "Token to fetch the next page of data. The maxResults query string is related to the pageToken since maxResults determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.", - "location": "query", - "type": "string" - }, - "productId": { - "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "skuId": { - "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{productId}/sku/{skuId}/users", - "response": { - "$ref": "LicenseAssignmentList" - }, - "scopes": [ - "https://www.googleapis.com/auth/apps.licensing" - ] - }, - "patch": { - "description": "Reassign a user's product SKU with a different SKU in the same product. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "licensing.licenseAssignments.patch", - "parameterOrder": [ - "productId", - "skuId", - "userId" - ], - "parameters": { - "productId": { - "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "skuId": { - "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "userId": { - "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests.\nSince a userId is subject to change, do not use a userId value as a key for persistent data. This key could break if the current user's email address changes.\nIf the userId is suspended, the license status changes.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{productId}/sku/{skuId}/user/{userId}", - "request": { - "$ref": "LicenseAssignment" - }, - "response": { - "$ref": "LicenseAssignment" - }, - "scopes": [ - "https://www.googleapis.com/auth/apps.licensing" - ] - }, - "update": { - "description": "Reassign a user's product SKU with a different SKU in the same product.", - "httpMethod": "PUT", - "id": "licensing.licenseAssignments.update", - "parameterOrder": [ - "productId", - "skuId", - "userId" - ], - "parameters": { - "productId": { - "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "skuId": { - "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", - "location": "path", - "required": true, - "type": "string" - }, - "userId": { - "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests.\nSince a userId is subject to change, do not use a userId value as a key for persistent data. This key could break if the current user's email address changes.\nIf the userId is suspended, the license status changes.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{productId}/sku/{skuId}/user/{userId}", - "request": { - "$ref": "LicenseAssignment" - }, - "response": { - "$ref": "LicenseAssignment" - }, - "scopes": [ - "https://www.googleapis.com/auth/apps.licensing" - ] - } - } - } - }, - "revision": "20190916", - "rootUrl": "https://www.googleapis.com/", - "schemas": { - "LicenseAssignment": { - "description": "Representation of a license assignment.", - "id": "LicenseAssignment", - "properties": { - "etags": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "licensing#licenseAssignment", - "description": "Identifies the resource as a LicenseAssignment.", - "type": "string" - }, - "productId": { - "annotations": { - "required": [ - "licensing.licenseAssignments.update" - ] - }, - "description": "A product's unique identifier. For more information about products in this version of the API, see Product and SKU IDs.", - "type": "string" - }, - "productName": { - "description": "Display Name of the product.", - "type": "string" - }, - "selfLink": { - "description": "Link to this page.", - "type": "string" - }, - "skuId": { - "annotations": { - "required": [ - "licensing.licenseAssignments.update" - ] - }, - "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", - "type": "string" - }, - "skuName": { - "description": "Display Name of the sku of the product.", - "type": "string" - }, - "userId": { - "annotations": { - "required": [ - "licensing.licenseAssignments.update" - ] - }, - "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a userId is subject to change, do not use a userId value as a key for persistent data. This key could break if the current user's email address changes. If the userId is suspended, the license status changes.", - "type": "string" - } - }, - "type": "object" - }, - "LicenseAssignmentInsert": { - "description": "Representation of a license assignment.", - "id": "LicenseAssignmentInsert", - "properties": { - "userId": { - "annotations": { - "required": [ - "licensing.licenseAssignments.insert" - ] - }, - "description": "Email id of the user", - "type": "string" - } - }, - "type": "object" - }, - "LicenseAssignmentList": { - "description": "LicesnseAssignment List for a given product/sku for a customer.", - "id": "LicenseAssignmentList", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "The LicenseAssignments in this page of results.", - "items": { - "$ref": "LicenseAssignment" - }, - "type": "array" - }, - "kind": { - "default": "licensing#licenseAssignmentList", - "description": "Identifies the resource as a collection of LicenseAssignments.", - "type": "string" - }, - "nextPageToken": { - "description": "The token that you must submit in a subsequent request to retrieve additional license results matching your query parameters. The maxResults query string is related to the nextPageToken since maxResults determines how many entries are returned on each next page.", - "type": "string" - } - }, - "type": "object" - } - }, - "servicePath": "apps/licensing/v1/product/", - "title": "Licensing API", - "version": "v1" -} \ No newline at end of file diff --git a/etc/api/lifesciences/v2beta/lifesciences-api.json b/etc/api/lifesciences/v2beta/lifesciences-api.json index 7bde5c05be..4ab21ae086 100644 --- a/etc/api/lifesciences/v2beta/lifesciences-api.json +++ b/etc/api/lifesciences/v2beta/lifesciences-api.json @@ -312,7 +312,7 @@ } } }, - "revision": "20200329", + "revision": "20200625", "rootUrl": "https://lifesciences.googleapis.com/", "schemas": { "Accelerator": { @@ -1039,6 +1039,13 @@ }, "type": "array" }, + "dockerCacheImages": { + "description": "The Compute Engine Disk Images to use as a Docker cache. The disks will be\nmounted into the Docker folder in a way that the images present in the\ncache will not need to be pulled. The digests of the cached images must\nmatch those of the tags used or the latest version will still be pulled.\nOnly a single image is supported.", + "items": { + "type": "string" + }, + "type": "array" + }, "enableStackdriverMonitoring": { "description": "Whether Stackdriver monitoring should be enabled on the VM.", "type": "boolean" diff --git a/etc/api/logging/v2/logging-api.json b/etc/api/logging/v2/logging-api.json index 847238dca7..b14c103325 100644 --- a/etc/api/logging/v2/logging-api.json +++ b/etc/api/logging/v2/logging-api.json @@ -679,7 +679,7 @@ "entries": { "methods": { "list": { - "description": "Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs.", + "description": "Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs (https://cloud.google.com/logging/docs/export).", "flatPath": "v2/entries:list", "httpMethod": "POST", "id": "logging.entries.list", @@ -1653,7 +1653,7 @@ "organizations": { "methods": { "getCmekSettings": { - "description": "Gets the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router for more information.", + "description": "Gets the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/organizations/{organizationsId}/cmekSettings", "httpMethod": "GET", "id": "logging.organizations.getCmekSettings", @@ -1681,7 +1681,7 @@ ] }, "updateCmekSettings": { - "description": "Updates the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Logs Router for more information.", + "description": "Updates the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/organizations/{organizationsId}/cmekSettings", "httpMethod": "PATCH", "id": "logging.organizations.updateCmekSettings", @@ -3157,7 +3157,7 @@ "v2": { "methods": { "getCmekSettings": { - "description": "Gets the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router for more information.", + "description": "Gets the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", "httpMethod": "GET", "id": "logging.getCmekSettings", @@ -3185,7 +3185,7 @@ ] }, "updateCmekSettings": { - "description": "Updates the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Logs Router for more information.", + "description": "Updates the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", "httpMethod": "PATCH", "id": "logging.updateCmekSettings", @@ -3222,7 +3222,7 @@ } } }, - "revision": "20200407", + "revision": "20200624", "rootUrl": "https://logging.googleapis.com/", "schemas": { "BigQueryOptions": { @@ -3230,7 +3230,7 @@ "id": "BigQueryOptions", "properties": { "usePartitionedTables": { - "description": "Optional. Whether to use BigQuery's partition tables. By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone.", + "description": "Optional. Whether to use BigQuery's partition tables (https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.", "type": "boolean" }, "usesTimestampColumnPartitioning": { @@ -3260,11 +3260,11 @@ "type": "object" }, "CmekSettings": { - "description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router for more information.", + "description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "id": "CmekSettings", "properties": { "kmsKeyName": { - "description": "The resource name for the configured Cloud KMS key.KMS key name format: \"projects/PROJECT_ID/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY\"For example: \"projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name\"To enable CMEK for the Logs Router, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Logs Router, set this field to an empty string.See Enabling CMEK for Logs Router for more information.", + "description": "The resource name for the configured Cloud KMS key.KMS key name format: \"projects/PROJECT_ID/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY\"For example: \"projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name\"To enable CMEK for the Logs Router, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Logs Router, set this field to an empty string.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "type": "string" }, "name": { @@ -3272,7 +3272,7 @@ "type": "string" }, "serviceAccountId": { - "description": "Output only. The service account that will be used by the Logs Router to access your Cloud KMS key.Before enabling CMEK for Logs Router, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that the Logs Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router for more information.", + "description": "Output only. The service account that will be used by the Logs Router to access your Cloud KMS key.Before enabling CMEK for Logs Router, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that the Logs Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "type": "string" } }, @@ -3485,7 +3485,7 @@ "id": "ListLogEntriesRequest", "properties": { "filter": { - "description": "Optional. A filter that chooses which log entries to return. See Advanced Logs Queries. Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of the filter is 20000 characters.", + "description": "Optional. A filter that chooses which log entries to return. See Advanced Logs Queries (https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of the filter is 20000 characters.", "type": "string" }, "orderBy": { @@ -3493,7 +3493,7 @@ "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of next_page_token in the response indicates that more results might be available.", + "description": "Optional. The maximum number of results to return from this request. Default is 50. If the value is negative or exceeds 1000, the request is rejected. The presence of next_page_token in the response indicates that more results might be available.", "format": "int32", "type": "integer" }, @@ -3685,7 +3685,7 @@ }, "metadata": { "$ref": "MonitoredResourceMetadata", - "description": "Output only. Deprecated. Additional metadata about the monitored resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod labels that used to be in metadata.userLabels will now be present in the labels field with a key prefix of k8s-pod/. The Stackdriver system labels that were present in the metadata.systemLabels field will no longer be available in the LogEntry." + "description": "Output only. Deprecated. Additional metadata about the monitored resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod labels that used to be in metadata.userLabels will now be present in the labels field with a key prefix of k8s-pod/. The system labels that were present in the metadata.systemLabels field will no longer be available in the LogEntry." }, "operation": { "$ref": "LogEntryOperation", @@ -3747,7 +3747,7 @@ "type": "string" }, "timestamp": { - "description": "Optional. The time the event described by the log entry occurred. This time is used to compute the log entry's age and to enforce the logs retention period. If this field is omitted in a new log entry, then Logging assigns it the current time. Timestamps have nanosecond accuracy, but trailing zeros in the fractional seconds might be omitted when the timestamp is displayed.Incoming log entries must have timestamps that don't exceed the logs retention period in the past, and that don't exceed 24 hours in the future. Log entries outside those time boundaries aren't ingested by Logging.", + "description": "Optional. The time the event described by the log entry occurred. This time is used to compute the log entry's age and to enforce the logs retention period. If this field is omitted in a new log entry, then Logging assigns it the current time. Timestamps have nanosecond accuracy, but trailing zeros in the fractional seconds might be omitted when the timestamp is displayed.Incoming log entries must have timestamps that don't exceed the logs retention period (https://cloud.google.com/logging/quotas#logs_retention_periods) in the past, and that don't exceed 24 hours in the future. Log entries outside those time boundaries aren't ingested by Logging.", "format": "google-datetime", "type": "string" }, @@ -3823,7 +3823,7 @@ "type": "boolean" }, "filter": { - "description": "Required. An advanced logs filter that matches the log entries to be excluded. By using the sample function, you can exclude less than 100% of the matching log entries. For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:\"resource.type=gcs_bucket severity=ERROR\"\nThe maximum length of the filter is 20000 characters.", + "description": "Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example:\n\"resource.type=gae_app AND severity>=ERROR\"\nThe maximum length of the filter is 20000 characters.", "type": "string" }, "labelExtractors": { @@ -3962,7 +3962,7 @@ "type": "string" }, "destination": { - "description": "Required. The export destination:\n\"storage.googleapis.com/[GCS_BUCKET]\"\n\"bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]\"\n\"pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]\"\nThe sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs with Sinks.", + "description": "Required. The export destination:\n\"storage.googleapis.com/[GCS_BUCKET]\"\n\"bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]\"\n\"pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]\"\nThe sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs with Sinks (https://cloud.google.com/logging/docs/api/tasks/exporting-logs).", "type": "string" }, "disabled": { @@ -3970,7 +3970,7 @@ "type": "boolean" }, "filter": { - "description": "Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. For example:\nlogName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERROR\n", + "description": "Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter. For example:\nlogName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERROR\n", "type": "string" }, "includeChildren": { @@ -3982,7 +3982,7 @@ "type": "string" }, "outputVersionFormat": { - "description": "Deprecated. The log entry format to use for this sink's exported log entries. The v2 format is used by default and cannot be changed.", + "description": "Deprecated. This field is unused.", "enum": [ "VERSION_FORMAT_UNSPECIFIED", "V2", @@ -4001,14 +4001,14 @@ "type": "string" }, "writerIdentity": { - "description": "Output only. An IAM identity—a service account or group—under which Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.", + "description": "Output only. An IAM identity—a service account or group—under which Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.", "type": "string" } }, "type": "object" }, "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.", + "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.The following are specific rules for service defined Monitoring metric descriptors:\ntype, metric_kind, value_type, description, display_name, launch_stage fields are all required. The unit field must be specified if the value_type is any of DOUBLE, INT64, DISTRIBUTION.\nMaximum of default 500 metric descriptors per service is allowed.\nMaximum of default 10 labels per metric descriptor is allowed.The default maximum limit can be overridden. Please follow https://cloud.google.com/monitoring/quotas", "id": "MetricDescriptor", "properties": { "description": { @@ -4020,7 +4020,7 @@ "type": "string" }, "labels": { - "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", + "description": "The set of labels that can be used to describe a specific instance of this metric type.The label key name must follow:\nOnly upper and lower-case letters, digits and underscores (_) are allowed.\nLabel name must start with a letter or digit.\nThe maximum length of a label name is 100 characters.For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", "items": { "$ref": "LabelDescriptor" }, @@ -4082,11 +4082,11 @@ "type": "string" }, "type": { - "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"external.googleapis.com/prometheus/up\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n", + "description": "The metric type, including its DNS name prefix. The type is not URL-encoded.All service defined metrics must be prefixed with the service name, in the format of {service name}/{relative metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. The relative metric name must follow:\nOnly upper and lower-case letters, digits, '/' and underscores '_' are allowed.\nThe maximum number of characters allowed for the relative_metric_name is 100.All user-defined metric types have the DNS name custom.googleapis.com, external.googleapis.com, or logging.googleapis.com/user/.Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"external.googleapis.com/prometheus/up\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n", "type": "string" }, "unit": { - "description": "The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.Different systems may scale the values to be more easily displayed (so a value of 0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as 3.5MBy). However, if the unit is KBy, then the value of the metric is always in thousands of bytes, no matter how it may be displayed..If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as 12005.Alternatively, if you want a custom metric to record data in a more granular way, you can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd dayPrefixes (PREFIX)\nk kilo (10^3)\nM mega (10^6)\nG giga (10^9)\nT tera (10^12)\nP peta (10^15)\nE exa (10^18)\nZ zetta (10^21)\nY yotta (10^24)\nm milli (10^-3)\nu micro (10^-6)\nn nano (10^-9)\np pico (10^-12)\nf femto (10^-15)\na atto (10^-18)\nz zepto (10^-21)\ny yocto (10^-24)\nKi kibi (2^10)\nMi mebi (2^20)\nGi gibi (2^30)\nTi tebi (2^40)\nPi pebi (2^50)GrammarThe grammar also includes these connectors:\n/ division or ratio (as an infix operator). For examples, kBy/{email} or MiBy/10ms (although you should almost never have /s in a metric unit; rates should always be computed at query time from the underlying cumulative or delta value).\n. multiplication or composition (as an infix operator). For examples, GBy.d or k{watt}.h.The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT. If the annotation is used alone, then the unit is equivalent to 1. For examples, {request}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not containing { or }.\n1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as 1/d or {new-users}/d (and a metric value 5 would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as 1000/d or k1/d or k{page_views}/d (and a metric value of 5.3 would mean \"5300 page views per day\").\n% represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value 3 means \"3 percent\").\n10^2.% indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value 0.03 means \"3 percent\").", + "description": "The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.Different systems may scale the values to be more easily displayed (so a value of 0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as 3.5MBy). However, if the unit is KBy, then the value of the metric is always in thousands of bytes, no matter how it may be displayed..If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as 12005.Alternatively, if you want a custom metric to record data in a more granular way, you can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd day\n1 dimensionlessPrefixes (PREFIX)\nk kilo (10^3)\nM mega (10^6)\nG giga (10^9)\nT tera (10^12)\nP peta (10^15)\nE exa (10^18)\nZ zetta (10^21)\nY yotta (10^24)\nm milli (10^-3)\nu micro (10^-6)\nn nano (10^-9)\np pico (10^-12)\nf femto (10^-15)\na atto (10^-18)\nz zepto (10^-21)\ny yocto (10^-24)\nKi kibi (2^10)\nMi mebi (2^20)\nGi gibi (2^30)\nTi tebi (2^40)\nPi pebi (2^50)GrammarThe grammar also includes these connectors:\n/ division or ratio (as an infix operator). For examples, kBy/{email} or MiBy/10ms (although you should almost never have /s in a metric unit; rates should always be computed at query time from the underlying cumulative or delta value).\n. multiplication or composition (as an infix operator). For examples, GBy.d or k{watt}.h.The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT. If the annotation is used alone, then the unit is equivalent to 1. For examples, {request}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not containing { or }.\n1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as 1/d or {new-users}/d (and a metric value 5 would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as 1000/d or k1/d or k{page_views}/d (and a metric value of 5.3 would mean \"5300 page views per day\").\n% represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value 3 means \"3 percent\").\n10^2.% indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value 0.03 means \"3 percent\").", "type": "string" }, "valueType": { @@ -4174,7 +4174,7 @@ "type": "object" }, "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.", + "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different services can support different monitored resource types.The following are specific rules to service defined monitored resources for Monitoring and Logging:\nThe type, display_name, description, labels and launch_stage fields are all required.\nThe first label of the monitored resource descriptor must be resource_container. There are legacy monitored resource descritptors start with project_id.\nIt must include a location label.\nMaximum of default 5 service defined monitored resource descriptors is allowed per service.\nMaximum of default 10 labels per monitored resource is allowed.The default maximum limit can be overridden. Please follow https://cloud.google.com/monitoring/quotas", "id": "MonitoredResourceDescriptor", "properties": { "description": { @@ -4186,7 +4186,7 @@ "type": "string" }, "labels": { - "description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".", + "description": "Required. A set of labels used to describe instances of this monitored resource type. The label key name must follow:\nOnly upper and lower-case letters, digits and underscores (_) are allowed.\nLabel name must start with a letter or digit.\nThe maximum length of a label name is 100 characters.For example, an individual Google Cloud SQL database is identified by values for the labels database_id and location.", "items": { "$ref": "LabelDescriptor" }, @@ -4221,7 +4221,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.", + "description": "Required. The monitored resource type. For example, the type cloudsql_database represents databases in Google Cloud SQL.All service defined monitored resource types must be prefixed with the service name, in the format of {service name}/{relative resource name}. The relative resource name must follow:\nOnly upper and lower-case letters and digits are allowed.\nIt must start with upper case character and is recommended to use Upper Camel Case style.\nThe maximum number of characters allowed for the relative_resource_name is 100.Note there are legacy service monitored resources not following this rule.", "type": "string" } }, @@ -4447,7 +4447,7 @@ "type": "boolean" }, "entries": { - "description": "Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's log_name, resource, and labels fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the LogEntry type.If the timestamp or insert_id fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the entries.list method.Log entries with timestamps that are more than the logs retention period in the past or more than 24 hours in the future will not be available when calling entries.list. However, those log entries can still be exported with LogSinks.To improve throughput and to avoid exceeding the quota limit for calls to entries.write, you should try to include several log entries in this list, rather than calling this method for each individual log entry.", + "description": "Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's log_name, resource, and labels fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the LogEntry type.If the timestamp or insert_id fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the entries.list method.Log entries with timestamps that are more than the logs retention period (https://cloud.google.com/logging/quota-policy) in the past or more than 24 hours in the future will not be available when calling entries.list. However, those log entries can still be exported with LogSinks (https://cloud.google.com/logging/docs/api/tasks/exporting-logs).To improve throughput and to avoid exceeding the quota limit (https://cloud.google.com/logging/quota-policy) for calls to entries.write, you should try to include several log entries in this list, rather than calling this method for each individual log entry.", "items": { "$ref": "LogEntry" }, diff --git a/etc/api/managedidentities/v1/managedidentities-api.json b/etc/api/managedidentities/v1/managedidentities-api.json new file mode 100644 index 0000000000..f30044006e --- /dev/null +++ b/etc/api/managedidentities/v1/managedidentities-api.json @@ -0,0 +1,1630 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://managedidentities.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Managed Service for Microsoft Active Directory Consumer API", + "description": "The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/managed-microsoft-ad/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "managedidentities:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://managedidentities.mtls.googleapis.com/", + "name": "managedidentities", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "includeUnrevealedLocations": { + "description": "If true, the returned list will include locations which are not yet\nrevealed.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "global": { + "resources": { + "domains": { + "methods": { + "attachTrust": { + "description": "Adds an AD trust to a domain.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:attachTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.attachTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource domain name, project name and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:attachTrust", + "request": { + "$ref": "AttachTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a Microsoft AD domain.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "domainName": { + "description": "Required. The fully qualified domain name.\ne.g. mydomain.myorganization.com, with the following restrictions:\n\n * Must contain only lowercase letters, numbers, periods and hyphens.\n * Must start with a letter.\n * Must contain between 2-64 characters.\n * Must end with a number or a letter.\n * Must not start with period.\n * First segement length (mydomain form example above) shouldn't exceed\n 15 chars.\n * The last segment cannot be fully numeric.\n * Must be unique within the customer project.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource project name and location using the form:\n`projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/domains", + "request": { + "$ref": "Domain" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a domain.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.domains.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "detachTrust": { + "description": "Removes an AD trust.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:detachTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.detachTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource domain name, project name, and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:detachTrust", + "request": { + "$ref": "DetachTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a domain.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Domain" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:getIamPolicy", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists domains in a project.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter specifying constraints of a list operation.\nFor example, `Domain.fqdn=\"mydomain.myorginization\"`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results. See\n[Sorting\norder](https://cloud.google.com/apis/design/design_patterns#sorting_order)\nfor more information.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.\nIf not specified, a default value of 1000 will be used.\nRegardless of the page_size value, the response may include a partial list.\nCallers should rely on a response's\nnext_page_token\nto determine if there are additional results to list.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` value returned from a previous ListDomainsRequest\nrequest, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the domain location using the form:\n`projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/domains", + "response": { + "$ref": "ListDomainsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the metadata and configuration of a domain.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The unique name of the domain using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this\nfield. The elements of the repeated paths field may only include\nfields from Domain:\n * `labels`\n * `locations`\n * `authorized_networks`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Domain" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reconfigureTrust": { + "description": "Updates the DNS conditional forwarder.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:reconfigureTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.reconfigureTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource domain name, project name and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:reconfigureTrust", + "request": { + "$ref": "ReconfigureTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resetAdminPassword": { + "description": "Resets a domain's administrator password.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:resetAdminPassword", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.resetAdminPassword", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:resetAdminPassword", + "request": { + "$ref": "ResetAdminPasswordRequest" + }, + "response": { + "$ref": "ResetAdminPasswordResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:setIamPolicy", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:testIamPermissions", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "validateTrust": { + "description": "Validates a trust state, that the target domain is reachable, and that the\ntarget domain is able to accept incoming trust requests.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:validateTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.validateTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource domain name, project name, and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:validateTrust", + "request": { + "$ref": "ValidateTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1/projects/{projectsId}/locations/global/operations", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200622", + "rootUrl": "https://managedidentities.googleapis.com/", + "schemas": { + "AttachTrustRequest": { + "description": "Request message for\nAttachTrust", + "id": "AttachTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "Required. The domain trust resource." + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "DetachTrustRequest": { + "description": "Request message for\nDetachTrust", + "id": "DetachTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "Required. The domain trust resource to removed." + } + }, + "type": "object" + }, + "Domain": { + "description": "Represents a managed Microsoft Active Directory domain.", + "id": "Domain", + "properties": { + "admin": { + "description": "Optional. The name of delegated administrator account used to perform\nActive Directory operations. If not specified, `setupadmin` will be used.", + "type": "string" + }, + "authorizedNetworks": { + "description": "Optional. The full names of the Google Compute Engine\n[networks](/compute/docs/networks-and-firewalls#networks) the domain\ninstance is connected to. Networks can be added using UpdateDomain.\nThe domain is only available on networks listed in `authorized_networks`.\nIf CIDR subnets overlap between networks, domain creation will fail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "type": "string" + }, + "fqdn": { + "description": "Output only. The fully-qualified domain name of the exposed domain used by\nclients to connect to the service. Similar to what would be chosen for an\nActive Directory set up on an internal network.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels that can contain user-provided metadata.", + "type": "object" + }, + "locations": { + "description": "Required. Locations where domain needs to be provisioned.\nregions\ne.g. us-west1 or us-east4\nService supports up to 4 locations at once. Each location will use a /26\nblock.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. The unique name of the domain using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`.", + "type": "string" + }, + "reservedIpRange": { + "description": "Required. The CIDR range of internal addresses that are reserved for this\ndomain. Reserved networks must be /24 or larger. Ranges must be\nunique and non-overlapping with existing subnets in\n[Domain].[authorized_networks].", + "type": "string" + }, + "state": { + "description": "Output only. The current state of this domain.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "REPAIRING", + "PERFORMING_MAINTENANCE", + "UNAVAILABLE" + ], + "enumDescriptions": [ + "Not set.", + "The domain is being created.", + "The domain has been created and is fully usable.", + "The domain's configuration is being updated.", + "The domain is being deleted.", + "The domain is being repaired and may be unusable. Details\ncan be found in the `status_message` field.", + "The domain is undergoing maintenance.", + "The domain is not serving requests." + ], + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this\ndomain, if available.", + "type": "string" + }, + "trusts": { + "description": "Output only. The current trusts associated with the domain.", + "items": { + "$ref": "Trust" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The last update time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1alpha1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1alpha1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1beta1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1beta1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1Instance": { + "id": "GoogleCloudSaasacceleratorManagementProvidersV1Instance", + "properties": { + "consumerDefinedName": { + "description": "consumer_defined_name is the name that is set by the consumer. On the other\nhand Name field represents system-assigned id of an instance so consumers\nare not necessarily aware of it.\nconsumer_defined_name is used for notification/UI purposes for consumer to\nrecognize their instances.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when the resource was created.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata. Each label\nis a key-value pair, where both the key and the value are arbitrary strings\nprovided by the user.", + "type": "object" + }, + "maintenancePolicyNames": { + "additionalProperties": { + "type": "string" + }, + "description": "The MaintenancePolicies that have been attached to the instance.\nThe key must be of the type name of the oneof policy name defined in\nMaintenancePolicy, and the referenced policy must define the same policy\ntype. For complete details of MaintenancePolicy, please refer to\ngo/cloud-saas-mw-ug.", + "type": "object" + }, + "maintenanceSchedules": { + "additionalProperties": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule" + }, + "description": "The MaintenanceSchedule contains the scheduling information of published\nmaintenance schedule.", + "type": "object" + }, + "maintenanceSettings": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "description": "Optional. The MaintenanceSettings associated with instance." + }, + "name": { + "description": "Unique name of the resource. It uses the form:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "type": "string" + }, + "producerMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Custom string attributes used primarily to expose\nproducer-specific information in monitoring dashboards.\nSee go/get-instance-metadata.", + "type": "object" + }, + "provisionedResources": { + "description": "Output only. The list of data plane resources provisioned for this\ninstance, e.g. compute VMs. See go/get-instance-metadata.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource" + }, + "type": "array" + }, + "slmInstanceTemplate": { + "description": "Link to the SLM instance template. Only populated when updating SLM\ninstances via SSA's Actuation service adaptor.\nService producers with custom control plane (e.g. Cloud SQL) doesn't\nneed to populate this field. Instead they should use software_versions.", + "type": "string" + }, + "sloMetadata": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", + "description": "Output only. SLO metadata for instance classification in the\nStandardized dataplane SLO platform.\nSee go/cloud-ssa-standard-slo for feature description." + }, + "softwareVersions": { + "additionalProperties": { + "type": "string" + }, + "description": "Software versions that are used to deploy this instance. This can be\nmutated by rollout services.", + "type": "object" + }, + "state": { + "description": "Output only. Current lifecycle state of the resource (e.g. if it's being\ncreated or ready to use).", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "REPAIRING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "Instance is being created.", + "Instance has been created and is ready to use.", + "Instance is being updated.", + "Instance is unheathy and under repair.", + "Instance is being deleted.", + "Instance encountered an error and is in indeterministic state." + ], + "type": "string" + }, + "tenantProjectId": { + "description": "Output only. ID of the associated GCP tenant project.\nSee go/get-instance-metadata.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the resource was last modified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule": { + "description": "Maintenance schedule which is exposed to customer and potentially end user,\nindicating published upcoming future maintenance schedule", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", + "properties": { + "canReschedule": { + "description": "Can this scheduled update be rescheduled?\nBy default, it's true and API needs to do explicitly check whether it's\nset, if it's set as false explicitly, it's false", + "type": "boolean" + }, + "endTime": { + "description": "The scheduled end time for the maintenance.", + "format": "google-datetime", + "type": "string" + }, + "rolloutManagementPolicy": { + "description": "The rollout management policy this maintenance schedule is associated\nwith. When doing reschedule update request, the reschedule should be\nagainst this given policy.", + "type": "string" + }, + "startTime": { + "description": "The scheduled start time for the maintenance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings": { + "description": "Maintenance settings associated with instance. Allows service producers and\nend users to assign settings that controls maintenance on this instance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "properties": { + "exclude": { + "description": "Optional. Exclude instance from maintenance. When true, rollout service will not\nattempt maintenance on the instance. Rollout service will include the\ninstance in reported rollout progress as not attempted.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": { + "description": "Node information for custom per-node SLO implementations.\nSSA does not support per-node SLO, but producers can populate per-node\ninformation in SloMetadata for custom precomputations.\nSSA Eligibility Exporter will emit per-node metric based on this information.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata", + "properties": { + "exclusions": { + "description": "By default node is eligible if instance is eligible.\nBut individual node might be excluded from SLO by adding entry here.\nFor semantic see SloMetadata.exclusions.\nIf both instance and node level exclusions are present for time period,\nthe node level's reason will be reported by Eligibility Exporter.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" + }, + "type": "array" + }, + "location": { + "description": "The location of the node, if different from instance location.", + "type": "string" + }, + "nodeId": { + "description": "The id of the node.\nThis should be equal to SaasInstanceNode.node_id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource": { + "description": "Describes provisioned dataplane resources.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource", + "properties": { + "resourceType": { + "description": "Type of the resource. This can be either a GCP resource or a custom one\n(e.g. another cloud provider's VM). For GCP compute resources use singular\nform of the names listed in GCP compute API documentation\n(https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with\n'compute-', for example: 'compute-instance', 'compute-disk',\n'compute-autoscaler'.", + "type": "string" + }, + "resourceUrl": { + "description": "URL identifying the resource, e.g.\n\"https://www.googleapis.com/compute/v1/projects/...)\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility": { + "description": "SloEligibility is a tuple containing eligibility value: true if an instance\nis eligible for SLO calculation or false if it should be excluded from all\nSLO-related calculations along with a user-defined reason.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", + "properties": { + "eligible": { + "description": "Whether an instance is eligible or ineligible.", + "type": "boolean" + }, + "reason": { + "description": "User-defined reason for the current value of instance eligibility. Usually,\nthis can be directly mapped to the internal state. An empty reason is\nallowed.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { + "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", + "properties": { + "duration": { + "description": "Exclusion duration. No restrictions on the possible values.\n\nWhen an ongoing operation is taking longer than initially expected,\nan existing entry in the exclusion list can be updated by extending the\nduration. This is supported by the subsystem exporting eligibility data\nas long as such extension is committed at least 10 minutes before the\noriginal exclusion expiration - otherwise it is possible that there will\nbe \"gaps\" in the exclusion application in the exported timeseries.", + "format": "google-duration", + "type": "string" + }, + "reason": { + "description": "Human-readable reason for the exclusion.\nThis should be a static string (e.g. \"Disruptive update in progress\")\nand should not contain dynamically generated data (e.g. instance name).\nCan be left empty.", + "type": "string" + }, + "sliName": { + "description": "Name of an SLI that this exclusion applies to. Can be left empty,\nsignaling that the instance should be excluded from all SLIs defined\nin the service SLO configuration.", + "type": "string" + }, + "startTime": { + "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { + "description": "SloMetadata contains resources required for proper SLO classification of the\ninstance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", + "properties": { + "eligibility": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", + "description": "Optional. User-defined instance eligibility." + }, + "exclusions": { + "description": "List of SLO exclusion windows. When multiple entries in the list match\n(matching the exclusion time-window against current time point)\nthe exclusion reason used in the first matching entry will be published.\n\nIt is not needed to include expired exclusion in this list, as only the\ncurrently applicable exclusions are taken into account by the eligibility\nexporting subsystem (the historical state of exclusions will be reflected\nin the historically produced timeseries regardless of the current state).\n\nThis field can be used to mark the instance as temporary ineligible\nfor the purpose of SLO calculation. For permanent instance SLO exclusion,\nuse of custom instance eligibility is recommended. See 'eligibility' field\nbelow.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" + }, + "type": "array" + }, + "nodes": { + "description": "Optional. List of nodes.\nSome producers need to use per-node metadata to calculate SLO.\nThis field allows such producers to publish per-node SLO meta data,\nwhich will be consumed by SSA Eligibility Exporter and published in the\nform of per node metric to Monarch.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata" + }, + "type": "array" + }, + "tier": { + "description": "Name of the SLO tier the Instance belongs to. This name will be expected to\nmatch the tiers specified in the service SLO configuration.\n\nField is mandatory and must not be empty.", + "type": "string" + } + }, + "type": "object" + }, + "ListDomainsResponse": { + "description": "Response message for\nListDomains", + "id": "ListDomainsResponse", + "properties": { + "domains": { + "description": "A list of Managed Identities Service domains in the project.", + "items": { + "$ref": "Domain" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "A list of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "[Output only] API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "[Output only] Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "[Output only] The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "[Output only] The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "statusDetail": { + "description": "[Output only] Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "[Output only] Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "[Output only] Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReconfigureTrustRequest": { + "description": "Request message for\nReconfigureTrust", + "id": "ReconfigureTrustRequest", + "properties": { + "targetDnsIpAddresses": { + "description": "Required. The target DNS server IP addresses to resolve the remote domain involved\nin the trust.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetDomainName": { + "description": "Required. The fully-qualified target domain name which will be in trust with current\ndomain.", + "type": "string" + } + }, + "type": "object" + }, + "ResetAdminPasswordRequest": { + "description": "Request message for\nResetAdminPassword", + "id": "ResetAdminPasswordRequest", + "properties": {}, + "type": "object" + }, + "ResetAdminPasswordResponse": { + "description": "Response message for\nResetAdminPassword", + "id": "ResetAdminPasswordResponse", + "properties": { + "password": { + "description": "A random password. See admin for more information.", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Trust": { + "description": "Represents a relationship between two domains. This allows a controller in\none domain to authenticate a user in another domain.", + "id": "Trust", + "properties": { + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "type": "string" + }, + "lastTrustHeartbeatTime": { + "description": "Output only. The last heartbeat time when the trust was known to be connected.", + "format": "google-datetime", + "type": "string" + }, + "selectiveAuthentication": { + "description": "Optional. The trust authentication type, which decides whether the trusted side has\nforest/domain wide access or selective access to an approved set of\nresources.", + "type": "boolean" + }, + "state": { + "description": "Output only. The current state of the trust.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPDATING", + "DELETING", + "CONNECTED", + "DISCONNECTED" + ], + "enumDescriptions": [ + "Not set.", + "The domain trust is being created.", + "The domain trust is being updated.", + "The domain trust is being deleted.", + "The domain trust is connected.", + "The domain trust is disconnected." + ], + "type": "string" + }, + "stateDescription": { + "description": "Output only. Additional information about the current state of the trust, if available.", + "type": "string" + }, + "targetDnsIpAddresses": { + "description": "Required. The target DNS server IP addresses which can resolve the remote domain\ninvolved in the trust.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetDomainName": { + "description": "Required. The fully qualified target domain name which will be in trust with the\ncurrent domain.", + "type": "string" + }, + "trustDirection": { + "description": "Required. The trust direction, which decides if the current domain is trusted,\ntrusting, or both.", + "enum": [ + "TRUST_DIRECTION_UNSPECIFIED", + "INBOUND", + "OUTBOUND", + "BIDIRECTIONAL" + ], + "enumDescriptions": [ + "Not set.", + "The inbound direction represents the trusting side.", + "The outboud direction represents the trusted side.", + "The bidirectional direction represents the trusted / trusting side." + ], + "type": "string" + }, + "trustHandshakeSecret": { + "description": "Required. The trust secret used for the handshake with the target domain. This will\nnot be stored.", + "type": "string" + }, + "trustType": { + "description": "Required. The type of trust represented by the trust resource.", + "enum": [ + "TRUST_TYPE_UNSPECIFIED", + "FOREST", + "EXTERNAL" + ], + "enumDescriptions": [ + "Not set.", + "The forest trust.", + "The external domain trust." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The last update time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ValidateTrustRequest": { + "description": "Request message for\nValidateTrust", + "id": "ValidateTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "Required. The domain trust to validate trust state for." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Managed Service for Microsoft Active Directory API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/managedidentities/v1alpha1/managedidentities-api.json b/etc/api/managedidentities/v1alpha1/managedidentities-api.json new file mode 100644 index 0000000000..52ae7a54cb --- /dev/null +++ b/etc/api/managedidentities/v1alpha1/managedidentities-api.json @@ -0,0 +1,1615 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://managedidentities.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Managed Service for Microsoft Active Directory Consumer API", + "description": "The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/managed-microsoft-ad/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "managedidentities:v1alpha1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://managedidentities.mtls.googleapis.com/", + "name": "managedidentities", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1alpha1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "includeUnrevealedLocations": { + "description": "If true, the returned list will include locations which are not yet\nrevealed.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "global": { + "resources": { + "domains": { + "methods": { + "attachTrust": { + "description": "Adds AD trust in a given domain.\nOperation", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:attachTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.attachTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource domain name, project name and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:attachTrust", + "request": { + "$ref": "AttachTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a Microsoft AD Domain in a given project.\nOperation", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "domainName": { + "description": "The fully qualified domain name.\ne.g. mydomain.myorganization.com, with the following restrictions:\n\n * Must contain only lowercase letters, numbers, periods and hyphens.\n * Must start with a letter.\n * Must contain between 2-64 characters.\n * Must end with a number or a letter.\n * Must not start with period.\n * Must be unique within the project.\n * First segement length (mydomain form example above) shouldn't exceed\n 15 chars.\n * The last segment cannot be fully numeric.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Resource project name and location using the form:\n`projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/domains", + "request": { + "$ref": "Domain" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes identified domain.\nOperation", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.domains.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "detachTrust": { + "description": "Removes identified trust.\nOperation", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:detachTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.detachTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource domain name, project name, and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:detachTrust", + "request": { + "$ref": "DetachTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Domain.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Domain" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:getIamPolicy", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Domains in a given project.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter specifying constraints of a list operation.\nFor example, `Domain.fqdn=\"mydomain.myorginization\"`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "If not specified, a default value of 1000 will be used by the service.\nRegardless of the page_size value, the response may include a partial list\nand a caller should only rely on response's\nnext_page_token\nto determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the domain location using the form:\n`projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/domains", + "response": { + "$ref": "ListDomainsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the metadata and configuration of a specified domain.\nOperation", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Unique name of the domain in this scope including projects and\nlocation using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Mask of fields to update. At least one path must be supplied in this\nfield. The elements of the repeated paths field may only include these\nfields from Domain:\n * `labels`\n * `locations`\n * `authorized_networks`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "request": { + "$ref": "Domain" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reconfigureTrust": { + "description": "Updates the dns conditional forwarder.\nOperation", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:reconfigureTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.reconfigureTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource domain name, project name and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:reconfigureTrust", + "request": { + "$ref": "ReconfigureTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resetAdminPassword": { + "description": "Resets managed identities admin password identified by\nmanaged_identities_admin_name", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:resetAdminPassword", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.resetAdminPassword", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:resetAdminPassword", + "request": { + "$ref": "ResetAdminPasswordRequest" + }, + "response": { + "$ref": "ResetAdminPasswordResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:setIamPolicy", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:testIamPermissions", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "validateTrust": { + "description": "Validate the trust state\nOperation", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:validateTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.validateTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource domain name, project name, and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:validateTrust", + "request": { + "$ref": "ValidateTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/operations", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200622", + "rootUrl": "https://managedidentities.googleapis.com/", + "schemas": { + "AttachTrustRequest": { + "id": "AttachTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "The domain trust resource." + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "DetachTrustRequest": { + "id": "DetachTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "The domain trust resource to removed." + } + }, + "type": "object" + }, + "Domain": { + "id": "Domain", + "properties": { + "authorizedNetworks": { + "description": "Optional. The full names of the Google Compute Engine\n[networks](/compute/docs/networks-and-firewalls#networks) to which the\ninstance is connected. Network can be added using UpdateDomain later.\nDomain is only available on network part of authorized_networks.\nCaller needs to make sure that CIDR subnets do not overlap between\nnetworks, else domain creation will fail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The time the instance was created. Synthetic field is\npopulated automatically by CCFE. go/ccfe-synthetic-field-user-guide", + "format": "google-datetime", + "type": "string" + }, + "fqdn": { + "description": "Output only. Fully-qualified domain name of the exposed domain used by\nclients to connect to the service. Similar to what would be chosen for an\nActive Directory that is set up on an internal network.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata", + "type": "object" + }, + "locations": { + "description": "Required. Locations where domain needs to be provisioned.\nregions\ne.g. us-west1 or us-east4\nService supports up to 4 locations at once. Each location will use a /26\nblock.", + "items": { + "type": "string" + }, + "type": "array" + }, + "managedIdentitiesAdminName": { + "description": "Optional. Name of customer-visible admin used to perform Active Directory\noperations. If not specified `setupadmin` would be used.", + "type": "string" + }, + "name": { + "description": "Output only. Unique name of the domain in this scope including projects and\nlocation using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`.", + "type": "string" + }, + "reservedIpRange": { + "description": "Required. The CIDR range of internal addresses that are reserved for this\ndomain. Reserved networks must be /24 or larger. Ranges must be\nunique and non-overlapping with existing subnets in\n[Domain].[authorized_networks].", + "type": "string" + }, + "state": { + "description": "Output only. The current state of this domain.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "REPAIRING", + "PERFORMING_MAINTENANCE", + "DOWN" + ], + "enumDescriptions": [ + "Not set.", + "ManagedIdentities domain is being created.", + "ManagedIdentities domain has been created and is fully usable.", + "ManagedIdentities domain configuration is being updated.", + "ManagedIdentities domain is being deleted.", + "ManagedIdentities domain is being repaired and may be unusable. Details\ncan be found in the `status_message` field.", + "ManagedIdentities domain is undergoing maintenance.", + "ManagedIdentities domain is not serving customer requests." + ], + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this\ndomain, if available.", + "type": "string" + }, + "trusts": { + "description": "Output only. The current trusts associated with the domain.", + "items": { + "$ref": "Trust" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Last update time. Synthetic field is populated automatically\nby CCFE.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1alpha1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1alpha1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1beta1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1beta1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1Instance": { + "id": "GoogleCloudSaasacceleratorManagementProvidersV1Instance", + "properties": { + "consumerDefinedName": { + "description": "consumer_defined_name is the name that is set by the consumer. On the other\nhand Name field represents system-assigned id of an instance so consumers\nare not necessarily aware of it.\nconsumer_defined_name is used for notification/UI purposes for consumer to\nrecognize their instances.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when the resource was created.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata. Each label\nis a key-value pair, where both the key and the value are arbitrary strings\nprovided by the user.", + "type": "object" + }, + "maintenancePolicyNames": { + "additionalProperties": { + "type": "string" + }, + "description": "The MaintenancePolicies that have been attached to the instance.\nThe key must be of the type name of the oneof policy name defined in\nMaintenancePolicy, and the referenced policy must define the same policy\ntype. For complete details of MaintenancePolicy, please refer to\ngo/cloud-saas-mw-ug.", + "type": "object" + }, + "maintenanceSchedules": { + "additionalProperties": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule" + }, + "description": "The MaintenanceSchedule contains the scheduling information of published\nmaintenance schedule.", + "type": "object" + }, + "maintenanceSettings": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "description": "Optional. The MaintenanceSettings associated with instance." + }, + "name": { + "description": "Unique name of the resource. It uses the form:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "type": "string" + }, + "producerMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Custom string attributes used primarily to expose\nproducer-specific information in monitoring dashboards.\nSee go/get-instance-metadata.", + "type": "object" + }, + "provisionedResources": { + "description": "Output only. The list of data plane resources provisioned for this\ninstance, e.g. compute VMs. See go/get-instance-metadata.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource" + }, + "type": "array" + }, + "slmInstanceTemplate": { + "description": "Link to the SLM instance template. Only populated when updating SLM\ninstances via SSA's Actuation service adaptor.\nService producers with custom control plane (e.g. Cloud SQL) doesn't\nneed to populate this field. Instead they should use software_versions.", + "type": "string" + }, + "sloMetadata": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", + "description": "Output only. SLO metadata for instance classification in the\nStandardized dataplane SLO platform.\nSee go/cloud-ssa-standard-slo for feature description." + }, + "softwareVersions": { + "additionalProperties": { + "type": "string" + }, + "description": "Software versions that are used to deploy this instance. This can be\nmutated by rollout services.", + "type": "object" + }, + "state": { + "description": "Output only. Current lifecycle state of the resource (e.g. if it's being\ncreated or ready to use).", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "REPAIRING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "Instance is being created.", + "Instance has been created and is ready to use.", + "Instance is being updated.", + "Instance is unheathy and under repair.", + "Instance is being deleted.", + "Instance encountered an error and is in indeterministic state." + ], + "type": "string" + }, + "tenantProjectId": { + "description": "Output only. ID of the associated GCP tenant project.\nSee go/get-instance-metadata.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the resource was last modified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule": { + "description": "Maintenance schedule which is exposed to customer and potentially end user,\nindicating published upcoming future maintenance schedule", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", + "properties": { + "canReschedule": { + "description": "Can this scheduled update be rescheduled?\nBy default, it's true and API needs to do explicitly check whether it's\nset, if it's set as false explicitly, it's false", + "type": "boolean" + }, + "endTime": { + "description": "The scheduled end time for the maintenance.", + "format": "google-datetime", + "type": "string" + }, + "rolloutManagementPolicy": { + "description": "The rollout management policy this maintenance schedule is associated\nwith. When doing reschedule update request, the reschedule should be\nagainst this given policy.", + "type": "string" + }, + "startTime": { + "description": "The scheduled start time for the maintenance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings": { + "description": "Maintenance settings associated with instance. Allows service producers and\nend users to assign settings that controls maintenance on this instance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "properties": { + "exclude": { + "description": "Optional. Exclude instance from maintenance. When true, rollout service will not\nattempt maintenance on the instance. Rollout service will include the\ninstance in reported rollout progress as not attempted.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": { + "description": "Node information for custom per-node SLO implementations.\nSSA does not support per-node SLO, but producers can populate per-node\ninformation in SloMetadata for custom precomputations.\nSSA Eligibility Exporter will emit per-node metric based on this information.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata", + "properties": { + "exclusions": { + "description": "By default node is eligible if instance is eligible.\nBut individual node might be excluded from SLO by adding entry here.\nFor semantic see SloMetadata.exclusions.\nIf both instance and node level exclusions are present for time period,\nthe node level's reason will be reported by Eligibility Exporter.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" + }, + "type": "array" + }, + "location": { + "description": "The location of the node, if different from instance location.", + "type": "string" + }, + "nodeId": { + "description": "The id of the node.\nThis should be equal to SaasInstanceNode.node_id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource": { + "description": "Describes provisioned dataplane resources.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource", + "properties": { + "resourceType": { + "description": "Type of the resource. This can be either a GCP resource or a custom one\n(e.g. another cloud provider's VM). For GCP compute resources use singular\nform of the names listed in GCP compute API documentation\n(https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with\n'compute-', for example: 'compute-instance', 'compute-disk',\n'compute-autoscaler'.", + "type": "string" + }, + "resourceUrl": { + "description": "URL identifying the resource, e.g.\n\"https://www.googleapis.com/compute/v1/projects/...)\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility": { + "description": "SloEligibility is a tuple containing eligibility value: true if an instance\nis eligible for SLO calculation or false if it should be excluded from all\nSLO-related calculations along with a user-defined reason.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", + "properties": { + "eligible": { + "description": "Whether an instance is eligible or ineligible.", + "type": "boolean" + }, + "reason": { + "description": "User-defined reason for the current value of instance eligibility. Usually,\nthis can be directly mapped to the internal state. An empty reason is\nallowed.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { + "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", + "properties": { + "duration": { + "description": "Exclusion duration. No restrictions on the possible values.\n\nWhen an ongoing operation is taking longer than initially expected,\nan existing entry in the exclusion list can be updated by extending the\nduration. This is supported by the subsystem exporting eligibility data\nas long as such extension is committed at least 10 minutes before the\noriginal exclusion expiration - otherwise it is possible that there will\nbe \"gaps\" in the exclusion application in the exported timeseries.", + "format": "google-duration", + "type": "string" + }, + "reason": { + "description": "Human-readable reason for the exclusion.\nThis should be a static string (e.g. \"Disruptive update in progress\")\nand should not contain dynamically generated data (e.g. instance name).\nCan be left empty.", + "type": "string" + }, + "sliName": { + "description": "Name of an SLI that this exclusion applies to. Can be left empty,\nsignaling that the instance should be excluded from all SLIs defined\nin the service SLO configuration.", + "type": "string" + }, + "startTime": { + "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { + "description": "SloMetadata contains resources required for proper SLO classification of the\ninstance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", + "properties": { + "eligibility": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", + "description": "Optional. User-defined instance eligibility." + }, + "exclusions": { + "description": "List of SLO exclusion windows. When multiple entries in the list match\n(matching the exclusion time-window against current time point)\nthe exclusion reason used in the first matching entry will be published.\n\nIt is not needed to include expired exclusion in this list, as only the\ncurrently applicable exclusions are taken into account by the eligibility\nexporting subsystem (the historical state of exclusions will be reflected\nin the historically produced timeseries regardless of the current state).\n\nThis field can be used to mark the instance as temporary ineligible\nfor the purpose of SLO calculation. For permanent instance SLO exclusion,\nuse of custom instance eligibility is recommended. See 'eligibility' field\nbelow.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" + }, + "type": "array" + }, + "nodes": { + "description": "Optional. List of nodes.\nSome producers need to use per-node metadata to calculate SLO.\nThis field allows such producers to publish per-node SLO meta data,\nwhich will be consumed by SSA Eligibility Exporter and published in the\nform of per node metric to Monarch.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata" + }, + "type": "array" + }, + "tier": { + "description": "Name of the SLO tier the Instance belongs to. This name will be expected to\nmatch the tiers specified in the service SLO configuration.\n\nField is mandatory and must not be empty.", + "type": "string" + } + }, + "type": "object" + }, + "ListDomainsResponse": { + "id": "ListDomainsResponse", + "properties": { + "domains": { + "description": "A list of Managed Identities Service domains in the project.", + "items": { + "$ref": "Domain" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "[Output only] API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "[Output only] Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "[Output only] The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "[Output only] The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "statusDetail": { + "description": "[Output only] Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "[Output only] Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "[Output only] Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReconfigureTrustRequest": { + "id": "ReconfigureTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "The domain trust resource with updated dns conditional forwarder." + } + }, + "type": "object" + }, + "ResetAdminPasswordRequest": { + "id": "ResetAdminPasswordRequest", + "properties": {}, + "type": "object" + }, + "ResetAdminPasswordResponse": { + "id": "ResetAdminPasswordResponse", + "properties": { + "password": { + "description": "A random password. See admin for more information.", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Trust": { + "description": "Represents a relationship between two domains which makes it possible\nfor users in one domain to be authenticated by a dc in another domain.\nRefer\nhttps://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731335(v%3dws.10)", + "id": "Trust", + "properties": { + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "type": "string" + }, + "lastKnownTrustConnectedHeartbeatTime": { + "description": "Output only. The last heartbeat time when the trust was known to be\nconnected.", + "format": "google-datetime", + "type": "string" + }, + "selectiveAuthentication": { + "description": "The trust authentication type which decides whether the trusted side has\nforest/domain wide access or selective access to approved set of resources.", + "type": "boolean" + }, + "state": { + "description": "Output only. The current state of this trust.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPDATING", + "DELETING", + "CONNECTED", + "DISCONNECTED" + ], + "enumDescriptions": [ + "Not Set", + "Domain trust is being created.", + "Domain trust is being updated.", + "Domain trust is being deleted.", + "Domain trust is connected.", + "Domain trust is disconnected." + ], + "type": "string" + }, + "stateDescription": { + "description": "Output only. Additional information about the current state of this\ntrust, if available.", + "type": "string" + }, + "targetDnsIpAddresses": { + "description": "The target dns server ip addresses which can resolve the remote domain\ninvolved in trust.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetDomainName": { + "description": "The fully qualified target domain name which will be in trust with current\ndomain.", + "type": "string" + }, + "trustDirection": { + "description": "The trust direction decides the current domain is trusted, trusting or\nboth.", + "enum": [ + "TRUST_DIRECTION_UNSPECIFIED", + "INBOUND", + "OUTBOUND", + "BIDIRECTIONAL" + ], + "enumDescriptions": [ + "Not Set", + "The inbound direction represents the trusting side.", + "The outboud direction represents the trusted side.", + "The bidirectional direction represents the trusted / trusting side." + ], + "type": "string" + }, + "trustHandshakeSecret": { + "description": "Input only, and will not be stored. The trust secret used for handshake\nwith target domain.", + "type": "string" + }, + "trustType": { + "description": "The type of trust represented by the trust resource.", + "enum": [ + "TRUST_TYPE_UNSPECIFIED", + "FOREST", + "EXTERNAL" + ], + "enumDescriptions": [ + "Not Set", + "The forest trust.", + "The external domain trust." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ValidateTrustRequest": { + "id": "ValidateTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "The domain trust to validate trust state for." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Managed Service for Microsoft Active Directory API", + "version": "v1alpha1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/managedidentities/v1beta1/managedidentities-api.json b/etc/api/managedidentities/v1beta1/managedidentities-api.json new file mode 100644 index 0000000000..12618e1fd6 --- /dev/null +++ b/etc/api/managedidentities/v1beta1/managedidentities-api.json @@ -0,0 +1,1630 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://managedidentities.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Managed Service for Microsoft Active Directory Consumer API", + "description": "The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/managed-microsoft-ad/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "managedidentities:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://managedidentities.mtls.googleapis.com/", + "name": "managedidentities", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "includeUnrevealedLocations": { + "description": "If true, the returned list will include locations which are not yet\nrevealed.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "global": { + "resources": { + "domains": { + "methods": { + "attachTrust": { + "description": "Adds an AD trust to a domain.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:attachTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.attachTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource domain name, project name and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:attachTrust", + "request": { + "$ref": "AttachTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a Microsoft AD domain.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "domainName": { + "description": "Required. A domain name, e.g. mydomain.myorg.com, with the following restrictions:\n * Must contain only lowercase letters, numbers, periods and hyphens.\n * Must start with a letter.\n * Must contain between 2-64 characters.\n * Must end with a number or a letter.\n * Must not start with period.\n * First segement length (mydomain form example above) shouldn't exceed\n 15 chars.\n * The last segment cannot be fully numeric.\n * Must be unique within the customer project.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource project name and location using the form:\n`projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/domains", + "request": { + "$ref": "Domain" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a domain.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.domains.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "detachTrust": { + "description": "Removes an AD trust.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:detachTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.detachTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource domain name, project name, and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:detachTrust", + "request": { + "$ref": "DetachTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a domain.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Domain" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:getIamPolicy", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists domains in a project.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter specifying constraints of a list operation.\nFor example, `Domain.fqdn=\"mydomain.myorginization\"`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results. See\n[Sorting\norder](https://cloud.google.com/apis/design/design_patterns#sorting_order)\nfor more information.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.\nIf not specified, a default value of 1000 will be used.\nRegardless of the page_size value, the response may include a partial list.\nCallers should rely on a response's\nnext_page_token\nto determine if there are additional results to list.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The `next_page_token` value returned from a previous ListDomainsRequest\nrequest, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the domain location using the form:\n`projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/domains", + "response": { + "$ref": "ListDomainsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the metadata and configuration of a domain.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The unique name of the domain using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this\nfield. The elements of the repeated paths field may only include\nfields from Domain:\n * `labels`\n * `locations`\n * `authorized_networks`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Domain" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reconfigureTrust": { + "description": "Updates the DNS conditional forwarder.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:reconfigureTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.reconfigureTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource domain name, project name and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:reconfigureTrust", + "request": { + "$ref": "ReconfigureTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resetAdminPassword": { + "description": "Resets a domain's administrator password.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:resetAdminPassword", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.resetAdminPassword", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:resetAdminPassword", + "request": { + "$ref": "ResetAdminPasswordRequest" + }, + "response": { + "$ref": "ResetAdminPasswordResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:setIamPolicy", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:testIamPermissions", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "validateTrust": { + "description": "Validates a trust state, that the target domain is reachable, and that the\ntarget domain is able to accept incoming trust requests.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:validateTrust", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.validateTrust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource domain name, project name, and location using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:validateTrust", + "request": { + "$ref": "ValidateTrustRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/operations", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200622", + "rootUrl": "https://managedidentities.googleapis.com/", + "schemas": { + "AttachTrustRequest": { + "description": "Request message for\nAttachTrust", + "id": "AttachTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "Required. The domain trust resource." + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "DetachTrustRequest": { + "description": "Request message for\nDetachTrust", + "id": "DetachTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "Required. The domain trust resource to removed." + } + }, + "type": "object" + }, + "Domain": { + "description": "Represents a managed Microsoft Active Directory domain.", + "id": "Domain", + "properties": { + "admin": { + "description": "Optional. The name of delegated administrator account used to perform\nActive Directory operations. If not specified, `setupadmin` will be used.", + "type": "string" + }, + "authorizedNetworks": { + "description": "Optional. The full names of the Google Compute Engine\n[networks](/compute/docs/networks-and-firewalls#networks) the domain\ninstance is connected to. Networks can be added using UpdateDomain.\nThe domain is only available on networks listed in `authorized_networks`.\nIf CIDR subnets overlap between networks, domain creation will fail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "type": "string" + }, + "fqdn": { + "description": "Output only. The fully-qualified domain name of the exposed domain used by\nclients to connect to the service. Similar to what would be chosen for an\nActive Directory set up on an internal network.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels that can contain user-provided metadata.", + "type": "object" + }, + "locations": { + "description": "Required. Locations where domain needs to be provisioned.\nregions\ne.g. us-west1 or us-east4\nService supports up to 4 locations at once. Each location will use a /26\nblock.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Output only. The unique name of the domain using the form:\n`projects/{project_id}/locations/global/domains/{domain_name}`.", + "type": "string" + }, + "reservedIpRange": { + "description": "Required. The CIDR range of internal addresses that are reserved for this\ndomain. Reserved networks must be /24 or larger. Ranges must be\nunique and non-overlapping with existing subnets in\n[Domain].[authorized_networks].", + "type": "string" + }, + "state": { + "description": "Output only. The current state of this domain.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "REPAIRING", + "PERFORMING_MAINTENANCE", + "UNAVAILABLE" + ], + "enumDescriptions": [ + "Not set.", + "The domain is being created.", + "The domain has been created and is fully usable.", + "The domain's configuration is being updated.", + "The domain is being deleted.", + "The domain is being repaired and may be unusable. Details\ncan be found in the `status_message` field.", + "The domain is undergoing maintenance.", + "The domain is not serving requests." + ], + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this\ndomain, if available.", + "type": "string" + }, + "trusts": { + "description": "Output only. The current trusts associated with the domain.", + "items": { + "$ref": "Trust" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The last update time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1alpha1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1alpha1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudManagedidentitiesV1beta1OpMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudManagedidentitiesV1beta1OpMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1Instance": { + "id": "GoogleCloudSaasacceleratorManagementProvidersV1Instance", + "properties": { + "consumerDefinedName": { + "description": "consumer_defined_name is the name that is set by the consumer. On the other\nhand Name field represents system-assigned id of an instance so consumers\nare not necessarily aware of it.\nconsumer_defined_name is used for notification/UI purposes for consumer to\nrecognize their instances.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when the resource was created.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata. Each label\nis a key-value pair, where both the key and the value are arbitrary strings\nprovided by the user.", + "type": "object" + }, + "maintenancePolicyNames": { + "additionalProperties": { + "type": "string" + }, + "description": "The MaintenancePolicies that have been attached to the instance.\nThe key must be of the type name of the oneof policy name defined in\nMaintenancePolicy, and the referenced policy must define the same policy\ntype. For complete details of MaintenancePolicy, please refer to\ngo/cloud-saas-mw-ug.", + "type": "object" + }, + "maintenanceSchedules": { + "additionalProperties": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule" + }, + "description": "The MaintenanceSchedule contains the scheduling information of published\nmaintenance schedule.", + "type": "object" + }, + "maintenanceSettings": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "description": "Optional. The MaintenanceSettings associated with instance." + }, + "name": { + "description": "Unique name of the resource. It uses the form:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "type": "string" + }, + "producerMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Custom string attributes used primarily to expose\nproducer-specific information in monitoring dashboards.\nSee go/get-instance-metadata.", + "type": "object" + }, + "provisionedResources": { + "description": "Output only. The list of data plane resources provisioned for this\ninstance, e.g. compute VMs. See go/get-instance-metadata.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource" + }, + "type": "array" + }, + "slmInstanceTemplate": { + "description": "Link to the SLM instance template. Only populated when updating SLM\ninstances via SSA's Actuation service adaptor.\nService producers with custom control plane (e.g. Cloud SQL) doesn't\nneed to populate this field. Instead they should use software_versions.", + "type": "string" + }, + "sloMetadata": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", + "description": "Output only. SLO metadata for instance classification in the\nStandardized dataplane SLO platform.\nSee go/cloud-ssa-standard-slo for feature description." + }, + "softwareVersions": { + "additionalProperties": { + "type": "string" + }, + "description": "Software versions that are used to deploy this instance. This can be\nmutated by rollout services.", + "type": "object" + }, + "state": { + "description": "Output only. Current lifecycle state of the resource (e.g. if it's being\ncreated or ready to use).", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "REPAIRING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "Instance is being created.", + "Instance has been created and is ready to use.", + "Instance is being updated.", + "Instance is unheathy and under repair.", + "Instance is being deleted.", + "Instance encountered an error and is in indeterministic state." + ], + "type": "string" + }, + "tenantProjectId": { + "description": "Output only. ID of the associated GCP tenant project.\nSee go/get-instance-metadata.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the resource was last modified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule": { + "description": "Maintenance schedule which is exposed to customer and potentially end user,\nindicating published upcoming future maintenance schedule", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", + "properties": { + "canReschedule": { + "description": "Can this scheduled update be rescheduled?\nBy default, it's true and API needs to do explicitly check whether it's\nset, if it's set as false explicitly, it's false", + "type": "boolean" + }, + "endTime": { + "description": "The scheduled end time for the maintenance.", + "format": "google-datetime", + "type": "string" + }, + "rolloutManagementPolicy": { + "description": "The rollout management policy this maintenance schedule is associated\nwith. When doing reschedule update request, the reschedule should be\nagainst this given policy.", + "type": "string" + }, + "startTime": { + "description": "The scheduled start time for the maintenance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings": { + "description": "Maintenance settings associated with instance. Allows service producers and\nend users to assign settings that controls maintenance on this instance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "properties": { + "exclude": { + "description": "Optional. Exclude instance from maintenance. When true, rollout service will not\nattempt maintenance on the instance. Rollout service will include the\ninstance in reported rollout progress as not attempted.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": { + "description": "Node information for custom per-node SLO implementations.\nSSA does not support per-node SLO, but producers can populate per-node\ninformation in SloMetadata for custom precomputations.\nSSA Eligibility Exporter will emit per-node metric based on this information.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata", + "properties": { + "exclusions": { + "description": "By default node is eligible if instance is eligible.\nBut individual node might be excluded from SLO by adding entry here.\nFor semantic see SloMetadata.exclusions.\nIf both instance and node level exclusions are present for time period,\nthe node level's reason will be reported by Eligibility Exporter.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" + }, + "type": "array" + }, + "location": { + "description": "The location of the node, if different from instance location.", + "type": "string" + }, + "nodeId": { + "description": "The id of the node.\nThis should be equal to SaasInstanceNode.node_id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource": { + "description": "Describes provisioned dataplane resources.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource", + "properties": { + "resourceType": { + "description": "Type of the resource. This can be either a GCP resource or a custom one\n(e.g. another cloud provider's VM). For GCP compute resources use singular\nform of the names listed in GCP compute API documentation\n(https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with\n'compute-', for example: 'compute-instance', 'compute-disk',\n'compute-autoscaler'.", + "type": "string" + }, + "resourceUrl": { + "description": "URL identifying the resource, e.g.\n\"https://www.googleapis.com/compute/v1/projects/...)\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility": { + "description": "SloEligibility is a tuple containing eligibility value: true if an instance\nis eligible for SLO calculation or false if it should be excluded from all\nSLO-related calculations along with a user-defined reason.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", + "properties": { + "eligible": { + "description": "Whether an instance is eligible or ineligible.", + "type": "boolean" + }, + "reason": { + "description": "User-defined reason for the current value of instance eligibility. Usually,\nthis can be directly mapped to the internal state. An empty reason is\nallowed.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { + "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", + "properties": { + "duration": { + "description": "Exclusion duration. No restrictions on the possible values.\n\nWhen an ongoing operation is taking longer than initially expected,\nan existing entry in the exclusion list can be updated by extending the\nduration. This is supported by the subsystem exporting eligibility data\nas long as such extension is committed at least 10 minutes before the\noriginal exclusion expiration - otherwise it is possible that there will\nbe \"gaps\" in the exclusion application in the exported timeseries.", + "format": "google-duration", + "type": "string" + }, + "reason": { + "description": "Human-readable reason for the exclusion.\nThis should be a static string (e.g. \"Disruptive update in progress\")\nand should not contain dynamically generated data (e.g. instance name).\nCan be left empty.", + "type": "string" + }, + "sliName": { + "description": "Name of an SLI that this exclusion applies to. Can be left empty,\nsignaling that the instance should be excluded from all SLIs defined\nin the service SLO configuration.", + "type": "string" + }, + "startTime": { + "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { + "description": "SloMetadata contains resources required for proper SLO classification of the\ninstance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", + "properties": { + "eligibility": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", + "description": "Optional. User-defined instance eligibility." + }, + "exclusions": { + "description": "List of SLO exclusion windows. When multiple entries in the list match\n(matching the exclusion time-window against current time point)\nthe exclusion reason used in the first matching entry will be published.\n\nIt is not needed to include expired exclusion in this list, as only the\ncurrently applicable exclusions are taken into account by the eligibility\nexporting subsystem (the historical state of exclusions will be reflected\nin the historically produced timeseries regardless of the current state).\n\nThis field can be used to mark the instance as temporary ineligible\nfor the purpose of SLO calculation. For permanent instance SLO exclusion,\nuse of custom instance eligibility is recommended. See 'eligibility' field\nbelow.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" + }, + "type": "array" + }, + "nodes": { + "description": "Optional. List of nodes.\nSome producers need to use per-node metadata to calculate SLO.\nThis field allows such producers to publish per-node SLO meta data,\nwhich will be consumed by SSA Eligibility Exporter and published in the\nform of per node metric to Monarch.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata" + }, + "type": "array" + }, + "tier": { + "description": "Name of the SLO tier the Instance belongs to. This name will be expected to\nmatch the tiers specified in the service SLO configuration.\n\nField is mandatory and must not be empty.", + "type": "string" + } + }, + "type": "object" + }, + "ListDomainsResponse": { + "description": "Response message for\nListDomains", + "id": "ListDomainsResponse", + "properties": { + "domains": { + "description": "A list of Managed Identities Service domains in the project.", + "items": { + "$ref": "Domain" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "unreachable": { + "description": "A list of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "[Output only] API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "[Output only] Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "[Output only] The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "[Output only] The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "statusDetail": { + "description": "[Output only] Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "[Output only] Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "[Output only] Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReconfigureTrustRequest": { + "description": "Request message for\nReconfigureTrust", + "id": "ReconfigureTrustRequest", + "properties": { + "targetDnsIpAddresses": { + "description": "Required. The target DNS server IP addresses to resolve the remote domain involved\nin the trust.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetDomainName": { + "description": "Required. The fully-qualified target domain name which will be in trust with current\ndomain.", + "type": "string" + } + }, + "type": "object" + }, + "ResetAdminPasswordRequest": { + "description": "Request message for\nResetAdminPassword", + "id": "ResetAdminPasswordRequest", + "properties": {}, + "type": "object" + }, + "ResetAdminPasswordResponse": { + "description": "Response message for\nResetAdminPassword", + "id": "ResetAdminPasswordResponse", + "properties": { + "password": { + "description": "A random password. See admin for more information.", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Trust": { + "description": "Represents a relationship between two domains. This allows a controller in\none domain to authenticate a user in another domain.", + "id": "Trust", + "properties": { + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "type": "string" + }, + "lastTrustHeartbeatTime": { + "description": "Output only. The last heartbeat time when the trust was known to be\nconnected.", + "format": "google-datetime", + "type": "string" + }, + "selectiveAuthentication": { + "description": "The trust authentication type, which decides whether the trusted side has\nforest/domain wide access or selective access to an approved set of\nresources.", + "type": "boolean" + }, + "state": { + "description": "Output only. The current state of the trust.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPDATING", + "DELETING", + "CONNECTED", + "DISCONNECTED" + ], + "enumDescriptions": [ + "Not set.", + "The domain trust is being created.", + "The domain trust is being updated.", + "The domain trust is being deleted.", + "The domain trust is connected.", + "The domain trust is disconnected." + ], + "type": "string" + }, + "stateDescription": { + "description": "Output only. Additional information about the current state of the\ntrust, if available.", + "type": "string" + }, + "targetDnsIpAddresses": { + "description": "The target DNS server IP addresses which can resolve the remote domain\ninvolved in the trust.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetDomainName": { + "description": "The fully qualified target domain name which will be in trust with the\ncurrent domain.", + "type": "string" + }, + "trustDirection": { + "description": "The trust direction, which decides if the current domain is trusted,\ntrusting, or both.", + "enum": [ + "TRUST_DIRECTION_UNSPECIFIED", + "INBOUND", + "OUTBOUND", + "BIDIRECTIONAL" + ], + "enumDescriptions": [ + "Not set.", + "The inbound direction represents the trusting side.", + "The outboud direction represents the trusted side.", + "The bidirectional direction represents the trusted / trusting side." + ], + "type": "string" + }, + "trustHandshakeSecret": { + "description": "Input only, and will not be stored. The trust secret used for the handshake\nwith the target domain.", + "type": "string" + }, + "trustType": { + "description": "The type of trust represented by the trust resource.", + "enum": [ + "TRUST_TYPE_UNSPECIFIED", + "FOREST", + "EXTERNAL" + ], + "enumDescriptions": [ + "Not set.", + "The forest trust.", + "The external domain trust." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The last update time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ValidateTrustRequest": { + "description": "Request message for\nValidateTrust", + "id": "ValidateTrustRequest", + "properties": { + "trust": { + "$ref": "Trust", + "description": "Required. The domain trust to validate trust state for." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Managed Service for Microsoft Active Directory API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/manufacturers/v1/manufacturers-api.json b/etc/api/manufacturers/v1/manufacturers-api.json index 50dc751068..1c15784b84 100644 --- a/etc/api/manufacturers/v1/manufacturers-api.json +++ b/etc/api/manufacturers/v1/manufacturers-api.json @@ -275,7 +275,7 @@ } } }, - "revision": "20200317", + "revision": "20200702", "rootUrl": "https://manufacturers.googleapis.com/", "schemas": { "Attributes": { diff --git a/etc/api/memcache/v1beta2/memcache-api.json b/etc/api/memcache/v1beta2/memcache-api.json new file mode 100644 index 0000000000..eb03ec8147 --- /dev/null +++ b/etc/api/memcache/v1beta2/memcache-api.json @@ -0,0 +1,1507 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://memcache.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Memorystore for Memcached", + "description": "Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/memorystore/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "memcache:v1beta2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://memcache.mtls.googleapis.com/", + "name": "memcache", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "memcache.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta2/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "memcache.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "instances": { + "methods": { + "applyParameters": { + "description": "ApplyParameters will update current set of Parameters to the set of\nspecified nodes of the Memcached Instance.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:applyParameters", + "httpMethod": "POST", + "id": "memcache.projects.locations.instances.applyParameters", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the Memcached instance for which parameter group updates\nshould be applied.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}:applyParameters", + "request": { + "$ref": "ApplyParametersRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new Instance in a given project and location.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "POST", + "id": "memcache.projects.locations.instances.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "instanceId": { + "description": "Required. The logical name of the Memcached instance in the user\nproject with the following restrictions:\n\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-40 characters.\n* Must end with a number or a letter.\n* Must be unique within the user project / location", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the instance location using the form:\n `projects/{project_id}/locations/{location_id}`\nwhere `location_id` refers to a GCP region", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/instances", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Instance.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "DELETE", + "id": "memcache.projects.locations.instances.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Memcached instance resource name in the format:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`\nwhere `location_id` refers to a GCP region", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Instance.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "GET", + "id": "memcache.projects.locations.instances.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Memcached instance resource name in the format:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`\nwhere `location_id` refers to a GCP region", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "Instance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:getIamPolicy", + "httpMethod": "GET", + "id": "memcache.projects.locations.instances.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Instances in a given project and location.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "GET", + "id": "memcache.projects.locations.instances.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter. For example, exclude all Memcached instances with name as\nmy-instance by specifying \"name != my-instance\".", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.\n\nIf not specified, a default value of 1000 will be used by the service.\nRegardless of the page_size value, the response may include a partial list\nand a caller should only rely on response's\nnext_page_token\nto determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request,\nif any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the instance location using the form:\n `projects/{project_id}/locations/{location_id}`\nwhere `location_id` refers to a GCP region", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/instances", + "response": { + "$ref": "ListInstancesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing Instance in a given project and location.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "PATCH", + "id": "memcache.projects.locations.instances.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Unique name of the resource in this scope including project and\nlocation using the form:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`\n\nNote: Memcached instances are managed and addressed at regional level so\nlocation_id here refers to a GCP region; however, users may choose which\nzones Memcached nodes within an instances should be provisioned in.\nRefer to [zones] field for more details.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.\n * `displayName`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setIamPolicy", + "httpMethod": "POST", + "id": "memcache.projects.locations.instances.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:testIamPermissions", + "httpMethod": "POST", + "id": "memcache.projects.locations.instances.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateParameters": { + "description": "Updates the defined Memcached Parameters for an existing Instance.\nThis method only stages the parameters, it must be followed by\nApplyParameters to apply the parameters to nodes of the Memcached Instance.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateParameters", + "httpMethod": "PATCH", + "id": "memcache.projects.locations.instances.updateParameters", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the Memcached instance for which the parameters should be\nupdated.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}:updateParameters", + "request": { + "$ref": "UpdateParametersRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "memcache.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "memcache.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "memcache.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "memcache.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20200608", + "rootUrl": "https://memcache.googleapis.com/", + "schemas": { + "ApplyParametersRequest": { + "description": "Request for ApplyParameters.", + "id": "ApplyParametersRequest", + "properties": { + "applyAll": { + "description": "Whether to apply instance-level parameter group to all nodes. If set to\ntrue, will explicitly restrict users from specifying any nodes, and apply\nparameter group updates to all nodes within the instance.", + "type": "boolean" + }, + "nodeIds": { + "description": "Nodes to which we should apply the instance-level parameter group.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMemcacheV1beta2LocationMetadata": { + "description": "Metadata for the given google.cloud.location.Location.", + "id": "GoogleCloudMemcacheV1beta2LocationMetadata", + "properties": { + "availableZones": { + "additionalProperties": { + "$ref": "ZoneMetadata" + }, + "description": "Output only. The set of available zones in the location. The map is keyed\nby the lowercase ID of each zone, as defined by GCE. These keys can be\nspecified in the `zones` field when creating a Memcached instance.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMemcacheV1beta2OperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMemcacheV1beta2OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "Output only. Time when the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. Time when the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1Instance": { + "id": "GoogleCloudSaasacceleratorManagementProvidersV1Instance", + "properties": { + "consumerDefinedName": { + "description": "consumer_defined_name is the name that is set by the consumer. On the other\nhand Name field represents system-assigned id of an instance so consumers\nare not necessarily aware of it.\nconsumer_defined_name is used for notification/UI purposes for consumer to\nrecognize their instances.", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when the resource was created.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata. Each label\nis a key-value pair, where both the key and the value are arbitrary strings\nprovided by the user.", + "type": "object" + }, + "maintenancePolicyNames": { + "additionalProperties": { + "type": "string" + }, + "description": "The MaintenancePolicies that have been attached to the instance.\nThe key must be of the type name of the oneof policy name defined in\nMaintenancePolicy, and the referenced policy must define the same policy\ntype. For complete details of MaintenancePolicy, please refer to\ngo/cloud-saas-mw-ug.", + "type": "object" + }, + "maintenanceSchedules": { + "additionalProperties": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule" + }, + "description": "The MaintenanceSchedule contains the scheduling information of published\nmaintenance schedule.", + "type": "object" + }, + "maintenanceSettings": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "description": "Optional. The MaintenanceSettings associated with instance." + }, + "name": { + "description": "Unique name of the resource. It uses the form:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "type": "string" + }, + "producerMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Custom string attributes used primarily to expose\nproducer-specific information in monitoring dashboards.\nSee go/get-instance-metadata.", + "type": "object" + }, + "provisionedResources": { + "description": "Output only. The list of data plane resources provisioned for this\ninstance, e.g. compute VMs. See go/get-instance-metadata.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource" + }, + "type": "array" + }, + "slmInstanceTemplate": { + "description": "Link to the SLM instance template. Only populated when updating SLM\ninstances via SSA's Actuation service adaptor.\nService producers with custom control plane (e.g. Cloud SQL) doesn't\nneed to populate this field. Instead they should use software_versions.", + "type": "string" + }, + "sloMetadata": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", + "description": "Output only. SLO metadata for instance classification in the\nStandardized dataplane SLO platform.\nSee go/cloud-ssa-standard-slo for feature description." + }, + "softwareVersions": { + "additionalProperties": { + "type": "string" + }, + "description": "Software versions that are used to deploy this instance. This can be\nmutated by rollout services.", + "type": "object" + }, + "state": { + "description": "Output only. Current lifecycle state of the resource (e.g. if it's being\ncreated or ready to use).", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "REPAIRING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "Instance is being created.", + "Instance has been created and is ready to use.", + "Instance is being updated.", + "Instance is unheathy and under repair.", + "Instance is being deleted.", + "Instance encountered an error and is in indeterministic state." + ], + "type": "string" + }, + "tenantProjectId": { + "description": "Output only. ID of the associated GCP tenant project.\nSee go/get-instance-metadata.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the resource was last modified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule": { + "description": "Maintenance schedule which is exposed to customer and potentially end user,\nindicating published upcoming future maintenance schedule", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", + "properties": { + "canReschedule": { + "description": "Can this scheduled update be rescheduled?\nBy default, it's true and API needs to do explicitly check whether it's\nset, if it's set as false explicitly, it's false", + "type": "boolean" + }, + "endTime": { + "description": "The scheduled end time for the maintenance.", + "format": "google-datetime", + "type": "string" + }, + "rolloutManagementPolicy": { + "description": "The rollout management policy this maintenance schedule is associated\nwith. When doing reschedule update request, the reschedule should be\nagainst this given policy.", + "type": "string" + }, + "startTime": { + "description": "The scheduled start time for the maintenance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings": { + "description": "Maintenance settings associated with instance. Allows service producers and\nend users to assign settings that controls maintenance on this instance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings", + "properties": { + "exclude": { + "description": "Optional. Exclude instance from maintenance. When true, rollout service will not\nattempt maintenance on the instance. Rollout service will include the\ninstance in reported rollout progress as not attempted.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": { + "description": "Node information for custom per-node SLO implementations.\nSSA does not support per-node SLO, but producers can populate per-node\ninformation in SloMetadata for custom precomputations.\nSSA Eligibility Exporter will emit per-node metric based on this information.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata", + "properties": { + "exclusions": { + "description": "By default node is eligible if instance is eligible.\nBut individual node might be excluded from SLO by adding entry here.\nFor semantic see SloMetadata.exclusions.\nIf both instance and node level exclusions are present for time period,\nthe node level's reason will be reported by Eligibility Exporter.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" + }, + "type": "array" + }, + "location": { + "description": "The location of the node, if different from instance location.", + "type": "string" + }, + "nodeId": { + "description": "The id of the node.\nThis should be equal to SaasInstanceNode.node_id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource": { + "description": "Describes provisioned dataplane resources.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource", + "properties": { + "resourceType": { + "description": "Type of the resource. This can be either a GCP resource or a custom one\n(e.g. another cloud provider's VM). For GCP compute resources use singular\nform of the names listed in GCP compute API documentation\n(https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with\n'compute-', for example: 'compute-instance', 'compute-disk',\n'compute-autoscaler'.", + "type": "string" + }, + "resourceUrl": { + "description": "URL identifying the resource, e.g.\n\"https://www.googleapis.com/compute/v1/projects/...)\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility": { + "description": "SloEligibility is a tuple containing eligibility value: true if an instance\nis eligible for SLO calculation or false if it should be excluded from all\nSLO-related calculations along with a user-defined reason.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", + "properties": { + "eligible": { + "description": "Whether an instance is eligible or ineligible.", + "type": "boolean" + }, + "reason": { + "description": "User-defined reason for the current value of instance eligibility. Usually,\nthis can be directly mapped to the internal state. An empty reason is\nallowed.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { + "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", + "properties": { + "duration": { + "description": "Exclusion duration. No restrictions on the possible values.\n\nWhen an ongoing operation is taking longer than initially expected,\nan existing entry in the exclusion list can be updated by extending the\nduration. This is supported by the subsystem exporting eligibility data\nas long as such extension is committed at least 10 minutes before the\noriginal exclusion expiration - otherwise it is possible that there will\nbe \"gaps\" in the exclusion application in the exported timeseries.", + "format": "google-duration", + "type": "string" + }, + "reason": { + "description": "Human-readable reason for the exclusion.\nThis should be a static string (e.g. \"Disruptive update in progress\")\nand should not contain dynamically generated data (e.g. instance name).\nCan be left empty.", + "type": "string" + }, + "sliName": { + "description": "Name of an SLI that this exclusion applies to. Can be left empty,\nsignaling that the instance should be excluded from all SLIs defined\nin the service SLO configuration.", + "type": "string" + }, + "startTime": { + "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { + "description": "SloMetadata contains resources required for proper SLO classification of the\ninstance.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", + "properties": { + "eligibility": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", + "description": "Optional. User-defined instance eligibility." + }, + "exclusions": { + "description": "List of SLO exclusion windows. When multiple entries in the list match\n(matching the exclusion time-window against current time point)\nthe exclusion reason used in the first matching entry will be published.\n\nIt is not needed to include expired exclusion in this list, as only the\ncurrently applicable exclusions are taken into account by the eligibility\nexporting subsystem (the historical state of exclusions will be reflected\nin the historically produced timeseries regardless of the current state).\n\nThis field can be used to mark the instance as temporary ineligible\nfor the purpose of SLO calculation. For permanent instance SLO exclusion,\nuse of custom instance eligibility is recommended. See 'eligibility' field\nbelow.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" + }, + "type": "array" + }, + "nodes": { + "description": "Optional. List of nodes.\nSome producers need to use per-node metadata to calculate SLO.\nThis field allows such producers to publish per-node SLO meta data,\nwhich will be consumed by SSA Eligibility Exporter and published in the\nform of per node metric to Monarch.", + "items": { + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata" + }, + "type": "array" + }, + "tier": { + "description": "Name of the SLO tier the Instance belongs to. This name will be expected to\nmatch the tiers specified in the service SLO configuration.\n\nField is mandatory and must not be empty.", + "type": "string" + } + }, + "type": "object" + }, + "Instance": { + "id": "Instance", + "properties": { + "authorizedNetwork": { + "description": "The full name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the\ninstance is connected. If left unspecified, the `default` network\nwill be used.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "type": "string" + }, + "discoveryEndpoint": { + "description": "Output only. Endpoint for Discovery API", + "type": "string" + }, + "displayName": { + "description": "User provided name for the instance only used for display\npurposes. Cannot be more than 80 characters.", + "type": "string" + }, + "instanceMessages": { + "description": "List of messages that describe current statuses of memcached instance.", + "items": { + "$ref": "InstanceMessage" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user-provided metadata.\nRefer to cloud documentation on labels for more details.\nhttps://cloud.google.com/compute/docs/labeling-resources", + "type": "object" + }, + "memcacheFullVersion": { + "description": "Output only. The full version of memcached server running on this instance.\nSystem automatically determines the full memcached version for an instance\nbased on the input MemcacheVersion.\nThe full version format will be \"memcached-1.5.16\".", + "type": "string" + }, + "memcacheNodes": { + "description": "Output only. List of Memcached nodes.\nRefer to [Node] message for more details.", + "items": { + "$ref": "Node" + }, + "type": "array" + }, + "memcacheVersion": { + "description": "The major version of Memcached software.\nIf not provided, latest supported version will be used. Currently the\nlatest supported major version is MEMCACHE_1_5.\nThe minor version will be automatically determined by our system based on\nthe latest supported minor version.", + "enum": [ + "MEMCACHE_VERSION_UNSPECIFIED", + "MEMCACHE_1_5" + ], + "enumDescriptions": [ + "", + "Memcached 1.5 version." + ], + "type": "string" + }, + "name": { + "description": "Required. Unique name of the resource in this scope including project and\nlocation using the form:\n `projects/{project_id}/locations/{location_id}/instances/{instance_id}`\n\nNote: Memcached instances are managed and addressed at regional level so\nlocation_id here refers to a GCP region; however, users may choose which\nzones Memcached nodes within an instances should be provisioned in.\nRefer to [zones] field for more details.", + "type": "string" + }, + "nodeConfig": { + "$ref": "NodeConfig", + "description": "Required. Configuration for Memcached nodes." + }, + "nodeCount": { + "description": "Required. Number of nodes in the Memcached instance.", + "format": "int32", + "type": "integer" + }, + "parameters": { + "$ref": "MemcacheParameters", + "description": "Optional: User defined parameters to apply to the memcached process\non each node." + }, + "state": { + "description": "Output only. The state of this Memcached instance.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "PERFORMING_MAINTENANCE" + ], + "enumDescriptions": [ + "State not set.", + "Memcached instance is being created.", + "Memcached instance has been created and ready to be used.", + "Memcached instance is being deleted.", + "Memcached instance is going through maintenance, e.g. data plane rollout." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the instance was updated.", + "format": "google-datetime", + "type": "string" + }, + "zones": { + "description": "Zones where Memcached nodes should be provisioned in.\nMemcached nodes will be equally distributed across these zones. If not\nprovided, the service will by default create nodes in all zones in the\nregion for the instance.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceMessage": { + "id": "InstanceMessage", + "properties": { + "code": { + "description": "A code that correspond to one type of user-facing message.", + "enum": [ + "CODE_UNSPECIFIED", + "ZONE_DISTRIBUTION_UNBALANCED" + ], + "enumDescriptions": [ + "Message Code not set.", + "Memcached nodes are distributed unevenly." + ], + "type": "string" + }, + "message": { + "description": "Message on memcached instance which will be exposed to users.", + "type": "string" + } + }, + "type": "object" + }, + "ListInstancesResponse": { + "description": "Response for ListInstances.", + "id": "ListInstancesResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + }, + "resources": { + "description": "A list of Memcached instances in the project in the specified location,\nor across all locations.\n\nIf the `location_id` in the parent field of the request is \"-\", all regions\navailable to the project are queried, and the results aggregated.", + "items": { + "$ref": "Instance" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MemcacheParameters": { + "id": "MemcacheParameters", + "properties": { + "id": { + "description": "Output only. The unique ID associated with this set of parameters. Users\ncan use this id to determine if the parameters associated with the instance\ndiffer from the parameters associated with the nodes and any action needs\nto be taken to apply parameters on nodes.", + "type": "string" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "description": "User defined set of parameters to use in the memcached process.", + "type": "object" + } + }, + "type": "object" + }, + "Node": { + "id": "Node", + "properties": { + "host": { + "description": "Output only. Hostname or IP address of the Memcached node used by the\nclients to connect to the Memcached server on this node.", + "type": "string" + }, + "nodeId": { + "description": "Output only. Identifier of the Memcached node. The node id does not\ninclude project or location like the Memcached instance name.", + "type": "string" + }, + "parameters": { + "$ref": "MemcacheParameters", + "description": "User defined parameters currently applied to the node." + }, + "port": { + "description": "Output only. The port number of the Memcached server on this node.", + "format": "int32", + "type": "integer" + }, + "state": { + "description": "Output only. Current state of the Memcached node.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "UPDATING" + ], + "enumDescriptions": [ + "Node state is not set.", + "Node is being created.", + "Node has been created and ready to be used.", + "Node is being deleted.", + "Node is being updated." + ], + "type": "string" + }, + "zone": { + "description": "Output only. Location (GCP Zone) for the Memcached node.", + "type": "string" + } + }, + "type": "object" + }, + "NodeConfig": { + "description": "Configuration for a Memcached Node.", + "id": "NodeConfig", + "properties": { + "cpuCount": { + "description": "Required. Number of cpus per Memcached node.", + "format": "int32", + "type": "integer" + }, + "memorySizeMb": { + "description": "Required. Memory size in MiB for each Memcached node.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "UpdateParametersRequest": { + "description": "Request for UpdateParameters.", + "id": "UpdateParametersRequest", + "properties": { + "parameters": { + "$ref": "MemcacheParameters", + "description": "The parameters to apply to the instance." + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "ZoneMetadata": { + "id": "ZoneMetadata", + "properties": {}, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Memorystore for Memcached API", + "version": "v1beta2", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/ml/v1/ml-api.json b/etc/api/ml/v1/ml-api.json index 2be682073d..c11f428142 100644 --- a/etc/api/ml/v1/ml-api.json +++ b/etc/api/ml/v1/ml-api.json @@ -111,7 +111,7 @@ "projects": { "methods": { "explain": { - "description": "Performs explanation on the data in the request.\nAI Platform implements a custom `explain` verb on top of an HTTP POST\nmethod.", + "description": "Performs explanation on the data in the request.\n\n
{% dynamic include \"/ai-platform/includes/___explain-request\" %}
", "flatPath": "v1/projects/{projectsId}:explain", "httpMethod": "POST", "id": "ml.projects.explain", @@ -287,7 +287,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -385,7 +385,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:setIamPolicy", "httpMethod": "POST", "id": "ml.projects.jobs.setIamPolicy", @@ -413,7 +413,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:testIamPermissions", "httpMethod": "POST", "id": "ml.projects.jobs.testIamPermissions", @@ -678,7 +678,7 @@ "trials": { "methods": { "addMeasurement": { - "description": "Adds a measurement of the objective metrics to a Trial. This measurement\nis assumed to have been taken before the Trial is complete.", + "description": "Adds a measurement of the objective metrics to a trial. This measurement\nis assumed to have been taken before the trial is complete.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addMeasurement", "httpMethod": "POST", "id": "ml.projects.locations.studies.trials.addMeasurement", @@ -706,7 +706,7 @@ ] }, "checkEarlyStoppingState": { - "description": "Checks whether a trial should stop or not.", + "description": "Checks whether a trial should stop or not. Returns a\nlong-running operation. When the operation is successful,\nit will contain a\nCheckTrialEarlyStoppingStateResponse.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkEarlyStoppingState", "httpMethod": "POST", "id": "ml.projects.locations.studies.trials.checkEarlyStoppingState", @@ -734,7 +734,7 @@ ] }, "complete": { - "description": "Marks a Trial as complete.", + "description": "Marks a trial as complete.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete", "httpMethod": "POST", "id": "ml.projects.locations.studies.trials.complete", @@ -743,7 +743,7 @@ ], "parameters": { "name": { - "description": "Required. The trial name.", + "description": "Required. The trial name.metat", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", "required": true, @@ -762,7 +762,7 @@ ] }, "create": { - "description": "Adds a user provided trial to a Study.", + "description": "Adds a user provided trial to a study.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", "httpMethod": "POST", "id": "ml.projects.locations.studies.trials.create", @@ -790,7 +790,7 @@ ] }, "delete": { - "description": "Deletes a Trial.", + "description": "Deletes a trial.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", "httpMethod": "DELETE", "id": "ml.projects.locations.studies.trials.delete", @@ -815,7 +815,7 @@ ] }, "get": { - "description": "Gets a Trial.", + "description": "Gets a trial.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", "httpMethod": "GET", "id": "ml.projects.locations.studies.trials.get", @@ -840,7 +840,7 @@ ] }, "list": { - "description": "Lists the trials associated with a Study.", + "description": "Lists the trials associated with a study.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", "httpMethod": "GET", "id": "ml.projects.locations.studies.trials.list", @@ -893,7 +893,7 @@ ] }, "suggest": { - "description": "Returns a long-running operation associated with the generation of trial\nsuggestions.", + "description": "Adds one or more trials to a study, with parameter values\nsuggested by AI Platform Optimizer. Returns a long-running\noperation associated with the generation of trial suggestions.\nWhen this long-running operation succeeds, it will contain\na SuggestTrialsResponse.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest", "httpMethod": "POST", "id": "ml.projects.locations.studies.trials.suggest", @@ -1017,7 +1017,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -1115,7 +1115,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/models/{modelsId}:setIamPolicy", "httpMethod": "POST", "id": "ml.projects.models.setIamPolicy", @@ -1143,7 +1143,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/models/{modelsId}:testIamPermissions", "httpMethod": "POST", "id": "ml.projects.models.testIamPermissions", @@ -1458,7 +1458,7 @@ } } }, - "revision": "20200328", + "revision": "20200703", "rootUrl": "https://ml.googleapis.com/", "schemas": { "GoogleApi__HttpBody": { @@ -1492,7 +1492,7 @@ "id": "GoogleCloudMlV1_AutomatedStoppingConfig_DecayCurveAutomatedStoppingConfig", "properties": { "useElapsedTime": { - "description": "True if measurement.elapsed_time is used as the x-axis of each\nTrials Decay Curve. Otherwise, Measurement.steps will be used as the\nx-axis.", + "description": "If true, measurement.elapsed_time is used as the x-axis of each\nTrials Decay Curve. Otherwise, Measurement.steps will be used as the\nx-axis.", "type": "boolean" } }, @@ -1503,7 +1503,7 @@ "id": "GoogleCloudMlV1_AutomatedStoppingConfig_MedianAutomatedStoppingConfig", "properties": { "useElapsedTime": { - "description": "True if median automated stopping rule applies on\nmeasurement.use_elapsed_time. it means that elapsed_time field of\nlatest measurement of current trial is used to compute median objective\nvalue for each completed trials.", + "description": "If true, the median automated stopping rule applies to\nmeasurement.use_elapsed_time, which means the elapsed_time field of\nthe current trial's\nlatest measurement is used to compute the median objective\nvalue for each completed trial.", "type": "boolean" } }, @@ -1748,7 +1748,7 @@ "type": "object" }, "GoogleCloudMlV1_Trial_Parameter": { - "description": "A message representing a parameter to be tuned.", + "description": "A message representing a parameter to be tuned. Contains the name of\nthe parameter and the suggested value to use for this trial.", "id": "GoogleCloudMlV1_Trial_Parameter", "properties": { "floatValue": { @@ -1926,7 +1926,7 @@ "id": "GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata", "properties": { "createTime": { - "description": "The time operation was submitted.", + "description": "The time at which the operation was submitted.", "format": "google-datetime", "type": "string" }, @@ -1935,7 +1935,7 @@ "type": "string" }, "trial": { - "description": "The Trial name.", + "description": "The trial name.", "type": "string" } }, @@ -1952,7 +1952,7 @@ "id": "GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse", "properties": { "endTime": { - "description": "The time operation processing completed.", + "description": "The time at which operation processing completed.", "format": "google-datetime", "type": "string" }, @@ -1961,7 +1961,7 @@ "type": "boolean" }, "startTime": { - "description": "The time operation was started.", + "description": "The time at which the operation was started.", "format": "google-datetime", "type": "string" } @@ -1977,7 +1977,7 @@ "description": "Optional. If provided, it will be used as the completed trial's\nfinal_measurement; Otherwise, the service will auto-select a\npreviously reported measurement as the final-measurement" }, "infeasibleReason": { - "description": "Optional. A human readable reason why the Trial was infeasible. This should\nonly be provided if `trial_infeasible` is true.", + "description": "Optional. A human readable reason why the trial was infeasible. This should\nonly be provided if `trial_infeasible` is true.", "type": "string" }, "trialInfeasible": { @@ -2002,7 +2002,7 @@ "id": "GoogleCloudMlV1__EncryptionConfig", "properties": { "kmsKeyName": { - "description": "The Cloud KMS resource identifier of the customer managed encryption key\nused to protect a resource, such as a training job. Has the form:\n`projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.", + "description": "The Cloud KMS resource identifier of the customer-managed encryption key\nused to protect a resource, such as a training job. It has the following\nformat:\n`projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cryptoKeys/{KEY_NAME}`", "type": "string" } }, @@ -2020,7 +2020,7 @@ "type": "object" }, "GoogleCloudMlV1__ExplanationConfig": { - "description": "Message holding configuration options for explaining model predictions.\nThere are two feature attribution methods supported for TensorFlow models:\nintegrated gradients and sampled Shapley.\n[Learn more about feature\nattributions.](/ml-engine/docs/ai-explanations/overview)", + "description": "Message holding configuration options for explaining model predictions.\nThere are two feature attribution methods supported for TensorFlow models:\nintegrated gradients and sampled Shapley.\n[Learn more about feature\nattributions.](/ai-platform/prediction/docs/ai-explanations/overview)", "id": "GoogleCloudMlV1__ExplanationConfig", "properties": { "integratedGradientsAttribution": { @@ -2198,7 +2198,7 @@ "type": "object" }, "GoogleCloudMlV1__IntegratedGradientsAttribution": { - "description": "Attributes credit by computing the Aumann-Shapley value taking advantage\nof the model's fully differentiable structure. Refer to this paper for\nmore details: http://proceedings.mlr.press/v70/sundararajan17a.html", + "description": "Attributes credit by computing the Aumann-Shapley value taking advantage\nof the model's fully differentiable structure. Refer to this paper for\nmore details: https://arxiv.org/abs/1703.01365", "id": "GoogleCloudMlV1__IntegratedGradientsAttribution", "properties": { "numIntegralSteps": { @@ -2348,7 +2348,7 @@ "id": "GoogleCloudMlV1__ListStudiesResponse", "properties": { "studies": { - "description": "The Studies associated with the project.", + "description": "The studies associated with the project.", "items": { "$ref": "GoogleCloudMlV1__Study" }, @@ -2418,11 +2418,11 @@ "type": "object" }, "GoogleCloudMlV1__Measurement": { - "description": "A message representing a Measurement.", + "description": "A message representing a measurement.", "id": "GoogleCloudMlV1__Measurement", "properties": { "elapsedTime": { - "description": "Time that the Trial has been running at the point of this Measurement.", + "description": "Output only. Time that the trial has been running at the point of\nthis measurement.", "format": "google-duration", "type": "string" }, @@ -2762,6 +2762,20 @@ "$ref": "GoogleCloudMlV1__AcceleratorConfig", "description": "Represents the type and number of accelerators used by the replica.\n[Learn about restrictions on accelerator configurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)" }, + "containerArgs": { + "description": "Arguments to the entrypoint command.\nThe following rules apply for container_command and container_args:\n- If you do not supply command or args:\n The defaults defined in the Docker image are used.\n- If you supply a command but no args:\n The default EntryPoint and the default Cmd defined in the Docker image\n are ignored. Your command is run without any arguments.\n- If you supply only args:\n The default Entrypoint defined in the Docker image is run with the args\n that you supplied.\n- If you supply a command and args:\n The default Entrypoint and the default Cmd defined in the Docker image\n are ignored. Your command is run with your args.\nIt cannot be set if custom container image is\nnot provided.\nNote that this field and [TrainingInput.args] are mutually exclusive, i.e.,\nboth cannot be set at the same time.", + "items": { + "type": "string" + }, + "type": "array" + }, + "containerCommand": { + "description": "The command with which the replica's custom container is run.\nIf provided, it will override default ENTRYPOINT of the docker image.\nIf not provided, the docker image's ENTRYPOINT is used.\nIt cannot be set if custom container image is\nnot provided.\nNote that this field and [TrainingInput.args] are mutually exclusive, i.e.,\nboth cannot be set at the same time.", + "items": { + "type": "string" + }, + "type": "array" + }, "imageUri": { "description": "The Docker image to run on the replica. This image must be in Container\nRegistry. Learn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers).", "type": "string" @@ -2806,7 +2820,11 @@ "id": "GoogleCloudMlV1__Scheduling", "properties": { "maxRunningTime": { - "description": "Optional. The maximum job running time, expressed in seconds. The field can\ncontain up to nine fractional digits, terminated by `s`. By default there\nis no limit to the running time.\n\nIf the training job is still running after this duration, AI Platform\nTraining cancels it.\n\nFor example, if you want to ensure your job runs for no more than 2 hours,\nset this field to `7200s` (2 hours * 60 minutes / hour * 60 seconds /\nminute).\n\nIf you submit your training job using the `gcloud` tool, you can [provide\nthis field in a `config.yaml`\nfile](/ai-platform/training/docs/training-jobs#formatting_your_configuration_parameters).\nFor example:\n\n```yaml\ntrainingInput:\n ...\n scheduling:\n maxRunningTime: 7200s\n ...\n```", + "description": "Optional. The maximum job running time, expressed in seconds. The field can\ncontain up to nine fractional digits, terminated by `s`. If not specified,\nthis field defaults to `604800s` (seven days).\n\nIf the training job is still running after this duration, AI Platform\nTraining cancels it.\n\nFor example, if you want to ensure your job runs for no more than 2 hours,\nset this field to `7200s` (2 hours * 60 minutes / hour * 60 seconds /\nminute).\n\nIf you submit your training job using the `gcloud` tool, you can [provide\nthis field in a `config.yaml`\nfile](/ai-platform/training/docs/training-jobs#formatting_your_configuration_parameters).\nFor example:\n\n```yaml\ntrainingInput:\n ...\n scheduling:\n maxRunningTime: 7200s\n ...\n```", + "format": "google-duration", + "type": "string" + }, + "maxWaitTime": { "format": "google-duration", "type": "string" } @@ -2829,7 +2847,7 @@ "id": "GoogleCloudMlV1__Study", "properties": { "createTime": { - "description": "Output only. Time that the study was created.", + "description": "Output only. Time at which the study was created.", "format": "google-datetime", "type": "string" }, @@ -2889,6 +2907,7 @@ "description": "Configuration for automated stopping of unpromising Trials." }, "metrics": { + "description": "Metric specs for the study.", "items": { "$ref": "GoogleCloudMlV1_StudyConfig_MetricSpec" }, @@ -2950,12 +2969,12 @@ "id": "GoogleCloudMlV1__SuggestTrialsResponse", "properties": { "endTime": { - "description": "The time operation processing completed.", + "description": "The time at which operation processing completed.", "format": "google-datetime", "type": "string" }, "startTime": { - "description": "The time operation was started.", + "description": "The time at which the operation was started.", "format": "google-datetime", "type": "string" }, @@ -2976,7 +2995,7 @@ "type": "string" }, "trials": { - "description": "A list of Trials.", + "description": "A list of trials.", "items": { "$ref": "GoogleCloudMlV1__Trial" }, @@ -2990,7 +3009,7 @@ "id": "GoogleCloudMlV1__TrainingInput", "properties": { "args": { - "description": "Optional. Arguments passed to the training.\n- If it is a python package training:\n It will be passed as command line argument to the program.\n- If it is a custom container training,\n It will be passed as an argument to the custom container\n image.", + "description": "Optional. Command-line arguments passed to the training application when it\nstarts. If your job uses a custom container, then the arguments are passed\nto the container's \n`ENTRYPOINT` command.", "items": { "type": "string" }, @@ -2998,11 +3017,11 @@ }, "encryptionConfig": { "$ref": "GoogleCloudMlV1__EncryptionConfig", - "description": "Custom encryption key options for a training job. If this is set,\nthen all resources created by the training job will be encrypted with the\nprovided encryption key." + "description": "Optional. Options for using customer-managed encryption keys (CMEK) to\nprotect resources created by a training job, instead of using Google's\ndefault encryption. If this is set, then all resources created by the\ntraining job will be encrypted with the customer-managed encryption key\nthat you specify.\n\n[Learn how and when to use CMEK with AI Platform\nTraining](/ai-platform/training/docs/cmek)." }, "evaluatorConfig": { "$ref": "GoogleCloudMlV1__ReplicaConfig", - "description": "Optional. The configuration for evaluators.\n\nYou should only set `evaluatorConfig.acceleratorConfig` if\n`evaluatorType` is set to a Compute Engine machine type. [Learn\nabout restrictions on accelerator configurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `evaluatorConfig.imageUri` only if you build a custom image for\nyour evaluator. If `evaluatorConfig.imageUri` has not been\nset, AI Platform uses the value of `masterConfig.imageUri` .\nLearn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)." + "description": "Optional. The configuration for evaluators.\n\nYou should only set `evaluatorConfig.acceleratorConfig` if\n`evaluatorType` is set to a Compute Engine machine type. [Learn\nabout restrictions on accelerator configurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `evaluatorConfig.imageUri` only if you build a custom image for\nyour evaluator. If `evaluatorConfig.imageUri` has not been\nset, AI Platform uses the value of `masterConfig.imageUri`. Learn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)." }, "evaluatorCount": { "description": "Optional. The number of evaluator replicas to use for the training job.\nEach replica in the cluster will be of the type specified in\n`evaluator_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `evaluator_type`.\n\nThe default value is zero.", @@ -3029,6 +3048,10 @@ "description": "Optional. Specifies the type of virtual machine to use for your training\njob's master worker. You must specify this field when `scaleTier` is set to\n`CUSTOM`.\n\nYou can use certain Compute Engine machine types directly in this field.\nThe following types are supported:\n\n- `n1-standard-4`\n- `n1-standard-8`\n- `n1-standard-16`\n- `n1-standard-32`\n- `n1-standard-64`\n- `n1-standard-96`\n- `n1-highmem-2`\n- `n1-highmem-4`\n- `n1-highmem-8`\n- `n1-highmem-16`\n- `n1-highmem-32`\n- `n1-highmem-64`\n- `n1-highmem-96`\n- `n1-highcpu-16`\n- `n1-highcpu-32`\n- `n1-highcpu-64`\n- `n1-highcpu-96`\n\nLearn more about [using Compute Engine machine\ntypes](/ml-engine/docs/machine-types#compute-engine-machine-types).\n\nAlternatively, you can use the following legacy machine types:\n\n- `standard`\n- `large_model`\n- `complex_model_s`\n- `complex_model_m`\n- `complex_model_l`\n- `standard_gpu`\n- `complex_model_m_gpu`\n- `complex_model_l_gpu`\n- `standard_p100`\n- `complex_model_m_p100`\n- `standard_v100`\n- `large_model_v100`\n- `complex_model_m_v100`\n- `complex_model_l_v100`\n\nLearn more about [using legacy machine\ntypes](/ml-engine/docs/machine-types#legacy-machine-types).\n\nFinally, if you want to use a TPU for training, specify `cloud_tpu` in this\nfield. Learn more about the [special configuration options for training\nwith\nTPUs](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tpu_machine).", "type": "string" }, + "network": { + "description": "Optional. The full name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the Job\nis peered. For example, projects/12345/global/networks/myVPC. Format is of\nthe form projects/{project}/global/networks/{network}. Where {project} is a\nproject number, as in '12345', and {network} is network name.\".\n\nPrivate services access must already be configured for the network. If left\nunspecified, the Job is not peered with any network. Learn more -\nConnecting Job to user network over private\nIP.", + "type": "string" + }, "packageUris": { "description": "Required. The Google Cloud Storage location of the packages with\nthe training program and any additional dependencies.\nThe maximum number of package URIs is 100.", "items": { @@ -3038,7 +3061,7 @@ }, "parameterServerConfig": { "$ref": "GoogleCloudMlV1__ReplicaConfig", - "description": "Optional. The configuration for parameter servers.\n\nYou should only set `parameterServerConfig.acceleratorConfig` if\n`parameterServerType` is set to a Compute Engine machine type. [Learn\nabout restrictions on accelerator configurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `parameterServerConfig.imageUri` only if you build a custom image for\nyour parameter server. If `parameterServerConfig.imageUri` has not been\nset, AI Platform uses the value of `masterConfig.imageUri` .\nLearn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)." + "description": "Optional. The configuration for parameter servers.\n\nYou should only set `parameterServerConfig.acceleratorConfig` if\n`parameterServerType` is set to a Compute Engine machine type. [Learn\nabout restrictions on accelerator configurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `parameterServerConfig.imageUri` only if you build a custom image for\nyour parameter server. If `parameterServerConfig.imageUri` has not been\nset, AI Platform uses the value of `masterConfig.imageUri`. Learn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)." }, "parameterServerCount": { "description": "Optional. The number of parameter server replicas to use for the training\njob. Each replica in the cluster will be of the type specified in\n`parameter_server_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `parameter_server_type`.\n\nThe default value is zero.", @@ -3089,13 +3112,17 @@ "$ref": "GoogleCloudMlV1__Scheduling", "description": "Optional. Scheduling options for a training job." }, + "serviceAccount": { + "description": "Optional. Specifies the service account for workload run-as account.\nUsers submitting jobs must have act-as permission on this run-as account.\nIf not specified, then CMLE P4SA will be used by default.", + "type": "string" + }, "useChiefInTfConfig": { "description": "Optional. Use `chief` instead of `master` in the `TF_CONFIG` environment\nvariable when training with a custom container. Defaults to `false`. [Learn\nmore about this\nfield.](/ai-platform/training/docs/distributed-training-details#chief-versus-master)\n\nThis field has no effect for training jobs that don't use a custom\ncontainer.", "type": "boolean" }, "workerConfig": { "$ref": "GoogleCloudMlV1__ReplicaConfig", - "description": "Optional. The configuration for workers.\n\nYou should only set `workerConfig.acceleratorConfig` if `workerType` is set\nto a Compute Engine machine type. [Learn about restrictions on accelerator\nconfigurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `workerConfig.imageUri` only if you build a custom image for your\nworker. If `workerConfig.imageUri` has not been set, AI Platform uses\nthe value of `masterConfig.imageUri` .\nLearn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)." + "description": "Optional. The configuration for workers.\n\nYou should only set `workerConfig.acceleratorConfig` if `workerType` is set\nto a Compute Engine machine type. [Learn about restrictions on accelerator\nconfigurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `workerConfig.imageUri` only if you build a custom image for your\nworker. If `workerConfig.imageUri` has not been set, AI Platform uses\nthe value of `masterConfig.imageUri`. Learn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)." }, "workerCount": { "description": "Optional. The number of worker replicas to use for the training job. Each\nreplica in the cluster will be of the type specified in `worker_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `worker_type`.\n\nThe default value is zero.", @@ -3150,7 +3177,7 @@ "type": "object" }, "GoogleCloudMlV1__Trial": { - "description": "A message representing a Trial.", + "description": "A message representing a trial.", "id": "GoogleCloudMlV1__Trial", "properties": { "clientId": { @@ -3158,16 +3185,16 @@ "type": "string" }, "endTime": { - "description": "Output only. Time the Trial's status changed to COMPLETED.", + "description": "Output only. Time at which the trial's status changed to COMPLETED.", "format": "google-datetime", "type": "string" }, "finalMeasurement": { "$ref": "GoogleCloudMlV1__Measurement", - "description": "The final Measurement containing the objective value." + "description": "The final measurement containing the objective value." }, "infeasibleReason": { - "description": "Output only. A human readable string describing why the Trial is\ninfeasible. This should only be set if trial_infeasible is true.", + "description": "Output only. A human readable string describing why the trial is\ninfeasible. This should only be set if trial_infeasible is true.", "type": "string" }, "measurements": { @@ -3182,14 +3209,14 @@ "type": "string" }, "parameters": { - "description": "The parameters of the Trial.", + "description": "The parameters of the trial.", "items": { "$ref": "GoogleCloudMlV1_Trial_Parameter" }, "type": "array" }, "startTime": { - "description": "Output only. Time the Trial was started.", + "description": "Output only. Time at which the trial was started.", "format": "google-datetime", "type": "string" }, @@ -3204,15 +3231,15 @@ ], "enumDescriptions": [ "The trial state is unspecified.", - "Indicates that a specific Trial has been requested, but it has not yet\nbeen suggested by the service.", - "Indicates that the Trial has been suggested.", - "Indicates that the Trial is done, and either has a final_measurement\nset, or is marked as trial_infeasible.", - "Indicates that the Trial should stop according to the service." + "Indicates that a specific trial has been requested, but it has not yet\nbeen suggested by the service.", + "Indicates that the trial has been suggested.", + "Indicates that the trial is done, and either has a final_measurement\nset, or is marked as trial_infeasible.", + "Indicates that the trial should stop according to the service." ], "type": "string" }, "trialInfeasible": { - "description": "Output only. True if the parameters in this trial should not be attempted again.", + "description": "Output only. If true, the parameters in this trial are not attempted again.", "type": "boolean" } }, @@ -3363,7 +3390,7 @@ "type": "object" }, "GoogleIamV1__AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "GoogleIamV1__AuditConfig", "properties": { "auditLogConfigs": { @@ -3381,7 +3408,7 @@ "type": "object" }, "GoogleIamV1__AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "GoogleIamV1__AuditLogConfig", "properties": { "exemptedMembers": { @@ -3416,7 +3443,7 @@ "properties": { "condition": { "$ref": "GoogleType__Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -3433,7 +3460,7 @@ "type": "object" }, "GoogleIamV1__Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "GoogleIamV1__Policy", "properties": { "auditConfigs": { @@ -3456,7 +3483,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -3472,7 +3499,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/monitoring/v1/monitoring-api.json b/etc/api/monitoring/v1/monitoring-api.json index bf047305de..c76fdf46a4 100644 --- a/etc/api/monitoring/v1/monitoring-api.json +++ b/etc/api/monitoring/v1/monitoring-api.json @@ -275,7 +275,7 @@ } } }, - "revision": "20200329", + "revision": "20200708", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -896,6 +896,30 @@ }, "type": "object" }, + "StatisticalTimeSeriesFilter": { + "description": "A filter that ranks streams based on their statistical relation to other streams in a request. Note: This field is deprecated and completely ignored by the API.", + "id": "StatisticalTimeSeriesFilter", + "properties": { + "numTimeSeries": { + "description": "How many time series to output.", + "format": "int32", + "type": "integer" + }, + "rankingMethod": { + "description": "rankingMethod is applied to a set of time series, and then the produced value for each individual time series is used to compare a given time series to others. These are methods that cannot be applied stream-by-stream, but rather require the full context of a request to evaluate time series.", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_CLUSTER_OUTLIER" + ], + "enumDescriptions": [ + "Not allowed in well-formed requests.", + "Compute the outlier score of each stream." + ], + "type": "string" + } + }, + "type": "object" + }, "Text": { "description": "A widget that displays textual content.", "id": "Text", @@ -980,6 +1004,14 @@ "pickTimeSeriesFilter": { "$ref": "PickTimeSeriesFilter", "description": "Ranking based time series filter." + }, + "secondaryAggregation": { + "$ref": "Aggregation", + "description": "Apply a second aggregation after aggregation is applied." + }, + "statisticalTimeSeriesFilter": { + "$ref": "StatisticalTimeSeriesFilter", + "description": "Statistics based time series filter. Note: This field is deprecated and completely ignored by the API." } }, "type": "object" @@ -1003,6 +1035,10 @@ "secondaryAggregation": { "$ref": "Aggregation", "description": "Apply a second aggregation after the ratio is computed." + }, + "statisticalTimeSeriesFilter": { + "$ref": "StatisticalTimeSeriesFilter", + "description": "Statistics based time series filter. Note: This field is deprecated and completely ignored by the API." } }, "type": "object" diff --git a/etc/api/monitoring/v3/monitoring-api.json b/etc/api/monitoring/v3/monitoring-api.json index 3ce44153cd..c1a8a34767 100644 --- a/etc/api/monitoring/v3/monitoring-api.json +++ b/etc/api/monitoring/v3/monitoring-api.json @@ -128,7 +128,7 @@ ], "parameters": { "name": { - "description": "Required. The project in which to create the alerting policy. The format is:\nprojects/[PROJECT_ID_OR_NUMBER]\nNote that this field names the parent container in which the alerting policy will be written, not the name of the created policy. The alerting policy that is returned will have a name that contains a normalized representation of this name as a prefix but adds a suffix of the form /alertPolicies/[ALERT_POLICY_ID], identifying the policy in the container.", + "description": "Required. The project in which to create the alerting policy. The format is:\nprojects/[PROJECT_ID_OR_NUMBER]\nNote that this field names the parent container in which the alerting policy will be written, not the name of the created policy. |name| must be a host project of a workspace, otherwise INVALID_ARGUMENT error will return. The alerting policy that is returned will have a name that contains a normalized representation of this name as a prefix but adds a suffix of the form /alertPolicies/[ALERT_POLICY_ID], identifying the policy in the container.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -201,7 +201,7 @@ ] }, "list": { - "description": "Lists the existing alerting policies for the project.", + "description": "Lists the existing alerting policies for the workspace.", "flatPath": "v3/projects/{projectsId}/alertPolicies", "httpMethod": "GET", "id": "monitoring.projects.alertPolicies.list", @@ -1262,7 +1262,7 @@ ] }, "query": { - "description": "Queries time series using the time series query language. This method does not require a Workspace.", + "description": "Queries time series using Monitoring Query Language. This method does not require a Workspace.", "flatPath": "v3/projects/{projectsId}/timeSeries:query", "httpMethod": "POST", "id": "monitoring.projects.timeSeries.query", @@ -1553,7 +1553,7 @@ ], "parameters": { "filter": { - "description": "A filter specifying what Services to return. The filter currently supports the following fields:\n- `identifier_case`\n- `app_engine.module_id`\n- `cloud_endpoints.service`\n- `cluster_istio.location`\n- `cluster_istio.cluster_name`\n- `cluster_istio.service_namespace`\n- `cluster_istio.service_name`\nidentifier_case refers to which option in the identifier oneof is populated. For example, the filter identifier_case = \"CUSTOM\" would match all services with a value for the custom field. Valid options are \"CUSTOM\", \"APP_ENGINE\", \"CLOUD_ENDPOINTS\", and \"CLUSTER_ISTIO\".", + "description": "A filter specifying what Services to return. The filter currently supports the following fields:\n- `identifier_case`\n- `app_engine.module_id`\n- `cloud_endpoints.service`\n- `mesh_istio.mesh_uid`\n- `mesh_istio.service_namespace`\n- `mesh_istio.service_name`\n- `cluster_istio.location` (deprecated)\n- `cluster_istio.cluster_name` (deprecated)\n- `cluster_istio.service_namespace` (deprecated)\n- `cluster_istio.service_name` (deprecated)\nidentifier_case refers to which option in the identifier oneof is populated. For example, the filter identifier_case = \"CUSTOM\" would match all services with a value for the custom field. Valid options are \"CUSTOM\", \"APP_ENGINE\", \"CLOUD_ENDPOINTS\", \"MESH_ISTIO\", and \"CLUSTER_ISTIO\" (deprecated),", "location": "query", "type": "string" }, @@ -1848,7 +1848,7 @@ } } }, - "revision": "20200329", + "revision": "20200708", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -2276,10 +2276,6 @@ "$ref": "MetricThreshold", "description": "A condition that compares a time series against a threshold." }, - "conditionTimeSeriesQueryLanguage": { - "$ref": "TimeSeriesQueryLanguageCondition", - "description": "A condition that uses the Monitoring Query Language to define alerts. If set, no other conditions can be present." - }, "displayName": { "description": "A short name or phrase used to identify the condition in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple conditions in the same policy.", "type": "string" @@ -2766,6 +2762,23 @@ "$ref": "BasicAuthentication", "description": "The authentication information. Optional when creating an HTTP check; defaults to empty." }, + "body": { + "description": "The request body associated with the HTTP POST request. If content_type is URL_ENCODED, the body passed in must be URL-encoded. Users can provide a Content-Length header via the headers field or the API will do so. If the request_method is GET and body is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note: As with all bytes fields JSON representations are base64 encoded. e.g.: \"foo=bar\" in URL-encoded form is \"foo%3Dbar\" and in base64 encoding is \"Zm9vJTI1M0RiYXI=\".", + "format": "byte", + "type": "string" + }, + "contentType": { + "description": "The content type to use for the check.", + "enum": [ + "TYPE_UNSPECIFIED", + "URL_ENCODED" + ], + "enumDescriptions": [ + "No content type specified. If the request method is POST, an unspecified content type results in a check creation rejection.", + "body is in URL-encoded form. Equivalent to setting the Content-Type to application/x-www-form-urlencoded in the HTTP request." + ], + "type": "string" + }, "headers": { "additionalProperties": { "type": "string" @@ -2774,7 +2787,7 @@ "type": "object" }, "maskHeaders": { - "description": "Boolean specifiying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if mask_headers is set to true then the headers will be obscured with ******.", + "description": "Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if mask_headers is set to true then the headers will be obscured with ******.", "type": "boolean" }, "path": { @@ -2786,6 +2799,20 @@ "format": "int32", "type": "integer" }, + "requestMethod": { + "description": "The HTTP request method to use for the check. If set to METHOD_UNSPECIFIED then request_method defaults to GET.", + "enum": [ + "METHOD_UNSPECIFIED", + "GET", + "POST" + ], + "enumDescriptions": [ + "No request method specified.", + "GET request.", + "POST request." + ], + "type": "string" + }, "useSsl": { "description": "If true, use HTTPS instead of HTTP to run the check.", "type": "boolean" @@ -2935,6 +2962,11 @@ "nextPageToken": { "description": "If there might be more results than were returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method.", "type": "string" + }, + "totalSize": { + "description": "The total number of alert policies in all pages. This number is only an estimate, and may change in subsequent pages. https://aip.dev/158", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -3048,6 +3080,11 @@ "$ref": "NotificationChannel" }, "type": "array" + }, + "totalSize": { + "description": "The total number of notification channels in all pages. This number is only an estimate, and may change in subsequent pages. https://aip.dev/158", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -3109,6 +3146,10 @@ "$ref": "TimeSeries" }, "type": "array" + }, + "unit": { + "description": "The unit in which all time_series point values are reported. unit follows the UCUM format for units as seen in https://unitsofmeasure.org/ucum.html. If different time_series have different units (for example, because they come from different metric types, or a unit is absent), then unit will be \"{not_a_unit}\".", + "type": "string" } }, "type": "object" @@ -3219,7 +3260,7 @@ "type": "object" }, "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.", + "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.The following are specific rules for service defined Monitoring metric descriptors:\ntype, metric_kind, value_type, description, display_name, launch_stage fields are all required. The unit field must be specified if the value_type is any of DOUBLE, INT64, DISTRIBUTION.\nMaximum of default 500 metric descriptors per service is allowed.\nMaximum of default 10 labels per metric descriptor is allowed.The default maximum limit can be overridden. Please follow https://cloud.google.com/monitoring/quotas", "id": "MetricDescriptor", "properties": { "description": { @@ -3231,7 +3272,7 @@ "type": "string" }, "labels": { - "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", + "description": "The set of labels that can be used to describe a specific instance of this metric type.The label key name must follow:\nOnly upper and lower-case letters, digits and underscores (_) are allowed.\nLabel name must start with a letter or digit.\nThe maximum length of a label name is 100 characters.For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", "items": { "$ref": "LabelDescriptor" }, @@ -3293,11 +3334,11 @@ "type": "string" }, "type": { - "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"external.googleapis.com/prometheus/up\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n", + "description": "The metric type, including its DNS name prefix. The type is not URL-encoded.All service defined metrics must be prefixed with the service name, in the format of {service name}/{relative metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. The relative metric name must follow:\nOnly upper and lower-case letters, digits, '/' and underscores '_' are allowed.\nThe maximum number of characters allowed for the relative_metric_name is 100.All user-defined metric types have the DNS name custom.googleapis.com, external.googleapis.com, or logging.googleapis.com/user/.Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"external.googleapis.com/prometheus/up\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n", "type": "string" }, "unit": { - "description": "The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.Different systems may scale the values to be more easily displayed (so a value of 0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as 3.5MBy). However, if the unit is KBy, then the value of the metric is always in thousands of bytes, no matter how it may be displayed..If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as 12005.Alternatively, if you want a custom metric to record data in a more granular way, you can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd dayPrefixes (PREFIX)\nk kilo (10^3)\nM mega (10^6)\nG giga (10^9)\nT tera (10^12)\nP peta (10^15)\nE exa (10^18)\nZ zetta (10^21)\nY yotta (10^24)\nm milli (10^-3)\nu micro (10^-6)\nn nano (10^-9)\np pico (10^-12)\nf femto (10^-15)\na atto (10^-18)\nz zepto (10^-21)\ny yocto (10^-24)\nKi kibi (2^10)\nMi mebi (2^20)\nGi gibi (2^30)\nTi tebi (2^40)\nPi pebi (2^50)GrammarThe grammar also includes these connectors:\n/ division or ratio (as an infix operator). For examples, kBy/{email} or MiBy/10ms (although you should almost never have /s in a metric unit; rates should always be computed at query time from the underlying cumulative or delta value).\n. multiplication or composition (as an infix operator). For examples, GBy.d or k{watt}.h.The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT. If the annotation is used alone, then the unit is equivalent to 1. For examples, {request}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not containing { or }.\n1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as 1/d or {new-users}/d (and a metric value 5 would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as 1000/d or k1/d or k{page_views}/d (and a metric value of 5.3 would mean \"5300 page views per day\").\n% represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value 3 means \"3 percent\").\n10^2.% indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value 0.03 means \"3 percent\").", + "description": "The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.Different systems may scale the values to be more easily displayed (so a value of 0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as 3.5MBy). However, if the unit is KBy, then the value of the metric is always in thousands of bytes, no matter how it may be displayed..If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as 12005.Alternatively, if you want a custom metric to record data in a more granular way, you can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd day\n1 dimensionlessPrefixes (PREFIX)\nk kilo (10^3)\nM mega (10^6)\nG giga (10^9)\nT tera (10^12)\nP peta (10^15)\nE exa (10^18)\nZ zetta (10^21)\nY yotta (10^24)\nm milli (10^-3)\nu micro (10^-6)\nn nano (10^-9)\np pico (10^-12)\nf femto (10^-15)\na atto (10^-18)\nz zepto (10^-21)\ny yocto (10^-24)\nKi kibi (2^10)\nMi mebi (2^20)\nGi gibi (2^30)\nTi tebi (2^40)\nPi pebi (2^50)GrammarThe grammar also includes these connectors:\n/ division or ratio (as an infix operator). For examples, kBy/{email} or MiBy/10ms (although you should almost never have /s in a metric unit; rates should always be computed at query time from the underlying cumulative or delta value).\n. multiplication or composition (as an infix operator). For examples, GBy.d or k{watt}.h.The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT. If the annotation is used alone, then the unit is equivalent to 1. For examples, {request}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not containing { or }.\n1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as 1/d or {new-users}/d (and a metric value 5 would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as 1000/d or k1/d or k{page_views}/d (and a metric value of 5.3 would mean \"5300 page views per day\").\n% represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value 3 means \"3 percent\").\n10^2.% indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value 0.03 means \"3 percent\").", "type": "string" }, "valueType": { @@ -3465,7 +3506,7 @@ "type": "object" }, "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.", + "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different services can support different monitored resource types.The following are specific rules to service defined monitored resources for Monitoring and Logging:\nThe type, display_name, description, labels and launch_stage fields are all required.\nThe first label of the monitored resource descriptor must be resource_container. There are legacy monitored resource descritptors start with project_id.\nIt must include a location label.\nMaximum of default 5 service defined monitored resource descriptors is allowed per service.\nMaximum of default 10 labels per monitored resource is allowed.The default maximum limit can be overridden. Please follow https://cloud.google.com/monitoring/quotas", "id": "MonitoredResourceDescriptor", "properties": { "description": { @@ -3477,7 +3518,7 @@ "type": "string" }, "labels": { - "description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".", + "description": "Required. A set of labels used to describe instances of this monitored resource type. The label key name must follow:\nOnly upper and lower-case letters, digits and underscores (_) are allowed.\nLabel name must start with a letter or digit.\nThe maximum length of a label name is 100 characters.For example, an individual Google Cloud SQL database is identified by values for the labels database_id and location.", "items": { "$ref": "LabelDescriptor" }, @@ -3512,7 +3553,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.", + "description": "Required. The monitored resource type. For example, the type cloudsql_database represents databases in Google Cloud SQL.All service defined monitored resource types must be prefixed with the service name, in the format of {service name}/{relative resource name}. The relative resource name must follow:\nOnly upper and lower-case letters and digits are allowed.\nIt must start with upper case character and is recommended to use Upper Camel Case style.\nThe maximum number of characters allowed for the relative_resource_name is 100.Note there are legacy service monitored resources not following this rule.", "type": "string" } }, @@ -3659,7 +3700,7 @@ "type": "string" }, "type": { - "description": "The type of notification channel, such as \"email\", \"sms\", etc. Notification channel types are globally unique.", + "description": "The type of notification channel, such as \"email\" and \"sms\". To view the full list of channels, see Channel descriptors (https://cloud.google.com/monitoring/alerts/using-channels-api#ncd). Notification channel types are globally unique.", "type": "string" } }, @@ -4033,7 +4074,7 @@ "type": "object" }, "TimeInterval": { - "description": "A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind of the metric value. In no case can the end time be earlier than the start time.\nFor a GAUGE metric, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements.\nFor DELTA and CUMULATIVE metrics, the start time must be earlier than the end time.\nIn all cases, the start time of the next interval must be at least a microsecond after the end time of the previous interval. Because the interval is closed, if the start time of a new interval is the same as the end time of the previous interval, data written at the new start time could overwrite data written at the previous end time.", + "description": "A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind of the metric value. In no case can the end time be earlier than the start time.\nFor a GAUGE metric, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements.\nFor DELTA and CUMULATIVE metrics, the start time must be earlier than the end time.\nIn all cases, the start time of the next interval must be at least a millisecond after the end time of the previous interval. Because the interval is closed, if the start time of a new interval is the same as the end time of the previous interval, data written at the new start time could overwrite data written at the previous end time.", "id": "TimeInterval", "properties": { "endTime": { @@ -4055,7 +4096,7 @@ "properties": { "metadata": { "$ref": "MonitoredResourceMetadata", - "description": "Output only. The associated monitored resource metadata. When reading a a timeseries, this field will include metadata labels that are explicitly named in the reduction. When creating a timeseries, this field is ignored." + "description": "Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored." }, "metric": { "$ref": "Metric", @@ -4135,7 +4176,7 @@ "type": "object" }, "TimeSeriesDescriptor": { - "description": "A descriptor for the labels and points in a timeseries.", + "description": "A descriptor for the labels and points in a time series.", "id": "TimeSeriesDescriptor", "properties": { "labelDescriptors": { @@ -4155,21 +4196,6 @@ }, "type": "object" }, - "TimeSeriesQueryLanguageCondition": { - "description": "A condition type that allows alert policies to be defined using Monitoring Query Language.", - "id": "TimeSeriesQueryLanguageCondition", - "properties": { - "query": { - "description": "Monitoring Query Language query that generates time series data and describes a condition for alerting on that data.", - "type": "string" - }, - "summary": { - "description": "A short explanation of what the query represents. For example:\"Error ratio exceeds 15% for >5% of servers in >2 regions\"", - "type": "string" - } - }, - "type": "object" - }, "TimeSeriesRatio": { "description": "A TimeSeriesRatio specifies two TimeSeries to use for computing the good_service / total_service ratio. The specified TimeSeries must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind =\nDELTA or MetricKind = CUMULATIVE. The TimeSeriesRatio must specify exactly two of good, bad, and total, and the relationship good_service +\nbad_service = total_service will be assumed.", "id": "TimeSeriesRatio", diff --git a/etc/api/mybusiness/v4/mybusiness-api.json b/etc/api/mybusiness/v4/mybusiness-api.json index b4b47b2ef1..b0d5cce526 100644 --- a/etc/api/mybusiness/v4/mybusiness-api.json +++ b/etc/api/mybusiness/v4/mybusiness-api.json @@ -13,6 +13,7 @@ }, "id": "mybusiness:v4", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://mybusiness.mtls.googleapis.com/", "name": "mybusiness", "ownerDomain": "google.com", "ownerName": "Google", @@ -2087,10 +2088,6 @@ ], "type": "string" }, - "profilePhotoUrl": { - "description": "Profile photo for the account. This is populated only for the personal\naccount.", - "type": "string" - }, "role": { "description": "Output only. Specifies the AccountRole\nthe caller has for this account.", "enum": [ @@ -2609,11 +2606,11 @@ "id": "Category", "properties": { "categoryId": { - "description": "A stable ID (provided by Google) for this category.\nThe `category_id` must be specified when modifying the category (when\ncreating or updating a location).", + "description": "@OutputOnly.\nA stable ID (provided by Google) for this category.\nThe `category_id` must be specified when modifying the category (when\ncreating or updating a location).", "type": "string" }, "displayName": { - "description": "Output only. The human-readable name of the category. This is set when\nreading the location. When modifying the location, `category_id` must be\nset.", + "description": "@OutputOnly.\nThe human-readable name of the category. This is set when\nreading the location. When modifying the location, `category_id` must be\nset.", "type": "string" } }, @@ -3194,7 +3191,7 @@ "id": "ListBusinessCategoriesResponse", "properties": { "categories": { - "description": "The categories.", + "description": "The categories. Categories are BASIC view. They don't contain any\nServiceType information.", "items": { "$ref": "Category" }, @@ -3423,6 +3420,18 @@ "description": "Represents a [local post](https://support.google.com/business/answer/7662907)\nfor a location.", "id": "LocalPost", "properties": { + "alertType": { + "description": "The type of alert the post is created for. This field is only applicable\nfor posts of topic_type Alert, and behaves as a sub-type of Alerts.", + "enum": [ + "ALERT_TYPE_UNSPECIFIED", + "COVID_19" + ], + "enumDescriptions": [ + "No alert is specified.", + "Alerts related to the 2019 Coronavirus Disease pandemic. Covid posts only\nsupport a summary field and a call to action field. When these alerts are\nno longer relevant, new Alert post creation for type COVID-19 will be\ndisabled. However, merchant will still be able to manage their existing\nCOVID-19 posts." + ], + "type": "string" + }, "callToAction": { "$ref": "CallToAction", "description": "The URL that users are sent to when clicking through the promotion. Ignored\nfor topic type `OFFER`." @@ -3455,10 +3464,6 @@ "$ref": "LocalPostOffer", "description": "Additional data for offer posts. This should only be set when the\ntopic_type is OFFER." }, - "product": { - "$ref": "LocalPostProduct", - "description": "Additional data for product posts. This should only be set when the\ntopic_type is PRODUCT." - }, "searchUrl": { "description": "Output only. The link to the local post in Google search. This link can\nbe used to share the post via social media, email, text, etc.", "type": "string" @@ -3484,20 +3489,20 @@ "type": "string" }, "topicType": { - "description": "Required. The topic type of the post: standard, event, offer, or product.", + "description": "Required. The topic type of the post: standard, event, offer, or alert.", "enum": [ "LOCAL_POST_TOPIC_TYPE_UNSPECIFIED", "STANDARD", "EVENT", "OFFER", - "PRODUCT" + "ALERT" ], "enumDescriptions": [ "No post type is specified.", "Post contains basic information, like summary and images.", "Post contains basic information and an event.", "Post contains basic information, an event and offer related content (e.g.\ncoupon code)", - "Post contains basic information and product related content (e.g. name,\nprice)." + "High-priority, and timely announcements related to an ongoing event. These\ntypes of posts are not always available for authoring." ], "type": "string" }, @@ -3560,25 +3565,6 @@ }, "type": "object" }, - "LocalPostProduct": { - "description": "Specific fields for product posts.", - "id": "LocalPostProduct", - "properties": { - "lowerPrice": { - "$ref": "Money", - "description": "Lower price of the product if the product has a price range, or the price\nfor the product." - }, - "productName": { - "description": "Name of the product.", - "type": "string" - }, - "upperPrice": { - "$ref": "Money", - "description": "Upper price of the product. In case price is not a range, lower_price is\nequal to upper_price." - } - }, - "type": "object" - }, "Location": { "description": "A location.\nSee the [help center article]\n(https://support.google.com/business/answer/3038177) for a detailed\ndescription of these fields, or the [category\nendpoint](/my-business/reference/rest/v4/categories) for a list of valid\nbusiness categories.", "id": "Location", @@ -4297,7 +4283,7 @@ "id": "Places", "properties": { "placeInfos": { - "description": "The areas represented by place IDs.", + "description": "The areas represented by place IDs. Limited to a maximum of 20 places.", "items": { "$ref": "PlaceInfo" }, @@ -4957,14 +4943,14 @@ "SUNDAY" ], "enumDescriptions": [ - "The unspecified day-of-week.", - "The day-of-week of Monday.", - "The day-of-week of Tuesday.", - "The day-of-week of Wednesday.", - "The day-of-week of Thursday.", - "The day-of-week of Friday.", - "The day-of-week of Saturday.", - "The day-of-week of Sunday." + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" ], "type": "string" }, @@ -5046,14 +5032,14 @@ "SUNDAY" ], "enumDescriptions": [ - "The unspecified day-of-week.", - "The day-of-week of Monday.", - "The day-of-week of Tuesday.", - "The day-of-week of Wednesday.", - "The day-of-week of Thursday.", - "The day-of-week of Friday.", - "The day-of-week of Saturday.", - "The day-of-week of Sunday." + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" ], "type": "string" }, @@ -5074,14 +5060,14 @@ "SUNDAY" ], "enumDescriptions": [ - "The unspecified day-of-week.", - "The day-of-week of Monday.", - "The day-of-week of Tuesday.", - "The day-of-week of Wednesday.", - "The day-of-week of Thursday.", - "The day-of-week of Friday.", - "The day-of-week of Saturday.", - "The day-of-week of Sunday." + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" ], "type": "string" }, diff --git a/etc/api/networkmanagement/v1/networkmanagement-api.json b/etc/api/networkmanagement/v1/networkmanagement-api.json new file mode 100644 index 0000000000..300e93ce17 --- /dev/null +++ b/etc/api/networkmanagement/v1/networkmanagement-api.json @@ -0,0 +1,1870 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://networkmanagement.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Network Management", + "description": "The Network Management API provides a collection of network performance monitoring and diagnostic capabilities.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "networkmanagement:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://networkmanagement.mtls.googleapis.com/", + "name": "networkmanagement", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "global": { + "resources": { + "connectivityTests": { + "methods": { + "create": { + "description": "Creates a new Connectivity Test.\nAfter you create a test, the reachability analysis is performed as part\nof the long running operation, which completes when the analysis completes.\n\nIf the endpoint specifications in `ConnectivityTest` are invalid\n(for example, containing non-existent resources in the network, or you\ndon't have read permissions to the network configurations of listed\nprojects), then the reachability result returns a value of `UNKNOWN`.\n\nIf the endpoint specifications in `ConnectivityTest` are\nincomplete, the reachability result returns a value of\nAMBIGUOUS. For more information,\nsee the Connectivity Test documentation.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.connectivityTests.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the Connectivity Test to create:\n `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "testId": { + "description": "Required. The logical name of the Connectivity Test in your project\nwith the following restrictions:\n\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-40 characters.\n* Must end with a number or a letter.\n* Must be unique within the customer project", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/connectivityTests", + "request": { + "$ref": "ConnectivityTest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a specific `ConnectivityTest`.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", + "httpMethod": "DELETE", + "id": "networkmanagement.projects.locations.global.connectivityTests.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Connectivity Test resource name using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a specific Connectivity Test.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.connectivityTests.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. `ConnectivityTest` resource name using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ConnectivityTest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.connectivityTests.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all Connectivity Tests owned by a project.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.connectivityTests.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists the `ConnectivityTests` that match the filter expression. A filter\nexpression filters the resources listed in the response. The expression\nmust be of the form ` ` where operators: `<`, `>`,\n`<=`,\n`>=`,\n`!=`, `=`, `:` are supported (colon `:` represents a HAS operator which is\nroughly synonymous with equality). can refer to a proto or JSON\nfield, or a synthetic field. Field names can be camelCase or snake_case.\n\nExamples:\n- Filter by name:\n name = \"projects/proj-1/locations/global/connectivityTests/test-1\n\n- Filter by labels:\n - Resources that have a key called `foo`\n labels.foo:*\n - Resources that have a key called `foo` whose value is `bar`\n labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field to use to sort the list.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Number of `ConnectivityTests` to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token from an earlier query, as returned in `next_page_token`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the Connectivity Tests:\n `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/connectivityTests", + "response": { + "$ref": "ListConnectivityTestsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the configuration of an existing `ConnectivityTest`.\nAfter you update a test, the reachability analysis is performed as part\nof the long running operation, which completes when the analysis completes.\nThe Reachability state in the test resource is updated with the new result.\n\nIf the endpoint specifications in `ConnectivityTest` are invalid\n(for example, they contain non-existent resources in the network, or the\nuser does not have read permissions to the network configurations of\nlisted projects), then the reachability result returns a value of\nUNKNOWN.\n\nIf the endpoint specifications in `ConnectivityTest` are incomplete, the\nreachability result returns a value of `AMBIGUOUS`. See the documentation\nin `ConnectivityTest` for for more details.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", + "httpMethod": "PATCH", + "id": "networkmanagement.projects.locations.global.connectivityTests.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Unique name of the resource using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "ConnectivityTest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "rerun": { + "description": "Rerun an existing `ConnectivityTest`.\nAfter the user triggers the rerun, the reachability analysis is performed\nas part of the long running operation, which completes when the analysis\ncompletes.\n\nEven though the test configuration remains the same, the reachability\nresult may change due to underlying network configuration changes.\n\nIf the endpoint specifications in `ConnectivityTest` become invalid (for\nexample, specified resources are deleted in the network, or you lost\nread permissions to the network configurations of listed projects), then\nthe reachability result returns a value of `UNKNOWN`.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:rerun", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.connectivityTests.rerun", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Connectivity Test resource name using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:rerun", + "request": { + "$ref": "RerunConnectivityTestRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.connectivityTests.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.connectivityTests.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "networkmanagement.projects.locations.global.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1/projects/{projectsId}/locations/global/operations", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200520", + "rootUrl": "https://networkmanagement.googleapis.com/", + "schemas": { + "AbortInfo": { + "description": "Details of the final state \"abort\" and associated resource.", + "id": "AbortInfo", + "properties": { + "cause": { + "description": "Causes that the analysis is aborted.", + "enum": [ + "CAUSE_UNSPECIFIED", + "UNKNOWN_NETWORK", + "UNKNOWN_IP", + "UNKNOWN_PROJECT", + "PERMISSION_DENIED", + "NO_SOURCE_LOCATION", + "INVALID_ARGUMENT", + "NO_EXTERNAL_IP", + "UNINTENDED_DESTINATION", + "TRACE_TOO_LONG", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "Cause is unspecified.", + "Aborted due to unknown network.\nThe reachability analysis cannot proceed because the user does not have\naccess to the host project's network configurations, including firewall\nrules and routes. This happens when the project is a service project and\nthe endpoints being traced are in the host project's network.", + "Aborted because the IP address(es) are unknown.", + "Aborted because no project information can be derived from the test\ninput.", + "Aborted because the user lacks the permission to access all or part of\nthe network configurations required to run the test.", + "Aborted because no valid source endpoint is derived from the input test\nrequest.", + "Aborted because the source and/or destination endpoint specified in\nthe test are invalid. The possible reasons that an endpoint is\ninvalid include: malformed IP address; nonexistent instance or\nnetwork URI; IP address not in the range of specified network URI; and\ninstance not owning the network interface in the specified network.", + "Aborted because traffic is sent from a public IP to an instance without\nan external IP.", + "Aborted because none of the traces matches destination information\nspecified in the input test request.", + "Aborted because the number of steps in the trace exceeding a certain\nlimit which may be caused by routing loop.", + "Aborted due to internal server error." + ], + "type": "string" + }, + "resourceUri": { + "description": "URI of the resource that caused the abort.", + "type": "string" + } + }, + "type": "object" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "ConnectivityTest": { + "description": "A Connectivity Test for a network reachability analysis.", + "id": "ConnectivityTest", + "properties": { + "createTime": { + "description": "Output only. The time the test was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The user-supplied description of the Connectivity Test.\nMaximum of 512 characters.", + "type": "string" + }, + "destination": { + "$ref": "Endpoint", + "description": "Required. Destination specification of the Connectivity Test.\n\nYou can use a combination of destination IP address, Compute Engine\nVM instance, or VPC network to uniquely identify the destination\nlocation.\n\nEven if the destination IP address is not unique, the source IP\nlocation is unique. Usually, the analysis can infer the destination\nendpoint from route information.\n\nIf the destination you specify is a VM instance and the instance has\nmultiple network interfaces, then you must also specify either\na destination IP address or VPC network to identify the destination\ninterface.\n\nA reachability analysis proceeds even if the destination location is\nambiguous. However, the result can include endpoints that you don't\nintend to test." + }, + "displayName": { + "description": "Output only. The display name of a Connectivity Test.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user-provided metadata.", + "type": "object" + }, + "name": { + "description": "Required. Unique name of the resource using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test_id}`", + "type": "string" + }, + "protocol": { + "description": "IP Protocol of the test. When not provided, \"TCP\" is assumed.", + "type": "string" + }, + "reachabilityDetails": { + "$ref": "ReachabilityDetails", + "description": "Output only. The reachability details of this test from the latest run.\nThe details are updated when creating a new test, updating an\nexisting test, or triggering a one-time rerun of an existing test." + }, + "relatedProjects": { + "description": "Other projects that may be relevant for reachability analysis.\nThis is applicable to scenarios where a test can cross project boundaries.", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "$ref": "Endpoint", + "description": "Required. Source specification of the Connectivity Test.\n\nYou can use a combination of source IP address, virtual machine\n(VM) instance, or Compute Engine network to uniquely identify\nthe source location.\n\nExamples:\nIf the source IP address is an internal IP address within a Google Cloud\nVirtual Private Cloud (VPC) network, then you must also specify the VPC\nnetwork. Otherwise, specify the VM instance, which already contains its\ninternal IP address and VPC network information.\n\nIf the source of the test is within an on-premises network, then you must\nprovide the destination VPC network.\n\nIf the source endpoint is a Compute Engine VM instance with multiple\nnetwork interfaces, the instance itself is not sufficient to identify the\nendpoint. So, you must also specify the source IP address or VPC network.\n\nA reachability analysis proceeds even if the source location is\nambiguous. However, the test result may include endpoints that you don't\nintend to test." + }, + "updateTime": { + "description": "Output only. The time the test's configuration was updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "DeliverInfo": { + "description": "Details of the final state \"deliver\" and associated resource.", + "id": "DeliverInfo", + "properties": { + "resourceUri": { + "description": "URI of the resource that the packet is delivered to.", + "type": "string" + }, + "target": { + "description": "Target type where the packet is delivered to.", + "enum": [ + "TARGET_UNSPECIFIED", + "INSTANCE", + "INTERNET", + "GOOGLE_API" + ], + "enumDescriptions": [ + "Target not specified.", + "Target is a Compute Engine instance.", + "Target is the Internet.", + "Target is a Google API." + ], + "type": "string" + } + }, + "type": "object" + }, + "DropInfo": { + "description": "Details of the final state \"drop\" and associated resource.", + "id": "DropInfo", + "properties": { + "cause": { + "description": "Cause that the packet is dropped.", + "enum": [ + "CAUSE_UNSPECIFIED", + "UNKNOWN_EXTERNAL_ADDRESS", + "FOREIGN_IP_DISALLOWED", + "FIREWALL_RULE", + "NO_ROUTE", + "ROUTE_BLACKHOLE", + "ROUTE_WRONG_NETWORK", + "PRIVATE_TRAFFIC_TO_INTERNET", + "PRIVATE_GOOGLE_ACCESS_DISALLOWED", + "NO_EXTERNAL_ADDRESS", + "UNKNOWN_INTERNAL_ADDRESS", + "FORWARDING_RULE_MISMATCH", + "FORWARDING_RULE_NO_INSTANCES", + "FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK", + "INSTANCE_NOT_RUNNING", + "TRAFFIC_TYPE_BLOCKED", + "GKE_MASTER_UNAUTHORIZED_ACCESS" + ], + "enumDescriptions": [ + "Cause is unspecified.", + "Destination external address cannot be resolved to a known target.", + "a Compute Engine instance can only send or receive a packet with a\nforeign IP if ip_forward is enabled.", + "Dropped due to a firewall rule unless allowed due to connection tracking.", + "Dropped due to no routes.", + "Dropped due to invalid route. Route's next hop is a blackhole.", + "Packet is sent to a wrong (unintended) network. Example: user traces a\npacket from VM1:Network1 to VM2:Network2, however, the route configured\nin Network1 sends the packet destined for VM2's IP addresss to Network3.", + "Packet with internal destination address sent to Internet gateway.", + "Instance with only an internal IP tries to access Google API and\nServices, and private Google access is not enabled.", + "Instance with only internal IP tries to access external hosts, but\nCloud NAT is not enabled in the subnet, unless special configurations\non a VM allows this connection. See [Special Configurations for VM\ninstances](/vpc/docs/special-configurations) for details.", + "Destination internal address cannot be resolved to a known target.", + "Forwarding rule's protocol and ports do not match the packet header.", + "Forwarding rule does not have backends configured.", + "Firewalls block the health check probes to the backends and cause\nthe backends to be unavailable for traffic from the load balancer.\nSee [Health check firewall rules](/load-balancing/docs/\nhealth-checks#firewall_rules) for more details.", + "Packet is sent from or to a Compute Engine instance that is not in a\nrunning state.", + "The type of traffic is blocked and the user cannot configure a firewall\nrule to enable it. See [Always blocked traffic](/vpc/docs/firewalls#\nblockedtraffic) for more details.", + "Access to GKE master's endpoint is not authorized.\nSee [Access to the cluster endpoints](/kubernetes-engine/docs/how-to/\nprivate-clusters#access_to_the_cluster_endpoints) for more details." + ], + "type": "string" + }, + "resourceUri": { + "description": "URI of the resource that caused the drop.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Endpoint": { + "description": "Source or destination of the Connectivity Test.", + "id": "Endpoint", + "properties": { + "instance": { + "description": "A Compute Engine instance URI.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the endpoint, which can be an external or internal IP.\nAn IPv6 address is only allowed when the test's destination is a\n[global load balancer VIP](/load-balancing/docs/load-balancing-overview).", + "type": "string" + }, + "network": { + "description": "A Compute Engine network URI.", + "type": "string" + }, + "networkType": { + "description": "Type of the network where the endpoint is located.\nApplicable only to source endpoint, as destination network type can be\ninferred from the source.", + "enum": [ + "NETWORK_TYPE_UNSPECIFIED", + "GCP_NETWORK", + "NON_GCP_NETWORK" + ], + "enumDescriptions": [ + "Default type if unspecified.", + "A network hosted within Google Cloud Platform.\nTo receive more detailed output, specify the URI for the source or\ndestination network.", + "A network hosted outside of Google Cloud Platform.\nThis can be an on-premises network, or a network hosted by another cloud\nprovider." + ], + "type": "string" + }, + "port": { + "description": "The IP protocol port of the endpoint.\nOnly applicable when protocol is TCP or UDP.", + "format": "int32", + "type": "integer" + }, + "projectId": { + "description": "Project ID where the endpoint is located.\nThe Project ID can be derived from the URI if you provide a VM instance or\nnetwork URI.\nThe following are two cases where you must provide the project ID:\n1. Only the IP address is specified, and the IP address is within a GCP\nproject.\n2. When you are using Shared VPC and the IP address that you provide is\nfrom the service project. In this case, the network that the IP address\nresides in is defined in the host project.", + "type": "string" + } + }, + "type": "object" + }, + "EndpointInfo": { + "description": "For display only. The specification of the endpoints for the test.\nEndpointInfo is derived from source and destination Endpoint and validated\nby the backend data plane model.", + "id": "EndpointInfo", + "properties": { + "destinationIp": { + "description": "Destination IP address.", + "type": "string" + }, + "destinationNetworkUri": { + "description": "URI of the network where this packet is sent to.", + "type": "string" + }, + "destinationPort": { + "description": "Destination port. Only valid when protocol is TCP or UDP.", + "format": "int32", + "type": "integer" + }, + "protocol": { + "description": "IP protocol in string format, for example: \"TCP\", \"UDP\", \"ICMP\".", + "type": "string" + }, + "sourceIp": { + "description": "Source IP address.", + "type": "string" + }, + "sourceNetworkUri": { + "description": "URI of the network where this packet originates from.", + "type": "string" + }, + "sourcePort": { + "description": "Source port. Only valid when protocol is TCP or UDP.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "FirewallInfo": { + "description": "For display only. Metadata associated with a Compute Engine firewall rule.", + "id": "FirewallInfo", + "properties": { + "action": { + "description": "Possible values: ALLOW, DENY", + "type": "string" + }, + "direction": { + "description": "Possible values: INGRESS, EGRESS", + "type": "string" + }, + "displayName": { + "description": "Name of a Compute Engine firewall rule.", + "type": "string" + }, + "networkUri": { + "description": "URI of a Compute Engine network.", + "type": "string" + }, + "priority": { + "description": "Priority of the firewall rule.", + "format": "int32", + "type": "integer" + }, + "targetServiceAccounts": { + "description": "Target service accounts of the firewall rule.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetTags": { + "description": "Target tags of the firewall rule.", + "items": { + "type": "string" + }, + "type": "array" + }, + "uri": { + "description": "URI of a Compute Engine firewall rule.\nImplied default rule does not have URI.", + "type": "string" + } + }, + "type": "object" + }, + "ForwardInfo": { + "description": "Details of the final state \"forward\" and associated resource.", + "id": "ForwardInfo", + "properties": { + "resourceUri": { + "description": "URI of the resource that the packet is forwarded to.", + "type": "string" + }, + "target": { + "description": "Target type where this packet is forwarded to.", + "enum": [ + "TARGET_UNSPECIFIED", + "PEERING_VPC", + "VPN_GATEWAY", + "INTERCONNECT", + "GKE_MASTER", + "IMPORTED_CUSTOM_ROUTE_NEXT_HOP" + ], + "enumDescriptions": [ + "Target not specified.", + "Forwarded to a VPC peering network.", + "Forwarded to a Cloud VPN gateway.", + "Forwarded to an Cloud Interconnect connection.", + "Forwarded to a Google Kubernetes Engine Container cluster master.", + "Forwarded to the next hop of a custom route imported from a peering VPC." + ], + "type": "string" + } + }, + "type": "object" + }, + "ForwardingRuleInfo": { + "description": "For display only. Metadata associated with a Compute Engine forwarding rule.", + "id": "ForwardingRuleInfo", + "properties": { + "displayName": { + "description": "Name of a Compute Engine forwarding rule.", + "type": "string" + }, + "matchedPortRange": { + "description": "Port range defined in the forwarding rule that matches the test.", + "type": "string" + }, + "matchedProtocol": { + "description": "Protocol defined in the forwarding rule that matches the test.", + "type": "string" + }, + "networkUri": { + "description": "Network URI. Only valid for Internal Load Balancer.", + "type": "string" + }, + "target": { + "description": "Target type of the forwarding rule.", + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine forwarding rule.", + "type": "string" + }, + "vip": { + "description": "VIP of the forwarding rule.", + "type": "string" + } + }, + "type": "object" + }, + "InstanceInfo": { + "description": "For display only. Metadata associated with a Compute Engine instance.", + "id": "InstanceInfo", + "properties": { + "displayName": { + "description": "Name of a Compute Engine instance.", + "type": "string" + }, + "externalIp": { + "description": "External IP address of the network interface.", + "type": "string" + }, + "interface": { + "description": "Name of the network interface of a Compute Engine instance.", + "type": "string" + }, + "internalIp": { + "description": "Internal IP address of the network interface.", + "type": "string" + }, + "networkTags": { + "description": "Network tags configured on the instance.", + "items": { + "type": "string" + }, + "type": "array" + }, + "networkUri": { + "description": "URI of a Compute Engine network.", + "type": "string" + }, + "serviceAccount": { + "description": "Service account authorized for the instance.", + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine instance.", + "type": "string" + } + }, + "type": "object" + }, + "ListConnectivityTestsResponse": { + "description": "Response for the `ListConnectivityTests` method.", + "id": "ListConnectivityTestsResponse", + "properties": { + "nextPageToken": { + "description": "Page token to fetch the next set of Connectivity Tests.", + "type": "string" + }, + "resources": { + "description": "List of Connectivity Tests.", + "items": { + "$ref": "ConnectivityTest" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached (when querying all locations with `-`).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "LoadBalancerBackend": { + "description": "For display only. Metadata associated with a specific load balancer backend.", + "id": "LoadBalancerBackend", + "properties": { + "displayName": { + "description": "Name of a Compute Engine instance or network endpoint.", + "type": "string" + }, + "healthCheckAllowingFirewallRules": { + "description": "A list of firewall rule URIs allowing probes from health check IP ranges.", + "items": { + "type": "string" + }, + "type": "array" + }, + "healthCheckBlockingFirewallRules": { + "description": "A list of firewall rule URIs blocking probes from health check IP ranges.", + "items": { + "type": "string" + }, + "type": "array" + }, + "healthCheckFirewallState": { + "description": "State of the health check firewall configuration.", + "enum": [ + "HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED", + "CONFIGURED", + "MISCONFIGURED" + ], + "enumDescriptions": [ + "State is unspecified. Default state if not populated.", + "There are configured firewall rules to allow health check probes to the\nbackend.", + "There are firewall rules configured to allow partial health check ranges\nor block all health check ranges.\nIf a health check probe is sent from denied IP ranges,\nthe health check to the backend will fail. Then, the backend will be\nmarked unhealthy and will not receive traffic sent to the load balancer." + ], + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine instance or network endpoint.", + "type": "string" + } + }, + "type": "object" + }, + "LoadBalancerInfo": { + "description": "For display only. Metadata associated with a load balancer.", + "id": "LoadBalancerInfo", + "properties": { + "backendType": { + "description": "Type of load balancer's backend configuration.", + "enum": [ + "BACKEND_TYPE_UNSPECIFIED", + "BACKEND_SERVICE", + "TARGET_POOL" + ], + "enumDescriptions": [ + "Type is unspecified.", + "Backend Service as the load balancer's backend.", + "Target Pool as the load balancer's backend." + ], + "type": "string" + }, + "backendUri": { + "description": "Backend configuration URI.", + "type": "string" + }, + "backends": { + "description": "Information for the loadbalancer backends.", + "items": { + "$ref": "LoadBalancerBackend" + }, + "type": "array" + }, + "healthCheckUri": { + "description": "URI of the health check for the load balancer.", + "type": "string" + }, + "loadBalancerType": { + "description": "Type of the load balancer.", + "enum": [ + "LOAD_BALANCER_TYPE_UNSPECIFIED", + "INTERNAL_TCP_UDP", + "NETWORK_TCP_UDP", + "HTTP_PROXY", + "TCP_PROXY", + "SSL_PROXY" + ], + "enumDescriptions": [ + "Type is unspecified.", + "Internal TCP/UDP load balancer.", + "Network TCP/UDP load balancer.", + "HTTP(S) proxy load balancer.", + "TCP proxy load balancer.", + "SSL proxy load balancer." + ], + "type": "string" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "NetworkInfo": { + "description": "For display only. Metadata associated with a Compute Engine network.", + "id": "NetworkInfo", + "properties": { + "displayName": { + "description": "Name of a Compute Engine network.", + "type": "string" + }, + "matchedIpRange": { + "description": "The IP range that matches the test.", + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine network.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata describing an Operation", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "API version.", + "type": "string" + }, + "cancelRequested": { + "description": "Specifies if cancellation was requested for the operation.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "statusDetail": { + "description": "Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "Target of the operation - for example\nprojects/project-1/locations/global/connectivityTests/test-1", + "type": "string" + }, + "verb": { + "description": "Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReachabilityDetails": { + "description": "The details of reachability state from the latest run.", + "id": "ReachabilityDetails", + "properties": { + "error": { + "$ref": "Status", + "description": "The details of a failure or a cancellation of reachability analysis." + }, + "result": { + "description": "The overall reachability result of the test.", + "enum": [ + "RESULT_UNSPECIFIED", + "REACHABLE", + "UNREACHABLE", + "AMBIGUOUS", + "UNDETERMINED" + ], + "enumDescriptions": [ + "Result is not specified.", + "Packet originating from source is expected to reach destination.", + "Packet originating from source is expected to be dropped before\nreaching destination.", + "If the source and destination endpoint does not uniquely identify\nthe test location in the network, and the reachability result contains\nmultiple traces with mixed reachable and unreachable states, then this\nresult is returned.", + "The reachability could not be determined. Possible reasons are:\n\n* Analysis is aborted due to permission error. User does not have read\n permission to the projects listed in the test.\n* Analysis is aborted due to internal errors.\n* Analysis is partially complete based on configurations where the user\n has permission.\n The Final state indicates that the packet is forwarded to another\nnetwork where the user has no permission to access the configurations." + ], + "type": "string" + }, + "traces": { + "description": "Result may contain a list of traces if a test has multiple possible\npaths in the network, such as when destination endpoint is a load balancer\nwith multiple backends.", + "items": { + "$ref": "Trace" + }, + "type": "array" + }, + "verifyTime": { + "description": "The time the reachability state was verified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "RerunConnectivityTestRequest": { + "description": "Request for the `RerunConnectivityTest` method.", + "id": "RerunConnectivityTestRequest", + "properties": {}, + "type": "object" + }, + "RouteInfo": { + "description": "For display only. Metadata associated with a Compute Engine route.", + "id": "RouteInfo", + "properties": { + "destIpRange": { + "description": "Destination IP range of the route.", + "type": "string" + }, + "displayName": { + "description": "Name of a Compute Engine route.", + "type": "string" + }, + "instanceTags": { + "description": "Instance tags of the route.", + "items": { + "type": "string" + }, + "type": "array" + }, + "networkUri": { + "description": "URI of a Compute Engine network.", + "type": "string" + }, + "nextHop": { + "description": "Next hop of the route.", + "type": "string" + }, + "nextHopType": { + "description": "Type of next hop.", + "enum": [ + "NEXT_HOP_TYPE_UNSPECIFIED", + "NEXT_HOP_IP", + "NEXT_HOP_INSTANCE", + "NEXT_HOP_NETWORK", + "NEXT_HOP_PEERING", + "NEXT_HOP_INTERCONNECT", + "NEXT_HOP_VPN_TUNNEL", + "NEXT_HOP_VPN_GATEWAY", + "NEXT_HOP_INTERNET_GATEWAY", + "NEXT_HOP_BLACKHOLE", + "NEXT_HOP_ILB" + ], + "enumDescriptions": [ + "Unspecified type. Default value.", + "Next hop is an IP address.", + "Next hop is a Compute Engine instance.", + "Next hop is a VPC network gateway.", + "Next hop is a peering VPC.", + "Next hop is an interconnect.", + "Next hop is a VPN tunnel.", + "Next hop is a VPN Gateway. This scenario only happens when tracing\nconnectivity from an on-premises network to GCP through a VPN. The\nanalysis simulates a packet departing from the on-premises network\nthrough a VPN tunnel and arrives at a Cloud VPN gateway.", + "Next hop is an internet gateway.", + "Next hop is blackhole; that is, the next hop either does not exist or is\nnot running.", + "Next hop is the forwarding rule of an Internal Load Balancer." + ], + "type": "string" + }, + "priority": { + "description": "Priority of the route.", + "format": "int32", + "type": "integer" + }, + "routeType": { + "description": "Type of route.", + "enum": [ + "ROUTE_TYPE_UNSPECIFIED", + "SUBNET", + "STATIC", + "DYNAMIC", + "PEERING_SUBNET", + "PEERING_STATIC", + "PEERING_DYNAMIC" + ], + "enumDescriptions": [ + "Unspecified type. Default value.", + "Route is a subnet route automatically created by the system.", + "Static route created by the user including the default route to the\nInternet.", + "Dynamic route exchanged between BGP peers.", + "A subnet route received from peering network.", + "A static route received from peering network.", + "A dynamic route received from peering network." + ], + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine route.\nDynamic route from cloud router does not have a URI.\nAdvertised route from Google Cloud VPC to on-premises network also does\nnot have a URI.", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "Step": { + "description": "A simulated forwarding path is composed of multiple steps.\nEach step has a well-defined state and an associated configuration.", + "id": "Step", + "properties": { + "abort": { + "$ref": "AbortInfo", + "description": "Display info of the final state \"abort\" and reason." + }, + "causesDrop": { + "description": "This is a step that leads to the final state Drop.", + "type": "boolean" + }, + "deliver": { + "$ref": "DeliverInfo", + "description": "Display info of the final state \"deliver\" and reason." + }, + "description": { + "description": "A description of the step. Usually this is a summary of the state.", + "type": "string" + }, + "drop": { + "$ref": "DropInfo", + "description": "Display info of the final state \"drop\" and reason." + }, + "endpoint": { + "$ref": "EndpointInfo", + "description": "Display info of the source and destination under analysis.\nThe endpiont info in an intermediate state may differ with the\ninitial input, as it might be modified by state like NAT,\nor Connection Proxy." + }, + "firewall": { + "$ref": "FirewallInfo", + "description": "Display info of a Compute Engine firewall rule." + }, + "forward": { + "$ref": "ForwardInfo", + "description": "Display info of the final state \"forward\" and reason." + }, + "forwardingRule": { + "$ref": "ForwardingRuleInfo", + "description": "Display info of a Compute Engine forwarding rule." + }, + "instance": { + "$ref": "InstanceInfo", + "description": "Display info of a Compute Engine instance." + }, + "loadBalancer": { + "$ref": "LoadBalancerInfo", + "description": "Display info of the load balancers." + }, + "network": { + "$ref": "NetworkInfo", + "description": "Display info of a GCP network." + }, + "projectId": { + "description": "Project ID that contains the configuration this step is validating.", + "type": "string" + }, + "route": { + "$ref": "RouteInfo", + "description": "Display info of a Compute Engine route." + }, + "state": { + "description": "Each step is in one of the pre-defined states.", + "enum": [ + "STATE_UNSPECIFIED", + "START_FROM_INSTANCE", + "START_FROM_INTERNET", + "START_FROM_PRIVATE_NETWORK", + "APPLY_INGRESS_FIREWALL_RULE", + "APPLY_EGRESS_FIREWALL_RULE", + "APPLY_ROUTE", + "APPLY_FORWARDING_RULE", + "SPOOFING_APPROVED", + "ARRIVE_AT_INSTANCE", + "ARRIVE_AT_INTERNAL_LOAD_BALANCER", + "ARRIVE_AT_EXTERNAL_LOAD_BALANCER", + "ARRIVE_AT_VPN_GATEWAY", + "ARRIVE_AT_VPN_TUNNEL", + "NAT", + "PROXY_CONNECTION", + "DELIVER", + "DROP", + "FORWARD", + "ABORT", + "VIEWER_PERMISSION_MISSING" + ], + "enumDescriptions": [ + "Unspecified state.", + "Initial state: packet originating from a Compute Engine instance.\nAn InstanceInfo will be populated with starting instance info.", + "Initial state: packet originating from Internet.\nThe endpoint info will be populated.", + "Initial state: packet originating from a VPC or on-premises network\nwith internal source IP.\nIf the source is a VPC network visible to the user, a NetworkInfo\nwill be populated with details of the network.", + "Config checking state: verify ingress firewall rule.", + "Config checking state: verify egress firewall rule.", + "Config checking state: verify route.", + "Config checking state: match forwarding rule.", + "Config checking state: packet sent or received under foreign IP\naddress and allowed.", + "Forwarding state: arriving at a Compute Engine instance.", + "Forwarding state: arriving at a Compute Engine internal load balancer.", + "Forwarding state: arriving at a Compute Engine external load balancer.", + "Forwarding state: arriving at a Cloud VPN gateway.", + "Forwarding state: arriving at a Cloud VPN tunnel.", + "Transition state: packet header translated.", + "Transition state: original connection is terminated and a new proxied\nconnection is initiated.", + "Final state: packet delivered.", + "Final state: packet dropped.", + "Final state: packet forwarded to a network with an unknown configuration.", + "Final state: analysis is aborted.", + "Special state: viewer of the test result does not have permission to\nsee the configuration in this step." + ], + "type": "string" + }, + "vpnGateway": { + "$ref": "VpnGatewayInfo", + "description": "Display info of a Compute Engine VPN gateway." + }, + "vpnTunnel": { + "$ref": "VpnTunnelInfo", + "description": "Display info of a Compute Engine VPN tunnel." + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Trace": { + "description": "Trace represents one simulated packet forwarding path.\n
    \n
  • Each trace contains multiple ordered steps.
  • \n
  • Each step is in a particular state and has an associated\n configuration.
  • State is categorized as a final or non-final\n state.
  • Each final state has a reason associated with it.
  • \n
  • Each trace must end with a final state (the last step).
  • \n
\n
\n  |---------------------Trace----------------------|\n  Step1(State) Step2(State) ---  StepN(State(final))\n
", + "id": "Trace", + "properties": { + "endpointInfo": { + "$ref": "EndpointInfo", + "description": "Derived from the source and destination endpoints definition, and validated\nby the data plane model.\nIf there are multiple traces starting from different source locations, then\nthe endpoint_info may be different between traces." + }, + "steps": { + "description": "A trace of a test contains multiple steps from the initial state to the\nfinal state (delivered, dropped, forwarded, or aborted).\n\nThe steps are ordered by the processing sequence within the simulated\nnetwork state machine. It is critical to preserve the order of the steps\nand avoid reordering or sorting them.", + "items": { + "$ref": "Step" + }, + "type": "array" + } + }, + "type": "object" + }, + "VpnGatewayInfo": { + "description": "For display only. Metadata associated with a Compute Engine VPN gateway.", + "id": "VpnGatewayInfo", + "properties": { + "displayName": { + "description": "Name of a VPN gateway.", + "type": "string" + }, + "ipAddress": { + "description": "IP address of the VPN gateway.", + "type": "string" + }, + "networkUri": { + "description": "URI of a Compute Engine network where the VPN gateway is configured.", + "type": "string" + }, + "region": { + "description": "Name of a GCP region where this VPN gateway is configured.", + "type": "string" + }, + "uri": { + "description": "URI of a VPN gateway.", + "type": "string" + }, + "vpnTunnelUri": { + "description": "A VPN tunnel that is associated with this VPN gateway.\nThere may be multiple VPN tunnels configured on a VPN gateway, and only\nthe one relevant to the test is displayed.", + "type": "string" + } + }, + "type": "object" + }, + "VpnTunnelInfo": { + "description": "For display only. Metadata associated with a Compute Engine VPN tunnel.", + "id": "VpnTunnelInfo", + "properties": { + "displayName": { + "description": "Name of a VPN tunnel.", + "type": "string" + }, + "networkUri": { + "description": "URI of a Compute Engine network where the VPN tunnel is configured.", + "type": "string" + }, + "region": { + "description": "Name of a GCP region where this VPN tunnel is configured.", + "type": "string" + }, + "remoteGateway": { + "description": "URI of a VPN gateway at remote end of the tunnel.", + "type": "string" + }, + "remoteGatewayIp": { + "description": "Remote VPN gateway's IP address.", + "type": "string" + }, + "routingType": { + "description": "Type of the routing policy.", + "enum": [ + "ROUTING_TYPE_UNSPECIFIED", + "ROUTE_BASED", + "POLICY_BASED", + "DYNAMIC" + ], + "enumDescriptions": [ + "Unspecified type. Default value.", + "Route based VPN.", + "Policy based routing.", + "Dynamic (BGP) routing." + ], + "type": "string" + }, + "sourceGateway": { + "description": "URI of the VPN gateway at local end of the tunnel.", + "type": "string" + }, + "sourceGatewayIp": { + "description": "Local VPN gateway's IP address.", + "type": "string" + }, + "uri": { + "description": "URI of a VPN tunnel.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Network Management API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/networkmanagement/v1beta1/networkmanagement-api.json b/etc/api/networkmanagement/v1beta1/networkmanagement-api.json new file mode 100644 index 0000000000..8633825987 --- /dev/null +++ b/etc/api/networkmanagement/v1beta1/networkmanagement-api.json @@ -0,0 +1,1870 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://networkmanagement.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Network Management", + "description": "The Network Management API provides a collection of network performance monitoring and diagnostic capabilities.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "networkmanagement:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://networkmanagement.mtls.googleapis.com/", + "name": "networkmanagement", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "global": { + "resources": { + "connectivityTests": { + "methods": { + "create": { + "description": "Creates a new Connectivity Test.\nAfter you create a test, the reachability analysis is performed as part\nof the long running operation, which completes when the analysis completes.\n\nIf the endpoint specifications in `ConnectivityTest` are invalid\n(for example, containing non-existent resources in the network, or you\ndon't have read permissions to the network configurations of listed\nprojects), then the reachability result returns a value of `UNKNOWN`.\n\nIf the endpoint specifications in `ConnectivityTest` are\nincomplete, the reachability result returns a value of\nAMBIGUOUS. For more information,\nsee the Connectivity Test documentation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.connectivityTests.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the Connectivity Test to create:\n `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "testId": { + "description": "Required. The logical name of the Connectivity Test in your project\nwith the following restrictions:\n\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-40 characters.\n* Must end with a number or a letter.\n* Must be unique within the customer project", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/connectivityTests", + "request": { + "$ref": "ConnectivityTest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a specific `ConnectivityTest`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", + "httpMethod": "DELETE", + "id": "networkmanagement.projects.locations.global.connectivityTests.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Connectivity Test resource name using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a specific Connectivity Test.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.connectivityTests.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. `ConnectivityTest` resource name using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "ConnectivityTest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.connectivityTests.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all Connectivity Tests owned by a project.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.connectivityTests.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists the `ConnectivityTests` that match the filter expression. A filter\nexpression filters the resources listed in the response. The expression\nmust be of the form ` ` where operators: `<`, `>`,\n`<=`,\n`>=`,\n`!=`, `=`, `:` are supported (colon `:` represents a HAS operator which is\nroughly synonymous with equality). can refer to a proto or JSON\nfield, or a synthetic field. Field names can be camelCase or snake_case.\n\nExamples:\n- Filter by name:\n name = \"projects/proj-1/locations/global/connectivityTests/test-1\n\n- Filter by labels:\n - Resources that have a key called `foo`\n labels.foo:*\n - Resources that have a key called `foo` whose value is `bar`\n labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field to use to sort the list.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Number of `ConnectivityTests` to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token from an earlier query, as returned in `next_page_token`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the Connectivity Tests:\n `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/connectivityTests", + "response": { + "$ref": "ListConnectivityTestsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the configuration of an existing `ConnectivityTest`.\nAfter you update a test, the reachability analysis is performed as part\nof the long running operation, which completes when the analysis completes.\nThe Reachability state in the test resource is updated with the new result.\n\nIf the endpoint specifications in `ConnectivityTest` are invalid\n(for example, they contain non-existent resources in the network, or the\nuser does not have read permissions to the network configurations of\nlisted projects), then the reachability result returns a value of\nUNKNOWN.\n\nIf the endpoint specifications in `ConnectivityTest` are incomplete, the\nreachability result returns a value of `AMBIGUOUS`. See the documentation\nin `ConnectivityTest` for for more details.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}", + "httpMethod": "PATCH", + "id": "networkmanagement.projects.locations.global.connectivityTests.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Unique name of the resource using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "ConnectivityTest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "rerun": { + "description": "Rerun an existing `ConnectivityTest`.\nAfter the user triggers the rerun, the reachability analysis is performed\nas part of the long running operation, which completes when the analysis\ncompletes.\n\nEven though the test configuration remains the same, the reachability\nresult may change due to underlying network configuration changes.\n\nIf the endpoint specifications in `ConnectivityTest` become invalid (for\nexample, specified resources are deleted in the network, or you lost\nread permissions to the network configurations of listed projects), then\nthe reachability result returns a value of `UNKNOWN`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:rerun", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.connectivityTests.rerun", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Connectivity Test resource name using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:rerun", + "request": { + "$ref": "RerunConnectivityTestRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.connectivityTests.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/connectivityTests/{connectivityTestsId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.connectivityTests.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/connectivityTests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.global.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "networkmanagement.projects.locations.global.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/operations/{operationsId}", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/operations", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.global.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200520", + "rootUrl": "https://networkmanagement.googleapis.com/", + "schemas": { + "AbortInfo": { + "description": "Details of the final state \"abort\" and associated resource.", + "id": "AbortInfo", + "properties": { + "cause": { + "description": "Causes that the analysis is aborted.", + "enum": [ + "CAUSE_UNSPECIFIED", + "UNKNOWN_NETWORK", + "UNKNOWN_IP", + "UNKNOWN_PROJECT", + "PERMISSION_DENIED", + "NO_SOURCE_LOCATION", + "INVALID_ARGUMENT", + "NO_EXTERNAL_IP", + "UNINTENDED_DESTINATION", + "TRACE_TOO_LONG", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "Cause is unspecified.", + "Aborted due to unknown network.\nThe reachability analysis cannot proceed because the user does not have\naccess to the host project's network configurations, including firewall\nrules and routes. This happens when the project is a service project and\nthe endpoints being traced are in the host project's network.", + "Aborted because the IP address(es) are unknown.", + "Aborted because no project information can be derived from the test\ninput.", + "Aborted because the user lacks the permission to access all or part of\nthe network configurations required to run the test.", + "Aborted because no valid source endpoint is derived from the input test\nrequest.", + "Aborted because the source and/or destination endpoint specified in\nthe test are invalid. The possible reasons that an endpoint is\ninvalid include: malformed IP address; nonexistent instance or\nnetwork URI; IP address not in the range of specified network URI; and\ninstance not owning the network interface in the specified network.", + "Aborted because traffic is sent from a public IP to an instance without\nan external IP.", + "Aborted because none of the traces matches destination information\nspecified in the input test request.", + "Aborted because the number of steps in the trace exceeding a certain\nlimit which may be caused by routing loop.", + "Aborted due to internal server error." + ], + "type": "string" + }, + "resourceUri": { + "description": "URI of the resource that caused the abort.", + "type": "string" + } + }, + "type": "object" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "ConnectivityTest": { + "description": "A Connectivity Test for a network reachability analysis.", + "id": "ConnectivityTest", + "properties": { + "createTime": { + "description": "Output only. The time the test was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The user-supplied description of the Connectivity Test.\nMaximum of 512 characters.", + "type": "string" + }, + "destination": { + "$ref": "Endpoint", + "description": "Required. Destination specification of the Connectivity Test.\n\nYou can use a combination of destination IP address, Compute Engine\nVM instance, or VPC network to uniquely identify the destination\nlocation.\n\nEven if the destination IP address is not unique, the source IP\nlocation is unique. Usually, the analysis can infer the destination\nendpoint from route information.\n\nIf the destination you specify is a VM instance and the instance has\nmultiple network interfaces, then you must also specify either\na destination IP address or VPC network to identify the destination\ninterface.\n\nA reachability analysis proceeds even if the destination location is\nambiguous. However, the result can include endpoints that you don't\nintend to test." + }, + "displayName": { + "description": "Output only. The display name of a Connectivity Test.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user-provided metadata.", + "type": "object" + }, + "name": { + "description": "Required. Unique name of the resource using the form:\n `projects/{project_id}/locations/global/connectivityTests/{test}`", + "type": "string" + }, + "protocol": { + "description": "IP Protocol of the test. When not provided, \"TCP\" is assumed.", + "type": "string" + }, + "reachabilityDetails": { + "$ref": "ReachabilityDetails", + "description": "Output only. The reachability details of this test from the latest run.\nThe details are updated when creating a new test, updating an\nexisting test, or triggering a one-time rerun of an existing test." + }, + "relatedProjects": { + "description": "Other projects that may be relevant for reachability analysis.\nThis is applicable to scenarios where a test can cross project boundaries.", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "$ref": "Endpoint", + "description": "Required. Source specification of the Connectivity Test.\n\nYou can use a combination of source IP address, virtual machine\n(VM) instance, or Compute Engine network to uniquely identify\nthe source location.\n\nExamples:\nIf the source IP address is an internal IP address within a Google Cloud\nVirtual Private Cloud (VPC) network, then you must also specify the VPC\nnetwork. Otherwise, specify the VM instance, which already contains its\ninternal IP address and VPC network information.\n\nIf the source of the test is within an on-premises network, then you must\nprovide the destination VPC network.\n\nIf the source endpoint is a Compute Engine VM instance with multiple\nnetwork interfaces, the instance itself is not sufficient to identify the\nendpoint. So, you must also specify the source IP address or VPC network.\n\nA reachability analysis proceeds even if the source location is\nambiguous. However, the test result may include endpoints that you don't\nintend to test." + }, + "updateTime": { + "description": "Output only. The time the test's configuration was updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "DeliverInfo": { + "description": "Details of the final state \"deliver\" and associated resource.", + "id": "DeliverInfo", + "properties": { + "resourceUri": { + "description": "URI of the resource that the packet is delivered to.", + "type": "string" + }, + "target": { + "description": "Target type where the packet is delivered to.", + "enum": [ + "TARGET_UNSPECIFIED", + "INSTANCE", + "INTERNET", + "GOOGLE_API" + ], + "enumDescriptions": [ + "Target not specified.", + "Target is a Compute Engine instance.", + "Target is the Internet.", + "Target is a Google API." + ], + "type": "string" + } + }, + "type": "object" + }, + "DropInfo": { + "description": "Details of the final state \"drop\" and associated resource.", + "id": "DropInfo", + "properties": { + "cause": { + "description": "Cause that the packet is dropped.", + "enum": [ + "CAUSE_UNSPECIFIED", + "UNKNOWN_EXTERNAL_ADDRESS", + "FOREIGN_IP_DISALLOWED", + "FIREWALL_RULE", + "NO_ROUTE", + "ROUTE_BLACKHOLE", + "ROUTE_WRONG_NETWORK", + "PRIVATE_TRAFFIC_TO_INTERNET", + "PRIVATE_GOOGLE_ACCESS_DISALLOWED", + "NO_EXTERNAL_ADDRESS", + "UNKNOWN_INTERNAL_ADDRESS", + "FORWARDING_RULE_MISMATCH", + "FORWARDING_RULE_NO_INSTANCES", + "FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK", + "INSTANCE_NOT_RUNNING", + "TRAFFIC_TYPE_BLOCKED", + "GKE_MASTER_UNAUTHORIZED_ACCESS" + ], + "enumDescriptions": [ + "Cause is unspecified.", + "Destination external address cannot be resolved to a known target.", + "a Compute Engine instance can only send or receive a packet with a\nforeign IP if ip_forward is enabled.", + "Dropped due to a firewall rule unless allowed due to connection tracking.", + "Dropped due to no routes.", + "Dropped due to invalid route. Route's next hop is a blackhole.", + "Packet is sent to a wrong (unintended) network. Example: user traces a\npacket from VM1:Network1 to VM2:Network2, however, the route configured\nin Network1 sends the packet destined for VM2's IP addresss to Network3.", + "Packet with internal destination address sent to Internet gateway.", + "Instance with only an internal IP tries to access Google API and\nServices, and private Google access is not enabled.", + "Instance with only internal IP tries to access external hosts, but\nCloud NAT is not enabled in the subnet, unless special configurations\non a VM allows this connection. See [Special Configurations for VM\ninstances](/vpc/docs/special-configurations) for details.", + "Destination internal address cannot be resolved to a known target.", + "Forwarding rule's protocol and ports do not match the packet header.", + "Forwarding rule does not have backends configured.", + "Firewalls block the health check probes to the backends and cause\nthe backends to be unavailable for traffic from the load balancer.\nSee [Health check firewall rules](/load-balancing/docs/\nhealth-checks#firewall_rules) for more details.", + "Packet is sent from or to a Compute Engine instance that is not in a\nrunning state.", + "The type of traffic is blocked and the user cannot configure a firewall\nrule to enable it. See [Always blocked traffic](/vpc/docs/firewalls#\nblockedtraffic) for more details.", + "Access to GKE master's endpoint is not authorized.\nSee [Access to the cluster endpoints](/kubernetes-engine/docs/how-to/\nprivate-clusters#access_to_the_cluster_endpoints) for more details." + ], + "type": "string" + }, + "resourceUri": { + "description": "URI of the resource that caused the drop.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Endpoint": { + "description": "Source or destination of the Connectivity Test.", + "id": "Endpoint", + "properties": { + "instance": { + "description": "A Compute Engine instance URI.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the endpoint, which can be an external or internal IP.\nAn IPv6 address is only allowed when the test's destination is a\n[global load balancer VIP](/load-balancing/docs/load-balancing-overview).", + "type": "string" + }, + "network": { + "description": "A Compute Engine network URI.", + "type": "string" + }, + "networkType": { + "description": "Type of the network where the endpoint is located.\nApplicable only to source endpoint, as destination network type can be\ninferred from the source.", + "enum": [ + "NETWORK_TYPE_UNSPECIFIED", + "GCP_NETWORK", + "NON_GCP_NETWORK" + ], + "enumDescriptions": [ + "Default type if unspecified.", + "A network hosted within Google Cloud Platform.\nTo receive more detailed output, specify the URI for the source or\ndestination network.", + "A network hosted outside of Google Cloud Platform.\nThis can be an on-premises network, or a network hosted by another cloud\nprovider." + ], + "type": "string" + }, + "port": { + "description": "The IP protocol port of the endpoint.\nOnly applicable when protocol is TCP or UDP.", + "format": "int32", + "type": "integer" + }, + "projectId": { + "description": "Project ID where the endpoint is located.\nThe Project ID can be derived from the URI if you provide a VM instance or\nnetwork URI.\nThe following are two cases where you must provide the project ID:\n1. Only the IP address is specified, and the IP address is within a GCP\nproject.\n2. When you are using Shared VPC and the IP address that you provide is\nfrom the service project. In this case, the network that the IP address\nresides in is defined in the host project.", + "type": "string" + } + }, + "type": "object" + }, + "EndpointInfo": { + "description": "For display only. The specification of the endpoints for the test.\nEndpointInfo is derived from source and destination Endpoint and validated\nby the backend data plane model.", + "id": "EndpointInfo", + "properties": { + "destinationIp": { + "description": "Destination IP address.", + "type": "string" + }, + "destinationNetworkUri": { + "description": "URI of the network where this packet is sent to.", + "type": "string" + }, + "destinationPort": { + "description": "Destination port. Only valid when protocol is TCP or UDP.", + "format": "int32", + "type": "integer" + }, + "protocol": { + "description": "IP protocol in string format, for example: \"TCP\", \"UDP\", \"ICMP\".", + "type": "string" + }, + "sourceIp": { + "description": "Source IP address.", + "type": "string" + }, + "sourceNetworkUri": { + "description": "URI of the network where this packet originates from.", + "type": "string" + }, + "sourcePort": { + "description": "Source port. Only valid when protocol is TCP or UDP.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "FirewallInfo": { + "description": "For display only. Metadata associated with a Compute Engine firewall rule.", + "id": "FirewallInfo", + "properties": { + "action": { + "description": "Possible values: ALLOW, DENY", + "type": "string" + }, + "direction": { + "description": "Possible values: INGRESS, EGRESS", + "type": "string" + }, + "displayName": { + "description": "Name of a Compute Engine firewall rule.", + "type": "string" + }, + "networkUri": { + "description": "URI of a Compute Engine network.", + "type": "string" + }, + "priority": { + "description": "Priority of the firewall rule.", + "format": "int32", + "type": "integer" + }, + "targetServiceAccounts": { + "description": "Target service accounts of the firewall rule.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetTags": { + "description": "Target tags of the firewall rule.", + "items": { + "type": "string" + }, + "type": "array" + }, + "uri": { + "description": "URI of a Compute Engine firewall rule.\nImplied default rule does not have URI.", + "type": "string" + } + }, + "type": "object" + }, + "ForwardInfo": { + "description": "Details of the final state \"forward\" and associated resource.", + "id": "ForwardInfo", + "properties": { + "resourceUri": { + "description": "URI of the resource that the packet is forwarded to.", + "type": "string" + }, + "target": { + "description": "Target type where this packet is forwarded to.", + "enum": [ + "TARGET_UNSPECIFIED", + "PEERING_VPC", + "VPN_GATEWAY", + "INTERCONNECT", + "GKE_MASTER", + "IMPORTED_CUSTOM_ROUTE_NEXT_HOP" + ], + "enumDescriptions": [ + "Target not specified.", + "Forwarded to a VPC peering network.", + "Forwarded to a Cloud VPN gateway.", + "Forwarded to an Cloud Interconnect connection.", + "Forwarded to a Google Kubernetes Engine Container cluster master.", + "Forwarded to the next hop of a custom route imported from a peering VPC." + ], + "type": "string" + } + }, + "type": "object" + }, + "ForwardingRuleInfo": { + "description": "For display only. Metadata associated with a Compute Engine forwarding rule.", + "id": "ForwardingRuleInfo", + "properties": { + "displayName": { + "description": "Name of a Compute Engine forwarding rule.", + "type": "string" + }, + "matchedPortRange": { + "description": "Port range defined in the forwarding rule that matches the test.", + "type": "string" + }, + "matchedProtocol": { + "description": "Protocol defined in the forwarding rule that matches the test.", + "type": "string" + }, + "networkUri": { + "description": "Network URI. Only valid for Internal Load Balancer.", + "type": "string" + }, + "target": { + "description": "Target type of the forwarding rule.", + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine forwarding rule.", + "type": "string" + }, + "vip": { + "description": "VIP of the forwarding rule.", + "type": "string" + } + }, + "type": "object" + }, + "InstanceInfo": { + "description": "For display only. Metadata associated with a Compute Engine instance.", + "id": "InstanceInfo", + "properties": { + "displayName": { + "description": "Name of a Compute Engine instance.", + "type": "string" + }, + "externalIp": { + "description": "External IP address of the network interface.", + "type": "string" + }, + "interface": { + "description": "Name of the network interface of a Compute Engine instance.", + "type": "string" + }, + "internalIp": { + "description": "Internal IP address of the network interface.", + "type": "string" + }, + "networkTags": { + "description": "Network tags configured on the instance.", + "items": { + "type": "string" + }, + "type": "array" + }, + "networkUri": { + "description": "URI of a Compute Engine network.", + "type": "string" + }, + "serviceAccount": { + "description": "Service account authorized for the instance.", + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine instance.", + "type": "string" + } + }, + "type": "object" + }, + "ListConnectivityTestsResponse": { + "description": "Response for the `ListConnectivityTests` method.", + "id": "ListConnectivityTestsResponse", + "properties": { + "nextPageToken": { + "description": "Page token to fetch the next set of Connectivity Tests.", + "type": "string" + }, + "resources": { + "description": "List of Connectivity Tests.", + "items": { + "$ref": "ConnectivityTest" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached (when querying all locations with `-`).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "LoadBalancerBackend": { + "description": "For display only. Metadata associated with a specific load balancer backend.", + "id": "LoadBalancerBackend", + "properties": { + "displayName": { + "description": "Name of a Compute Engine instance or network endpoint.", + "type": "string" + }, + "healthCheckAllowingFirewallRules": { + "description": "A list of firewall rule URIs allowing probes from health check IP ranges.", + "items": { + "type": "string" + }, + "type": "array" + }, + "healthCheckBlockingFirewallRules": { + "description": "A list of firewall rule URIs blocking probes from health check IP ranges.", + "items": { + "type": "string" + }, + "type": "array" + }, + "healthCheckFirewallState": { + "description": "State of the health check firewall configuration.", + "enum": [ + "HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED", + "CONFIGURED", + "MISCONFIGURED" + ], + "enumDescriptions": [ + "State is unspecified. Default state if not populated.", + "There are configured firewall rules to allow health check probes to the\nbackend.", + "There are firewall rules configured to allow partial health check ranges\nor block all health check ranges.\nIf a health check probe is sent from denied IP ranges,\nthe health check to the backend will fail. Then, the backend will be\nmarked unhealthy and will not receive traffic sent to the load balancer." + ], + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine instance or network endpoint.", + "type": "string" + } + }, + "type": "object" + }, + "LoadBalancerInfo": { + "description": "For display only. Metadata associated with a load balancer.", + "id": "LoadBalancerInfo", + "properties": { + "backendType": { + "description": "Type of load balancer's backend configuration.", + "enum": [ + "BACKEND_TYPE_UNSPECIFIED", + "BACKEND_SERVICE", + "TARGET_POOL" + ], + "enumDescriptions": [ + "Type is unspecified.", + "Backend Service as the load balancer's backend.", + "Target Pool as the load balancer's backend." + ], + "type": "string" + }, + "backendUri": { + "description": "Backend configuration URI.", + "type": "string" + }, + "backends": { + "description": "Information for the loadbalancer backends.", + "items": { + "$ref": "LoadBalancerBackend" + }, + "type": "array" + }, + "healthCheckUri": { + "description": "URI of the health check for the load balancer.", + "type": "string" + }, + "loadBalancerType": { + "description": "Type of the load balancer.", + "enum": [ + "LOAD_BALANCER_TYPE_UNSPECIFIED", + "INTERNAL_TCP_UDP", + "NETWORK_TCP_UDP", + "HTTP_PROXY", + "TCP_PROXY", + "SSL_PROXY" + ], + "enumDescriptions": [ + "Type is unspecified.", + "Internal TCP/UDP load balancer.", + "Network TCP/UDP load balancer.", + "HTTP(S) proxy load balancer.", + "TCP proxy load balancer.", + "SSL proxy load balancer." + ], + "type": "string" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "NetworkInfo": { + "description": "For display only. Metadata associated with a Compute Engine network.", + "id": "NetworkInfo", + "properties": { + "displayName": { + "description": "Name of a Compute Engine network.", + "type": "string" + }, + "matchedIpRange": { + "description": "The IP range that matches the test.", + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine network.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata describing an Operation", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "API version.", + "type": "string" + }, + "cancelRequested": { + "description": "Specifies if cancellation was requested for the operation.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "statusDetail": { + "description": "Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "Target of the operation - for example\nprojects/project-1/locations/global/connectivityTests/test-1", + "type": "string" + }, + "verb": { + "description": "Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReachabilityDetails": { + "description": "The details of reachability state from the latest run.", + "id": "ReachabilityDetails", + "properties": { + "error": { + "$ref": "Status", + "description": "The details of a failure or a cancellation of reachability analysis." + }, + "result": { + "description": "The overall reachability result of the test.", + "enum": [ + "RESULT_UNSPECIFIED", + "REACHABLE", + "UNREACHABLE", + "AMBIGUOUS", + "UNDETERMINED" + ], + "enumDescriptions": [ + "Result is not specified.", + "Packet originating from source is expected to reach destination.", + "Packet originating from source is expected to be dropped before\nreaching destination.", + "If the source and destination endpoint does not uniquely identify\nthe test location in the network, and the reachability result contains\nmultiple traces with mixed reachable and unreachable states, then this\nresult is returned.", + "The reachability could not be determined. Possible reasons are:\n\n* Analysis is aborted due to permission error. User does not have read\n permission to the projects listed in the test.\n* Analysis is aborted due to internal errors.\n* Analysis is partially complete based on configurations where the user\n has permission.\n The Final state indicates that the packet is forwarded to another\nnetwork where the user has no permission to access the configurations." + ], + "type": "string" + }, + "traces": { + "description": "Result may contain a list of traces if a test has multiple possible\npaths in the network, such as when destination endpoint is a load balancer\nwith multiple backends.", + "items": { + "$ref": "Trace" + }, + "type": "array" + }, + "verifyTime": { + "description": "The time the reachability state was verified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "RerunConnectivityTestRequest": { + "description": "Request for the `RerunConnectivityTest` method.", + "id": "RerunConnectivityTestRequest", + "properties": {}, + "type": "object" + }, + "RouteInfo": { + "description": "For display only. Metadata associated with a Compute Engine route.", + "id": "RouteInfo", + "properties": { + "destIpRange": { + "description": "Destination IP range of the route.", + "type": "string" + }, + "displayName": { + "description": "Name of a Compute Engine route.", + "type": "string" + }, + "instanceTags": { + "description": "Instance tags of the route.", + "items": { + "type": "string" + }, + "type": "array" + }, + "networkUri": { + "description": "URI of a Compute Engine network.", + "type": "string" + }, + "nextHop": { + "description": "Next hop of the route.", + "type": "string" + }, + "nextHopType": { + "description": "Type of next hop.", + "enum": [ + "NEXT_HOP_TYPE_UNSPECIFIED", + "NEXT_HOP_IP", + "NEXT_HOP_INSTANCE", + "NEXT_HOP_NETWORK", + "NEXT_HOP_PEERING", + "NEXT_HOP_INTERCONNECT", + "NEXT_HOP_VPN_TUNNEL", + "NEXT_HOP_VPN_GATEWAY", + "NEXT_HOP_INTERNET_GATEWAY", + "NEXT_HOP_BLACKHOLE", + "NEXT_HOP_ILB" + ], + "enumDescriptions": [ + "Unspecified type. Default value.", + "Next hop is an IP address.", + "Next hop is a Compute Engine instance.", + "Next hop is a VPC network gateway.", + "Next hop is a peering VPC.", + "Next hop is an interconnect.", + "Next hop is a VPN tunnel.", + "Next hop is a VPN Gateway. This scenario only happens when tracing\nconnectivity from an on-premises network to GCP through a VPN. The\nanalysis simulates a packet departing from the on-premises network\nthrough a VPN tunnel and arrives at a Cloud VPN gateway.", + "Next hop is an internet gateway.", + "Next hop is blackhole; that is, the next hop either does not exist or is\nnot running.", + "Next hop is the forwarding rule of an Internal Load Balancer." + ], + "type": "string" + }, + "priority": { + "description": "Priority of the route.", + "format": "int32", + "type": "integer" + }, + "routeType": { + "description": "Type of route.", + "enum": [ + "ROUTE_TYPE_UNSPECIFIED", + "SUBNET", + "STATIC", + "DYNAMIC", + "PEERING_SUBNET", + "PEERING_STATIC", + "PEERING_DYNAMIC" + ], + "enumDescriptions": [ + "Unspecified type. Default value.", + "Route is a subnet route automatically created by the system.", + "Static route created by the user including the default route to the\nInternet.", + "Dynamic route exchanged between BGP peers.", + "A subnet route received from peering network.", + "A static route received from peering network.", + "A dynamic route received from peering network." + ], + "type": "string" + }, + "uri": { + "description": "URI of a Compute Engine route.\nDynamic route from cloud router does not have a URI.\nAdvertised route from Google Cloud VPC to on-premises network also does\nnot have a URI.", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "Step": { + "description": "A simulated forwarding path is composed of multiple steps.\nEach step has a well-defined state and an associated configuration.", + "id": "Step", + "properties": { + "abort": { + "$ref": "AbortInfo", + "description": "Display info of the final state \"abort\" and reason." + }, + "causesDrop": { + "description": "This is a step that leads to the final state Drop.", + "type": "boolean" + }, + "deliver": { + "$ref": "DeliverInfo", + "description": "Display info of the final state \"deliver\" and reason." + }, + "description": { + "description": "A description of the step. Usually this is a summary of the state.", + "type": "string" + }, + "drop": { + "$ref": "DropInfo", + "description": "Display info of the final state \"drop\" and reason." + }, + "endpoint": { + "$ref": "EndpointInfo", + "description": "Display info of the source and destination under analysis.\nThe endpiont info in an intermediate state may differ with the\ninitial input, as it might be modified by state like NAT,\nor Connection Proxy." + }, + "firewall": { + "$ref": "FirewallInfo", + "description": "Display info of a Compute Engine firewall rule." + }, + "forward": { + "$ref": "ForwardInfo", + "description": "Display info of the final state \"forward\" and reason." + }, + "forwardingRule": { + "$ref": "ForwardingRuleInfo", + "description": "Display info of a Compute Engine forwarding rule." + }, + "instance": { + "$ref": "InstanceInfo", + "description": "Display info of a Compute Engine instance." + }, + "loadBalancer": { + "$ref": "LoadBalancerInfo", + "description": "Display info of the load balancers." + }, + "network": { + "$ref": "NetworkInfo", + "description": "Display info of a GCP network." + }, + "projectId": { + "description": "Project ID that contains the configuration this step is validating.", + "type": "string" + }, + "route": { + "$ref": "RouteInfo", + "description": "Display info of a Compute Engine route." + }, + "state": { + "description": "Each step is in one of the pre-defined states.", + "enum": [ + "STATE_UNSPECIFIED", + "START_FROM_INSTANCE", + "START_FROM_INTERNET", + "START_FROM_PRIVATE_NETWORK", + "APPLY_INGRESS_FIREWALL_RULE", + "APPLY_EGRESS_FIREWALL_RULE", + "APPLY_ROUTE", + "APPLY_FORWARDING_RULE", + "SPOOFING_APPROVED", + "ARRIVE_AT_INSTANCE", + "ARRIVE_AT_INTERNAL_LOAD_BALANCER", + "ARRIVE_AT_EXTERNAL_LOAD_BALANCER", + "ARRIVE_AT_VPN_GATEWAY", + "ARRIVE_AT_VPN_TUNNEL", + "NAT", + "PROXY_CONNECTION", + "DELIVER", + "DROP", + "FORWARD", + "ABORT", + "VIEWER_PERMISSION_MISSING" + ], + "enumDescriptions": [ + "Unspecified state.", + "Initial state: packet originating from a Compute Engine instance.\nAn InstanceInfo will be populated with starting instance info.", + "Initial state: packet originating from Internet.\nThe endpoint info will be populated.", + "Initial state: packet originating from a VPC or on-premises network\nwith internal source IP.\nIf the source is a VPC network visible to the user, a NetworkInfo\nwill be populated with details of the network.", + "Config checking state: verify ingress firewall rule.", + "Config checking state: verify egress firewall rule.", + "Config checking state: verify route.", + "Config checking state: match forwarding rule.", + "Config checking state: packet sent or received under foreign IP\naddress and allowed.", + "Forwarding state: arriving at a Compute Engine instance.", + "Forwarding state: arriving at a Compute Engine internal load balancer.", + "Forwarding state: arriving at a Compute Engine external load balancer.", + "Forwarding state: arriving at a Cloud VPN gateway.", + "Forwarding state: arriving at a Cloud VPN tunnel.", + "Transition state: packet header translated.", + "Transition state: original connection is terminated and a new proxied\nconnection is initiated.", + "Final state: packet delivered.", + "Final state: packet dropped.", + "Final state: packet forwarded to a network with an unknown configuration.", + "Final state: analysis is aborted.", + "Special state: viewer of the test result does not have permission to\nsee the configuration in this step." + ], + "type": "string" + }, + "vpnGateway": { + "$ref": "VpnGatewayInfo", + "description": "Display info of a Compute Engine VPN gateway." + }, + "vpnTunnel": { + "$ref": "VpnTunnelInfo", + "description": "Display info of a Compute Engine VPN tunnel." + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Trace": { + "description": "Trace represents one simulated packet forwarding path.\n
    \n
  • Each trace contains multiple ordered steps.
  • \n
  • Each step is in a particular state and has an associated\n configuration.
  • State is categorized as a final or non-final\n state.
  • Each final state has a reason associated with it.
  • \n
  • Each trace must end with a final state (the last step).
  • \n
\n
\n  |---------------------Trace----------------------|\n  Step1(State) Step2(State) ---  StepN(State(final))\n
", + "id": "Trace", + "properties": { + "endpointInfo": { + "$ref": "EndpointInfo", + "description": "Derived from the source and destination endpoints definition, and validated\nby the data plane model.\nIf there are multiple traces starting from different source locations, then\nthe endpoint_info may be different between traces." + }, + "steps": { + "description": "A trace of a test contains multiple steps from the initial state to the\nfinal state (delivered, dropped, forwarded, or aborted).\n\nThe steps are ordered by the processing sequence within the simulated\nnetwork state machine. It is critical to preserve the order of the steps\nand avoid reordering or sorting them.", + "items": { + "$ref": "Step" + }, + "type": "array" + } + }, + "type": "object" + }, + "VpnGatewayInfo": { + "description": "For display only. Metadata associated with a Compute Engine VPN gateway.", + "id": "VpnGatewayInfo", + "properties": { + "displayName": { + "description": "Name of a VPN gateway.", + "type": "string" + }, + "ipAddress": { + "description": "IP address of the VPN gateway.", + "type": "string" + }, + "networkUri": { + "description": "URI of a Compute Engine network where the VPN gateway is configured.", + "type": "string" + }, + "region": { + "description": "Name of a GCP region where this VPN gateway is configured.", + "type": "string" + }, + "uri": { + "description": "URI of a VPN gateway.", + "type": "string" + }, + "vpnTunnelUri": { + "description": "A VPN tunnel that is associated with this VPN gateway.\nThere may be multiple VPN tunnels configured on a VPN gateway, and only\nthe one relevant to the test is displayed.", + "type": "string" + } + }, + "type": "object" + }, + "VpnTunnelInfo": { + "description": "For display only. Metadata associated with a Compute Engine VPN tunnel.", + "id": "VpnTunnelInfo", + "properties": { + "displayName": { + "description": "Name of a VPN tunnel.", + "type": "string" + }, + "networkUri": { + "description": "URI of a Compute Engine network where the VPN tunnel is configured.", + "type": "string" + }, + "region": { + "description": "Name of a GCP region where this VPN tunnel is configured.", + "type": "string" + }, + "remoteGateway": { + "description": "URI of a VPN gateway at remote end of the tunnel.", + "type": "string" + }, + "remoteGatewayIp": { + "description": "Remote VPN gateway's IP address.", + "type": "string" + }, + "routingType": { + "description": "Type of the routing policy.", + "enum": [ + "ROUTING_TYPE_UNSPECIFIED", + "ROUTE_BASED", + "POLICY_BASED", + "DYNAMIC" + ], + "enumDescriptions": [ + "Unspecified type. Default value.", + "Route based VPN.", + "Policy based routing.", + "Dynamic (BGP) routing." + ], + "type": "string" + }, + "sourceGateway": { + "description": "URI of the VPN gateway at local end of the tunnel.", + "type": "string" + }, + "sourceGatewayIp": { + "description": "Local VPN gateway's IP address.", + "type": "string" + }, + "uri": { + "description": "URI of a VPN tunnel.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Network Management API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/osconfig/v1/osconfig-api.json b/etc/api/osconfig/v1/osconfig-api.json new file mode 100644 index 0000000000..87c3c131af --- /dev/null +++ b/etc/api/osconfig/v1/osconfig-api.json @@ -0,0 +1,1334 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://osconfig.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Systems Management", + "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "osconfig:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://osconfig.mtls.googleapis.com/", + "name": "osconfig", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "patchDeployments": { + "methods": { + "create": { + "description": "Create an OS Config patch deployment.", + "flatPath": "v1/projects/{projectsId}/patchDeployments", + "httpMethod": "POST", + "id": "osconfig.projects.patchDeployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project to apply this patch deployment to in the form `projects/*`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "patchDeploymentId": { + "description": "Required. A name for the patch deployment in the project. When creating a name\nthe following rules apply:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/patchDeployments", + "request": { + "$ref": "PatchDeployment" + }, + "response": { + "$ref": "PatchDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete an OS Config patch deployment.", + "flatPath": "v1/projects/{projectsId}/patchDeployments/{patchDeploymentsId}", + "httpMethod": "DELETE", + "id": "osconfig.projects.patchDeployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.", + "location": "path", + "pattern": "^projects/[^/]+/patchDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get an OS Config patch deployment.", + "flatPath": "v1/projects/{projectsId}/patchDeployments/{patchDeploymentsId}", + "httpMethod": "GET", + "id": "osconfig.projects.patchDeployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.", + "location": "path", + "pattern": "^projects/[^/]+/patchDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "PatchDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Get a page of OS Config patch deployments.", + "flatPath": "v1/projects/{projectsId}/patchDeployments", + "httpMethod": "GET", + "id": "osconfig.projects.patchDeployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of patch deployments to return. Default is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments\nthat indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent in the form `projects/*`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/patchDeployments", + "response": { + "$ref": "ListPatchDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "patchJobs": { + "methods": { + "cancel": { + "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs\ncannot be restarted.", + "flatPath": "v1/projects/{projectsId}/patchJobs/{patchJobsId}:cancel", + "httpMethod": "POST", + "id": "osconfig.projects.patchJobs.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the patch in the form `projects/*/patchJobs/*`", + "location": "path", + "pattern": "^projects/[^/]+/patchJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelPatchJobRequest" + }, + "response": { + "$ref": "PatchJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "execute": { + "description": "Patch VM instances by creating and running a patch job.", + "flatPath": "v1/projects/{projectsId}/patchJobs:execute", + "httpMethod": "POST", + "id": "osconfig.projects.patchJobs.execute", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project in which to run this patch in the form `projects/*`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/patchJobs:execute", + "request": { + "$ref": "ExecutePatchJobRequest" + }, + "response": { + "$ref": "PatchJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get the patch job. This can be used to track the progress of an\nongoing patch job or review the details of completed jobs.", + "flatPath": "v1/projects/{projectsId}/patchJobs/{patchJobsId}", + "httpMethod": "GET", + "id": "osconfig.projects.patchJobs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the patch in the form `projects/*/patchJobs/*`", + "location": "path", + "pattern": "^projects/[^/]+/patchJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "PatchJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Get a list of patch jobs.", + "flatPath": "v1/projects/{projectsId}/patchJobs", + "httpMethod": "GET", + "id": "osconfig.projects.patchJobs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "If provided, this field specifies the criteria that must be met by patch\njobs to be included in the response.\nCurrently, filtering is only available on the patch_deployment field.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of instance status to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. In the form of `projects/*`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/patchJobs", + "response": { + "$ref": "ListPatchJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "instanceDetails": { + "methods": { + "list": { + "description": "Get a list of instance details for a given patch job.", + "flatPath": "v1/projects/{projectsId}/patchJobs/{patchJobsId}/instanceDetails", + "httpMethod": "GET", + "id": "osconfig.projects.patchJobs.instanceDetails.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters results listed in the response. This\nfield supports filtering results by instance zone, name, state, or\n`failure_reason`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of instance details records to return. Default is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent for the instances are in the form of `projects/*/patchJobs/*`.", + "location": "path", + "pattern": "^projects/[^/]+/patchJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/instanceDetails", + "response": { + "$ref": "ListPatchJobInstanceDetailsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20200615", + "rootUrl": "https://osconfig.googleapis.com/", + "schemas": { + "AptSettings": { + "description": "Apt patching is completed by executing `apt-get update && apt-get\nupgrade`. Additional options can be set to control how this is executed.", + "id": "AptSettings", + "properties": { + "excludes": { + "description": "List of packages to exclude from update. These packages will be excluded", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclusivePackages": { + "description": "An exclusive list of packages to be updated. These are the only packages\nthat will be updated. If these packages are not installed, they will be\nignored. This field cannot be specified with any other patch configuration\nfields.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "By changing the type to DIST, the patching is performed\nusing `apt-get dist-upgrade` instead.", + "enum": [ + "TYPE_UNSPECIFIED", + "DIST", + "UPGRADE" + ], + "enumDescriptions": [ + "By default, upgrade will be performed.", + "Runs `apt-get dist-upgrade`.", + "Runs `apt-get upgrade`." + ], + "type": "string" + } + }, + "type": "object" + }, + "CancelPatchJobRequest": { + "description": "Message for canceling a patch job.", + "id": "CancelPatchJobRequest", + "properties": {}, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ExecStep": { + "description": "A step that runs an executable for a PatchJob.", + "id": "ExecStep", + "properties": { + "linuxExecStepConfig": { + "$ref": "ExecStepConfig", + "description": "The ExecStepConfig for all Linux VMs targeted by the PatchJob." + }, + "windowsExecStepConfig": { + "$ref": "ExecStepConfig", + "description": "The ExecStepConfig for all Windows VMs targeted by the PatchJob." + } + }, + "type": "object" + }, + "ExecStepConfig": { + "description": "Common configurations for an ExecStep.", + "id": "ExecStepConfig", + "properties": { + "allowedSuccessCodes": { + "description": "Defaults to [0]. A list of possible return values that the\nexecution can return to indicate a success.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "gcsObject": { + "$ref": "GcsObject", + "description": "A Cloud Storage object containing the executable." + }, + "interpreter": { + "description": "The script interpreter to use to run the script. If no interpreter is\nspecified the script will be executed directly, which will likely\nonly succeed for scripts with [shebang lines]\n(https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).", + "enum": [ + "INTERPRETER_UNSPECIFIED", + "SHELL", + "POWERSHELL" + ], + "enumDescriptions": [ + "Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the\ninterpreter will be parsed from the shebang line of the script if\nunspecified.", + "Indicates that the script is run with `/bin/sh` on Linux and `cmd`\non Windows.", + "Indicates that the file is run with PowerShell flags\n`-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`." + ], + "type": "string" + }, + "localPath": { + "description": "An absolute path to the executable on the VM.", + "type": "string" + } + }, + "type": "object" + }, + "ExecutePatchJobRequest": { + "description": "A request message to initiate patching across Compute Engine\ninstances.", + "id": "ExecutePatchJobRequest", + "properties": { + "description": { + "description": "Description of the patch job. Length of the description is limited\nto 1024 characters.", + "type": "string" + }, + "displayName": { + "description": "Display name for this patch job. This does not have to be unique.", + "type": "string" + }, + "dryRun": { + "description": "If this patch is a dry-run only, instances are contacted but\nwill do nothing.", + "type": "boolean" + }, + "duration": { + "description": "Duration of the patch job. After the duration ends, the patch job\ntimes out.", + "format": "google-duration", + "type": "string" + }, + "instanceFilter": { + "$ref": "PatchInstanceFilter", + "description": "Required. Instances to patch, either explicitly or filtered by some criteria such\nas zone or labels." + }, + "patchConfig": { + "$ref": "PatchConfig", + "description": "Patch configuration being applied. If omitted, instances are\npatched using the default configurations." + } + }, + "type": "object" + }, + "GcsObject": { + "description": "Cloud Storage object representation.", + "id": "GcsObject", + "properties": { + "bucket": { + "description": "Required. Bucket of the Cloud Storage object.", + "type": "string" + }, + "generationNumber": { + "description": "Required. Generation number of the Cloud Storage object. This is used to\nensure that the ExecStep specified by this PatchJob does not change.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Required. Name of the Cloud Storage object.", + "type": "string" + } + }, + "type": "object" + }, + "GooSettings": { + "description": "Googet patching is performed by running `googet update`.", + "id": "GooSettings", + "properties": {}, + "type": "object" + }, + "ListPatchDeploymentsResponse": { + "description": "A response message for listing patch deployments.", + "id": "ListPatchDeploymentsResponse", + "properties": { + "nextPageToken": { + "description": "A pagination token that can be used to get the next page of patch\ndeployments.", + "type": "string" + }, + "patchDeployments": { + "description": "The list of patch deployments.", + "items": { + "$ref": "PatchDeployment" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPatchJobInstanceDetailsResponse": { + "description": "A response message for listing the instances details for a patch job.", + "id": "ListPatchJobInstanceDetailsResponse", + "properties": { + "nextPageToken": { + "description": "A pagination token that can be used to get the next page of results.", + "type": "string" + }, + "patchJobInstanceDetails": { + "description": "A list of instance status.", + "items": { + "$ref": "PatchJobInstanceDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPatchJobsResponse": { + "description": "A response message for listing patch jobs.", + "id": "ListPatchJobsResponse", + "properties": { + "nextPageToken": { + "description": "A pagination token that can be used to get the next page of results.", + "type": "string" + }, + "patchJobs": { + "description": "The list of patch jobs.", + "items": { + "$ref": "PatchJob" + }, + "type": "array" + } + }, + "type": "object" + }, + "MonthlySchedule": { + "description": "Represents a monthly schedule. An example of a valid monthly schedule is\n\"on the third Tuesday of the month\" or \"on the 15th of the month\".", + "id": "MonthlySchedule", + "properties": { + "monthDay": { + "description": "Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1\nindicates the last day of the month.\nMonths without the target day will be skipped. For example, a schedule to\nrun \"every month on the 31st\" will not run in February, April, June, etc.", + "format": "int32", + "type": "integer" + }, + "weekDayOfMonth": { + "$ref": "WeekDayOfMonth", + "description": "Required. Week day in a month." + } + }, + "type": "object" + }, + "OneTimeSchedule": { + "description": "Sets the time for a one time patch deployment. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "id": "OneTimeSchedule", + "properties": { + "executeTime": { + "description": "Required. The desired patch job execution time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "PatchConfig": { + "description": "Patch configuration specifications. Contains details on how to apply the\npatch(es) to a VM instance.", + "id": "PatchConfig", + "properties": { + "apt": { + "$ref": "AptSettings", + "description": "Apt update settings. Use this setting to override the default `apt` patch\nrules." + }, + "goo": { + "$ref": "GooSettings", + "description": "Goo update settings. Use this setting to override the default `goo` patch\nrules." + }, + "postStep": { + "$ref": "ExecStep", + "description": "The `ExecStep` to run after the patch update." + }, + "preStep": { + "$ref": "ExecStep", + "description": "The `ExecStep` to run before the patch update." + }, + "rebootConfig": { + "description": "Post-patch reboot settings.", + "enum": [ + "REBOOT_CONFIG_UNSPECIFIED", + "DEFAULT", + "ALWAYS", + "NEVER" + ], + "enumDescriptions": [ + "The default behavior is DEFAULT.", + "The agent decides if a reboot is necessary by checking signals such as\nregistry keys on Windows or `/var/run/reboot-required` on APT based\nsystems. On RPM based systems, a set of core system package install times\nare compared with system boot time.", + "Always reboot the machine after the update completes.", + "Never reboot the machine after the update completes." + ], + "type": "string" + }, + "windowsUpdate": { + "$ref": "WindowsUpdateSettings", + "description": "Windows update settings. Use this override the default windows patch rules." + }, + "yum": { + "$ref": "YumSettings", + "description": "Yum update settings. Use this setting to override the default `yum` patch\nrules." + }, + "zypper": { + "$ref": "ZypperSettings", + "description": "Zypper update settings. Use this setting to override the default `zypper`\npatch rules." + } + }, + "type": "object" + }, + "PatchDeployment": { + "description": "Patch deployments are configurations that individual patch jobs use to\ncomplete a patch. These configurations include instance filter, package\nrepository settings, and a schedule. For more information about creating and\nmanaging patch deployments, see [Scheduling patch\njobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).", + "id": "PatchDeployment", + "properties": { + "createTime": { + "description": "Output only. Time the patch deployment was created. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Optional. Description of the patch deployment. Length of the description is limited\nto 1024 characters.", + "type": "string" + }, + "duration": { + "description": "Optional. Duration of the patch. After the duration ends, the patch times out.", + "format": "google-duration", + "type": "string" + }, + "instanceFilter": { + "$ref": "PatchInstanceFilter", + "description": "Required. VM instances to patch." + }, + "lastExecuteTime": { + "description": "Output only. The last time a patch job was started by this deployment.\nTimestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text\nformat.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Unique name for the patch deployment resource in a project. The patch\ndeployment name is in the form:\n`projects/{project_id}/patchDeployments/{patch_deployment_id}`.\nThis field is ignored when you create a new patch deployment.", + "type": "string" + }, + "oneTimeSchedule": { + "$ref": "OneTimeSchedule", + "description": "Required. Schedule a one-time execution." + }, + "patchConfig": { + "$ref": "PatchConfig", + "description": "Optional. Patch configuration that is applied." + }, + "recurringSchedule": { + "$ref": "RecurringSchedule", + "description": "Required. Schedule recurring executions." + }, + "updateTime": { + "description": "Output only. Time the patch deployment was last updated. Timestamp is in\n[RFC3339](\"https://www.ietf.org/rfc/rfc3339.txt) text format.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "PatchInstanceFilter": { + "description": "A filter to target VM instances for patching. The targeted\nVMs must meet all criteria specified. So if both labels and zones are\nspecified, the patch job targets only VMs with those labels and in those\nzones.", + "id": "PatchInstanceFilter", + "properties": { + "all": { + "description": "Target all VM instances in the project. If true, no other criteria is\npermitted.", + "type": "boolean" + }, + "groupLabels": { + "description": "Targets VM instances matching ANY of these GroupLabels. This allows\ntargeting of disparate groups of VM instances.", + "items": { + "$ref": "PatchInstanceFilterGroupLabel" + }, + "type": "array" + }, + "instanceNamePrefixes": { + "description": "Targets VMs whose name starts with one of these prefixes. Similar to\nlabels, this is another way to group VMs when targeting configs, for\nexample prefix=\"prod-\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "instances": { + "description": "Targets any of the VM instances specified. Instances are specified by their\nURI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],\n`projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or\n`https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`", + "items": { + "type": "string" + }, + "type": "array" + }, + "zones": { + "description": "Targets VM instances in ANY of these zones. Leave empty to target VM\ninstances in any zone.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PatchInstanceFilterGroupLabel": { + "description": "Targets a group of VM instances by using their [assigned\nlabels](https://cloud.google.com/compute/docs/labeling-resources). Labels\nare key-value pairs. A `GroupLabel` is a combination of labels\nthat is used to target VMs for a patch job.\n\nFor example, a patch job can target VMs that have the following\n`GroupLabel`: `{\"env\":\"test\", \"app\":\"web\"}`. This means that the patch job\nis applied to VMs that have both the labels `env=test` and `app=web`.", + "id": "PatchInstanceFilterGroupLabel", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Compute Engine instance labels that must be present for a VM\ninstance to be targeted by this filter.", + "type": "object" + } + }, + "type": "object" + }, + "PatchJob": { + "description": "A high level representation of a patch job that is either in progress\nor has completed.\n\nInstance details are not included in the job. To paginate through instance\ndetails, use ListPatchJobInstanceDetails.\n\nFor more information about patch jobs, see\n[Creating patch\njobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).", + "id": "PatchJob", + "properties": { + "createTime": { + "description": "Time this patch job was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Description of the patch job. Length of the description is limited\nto 1024 characters.", + "type": "string" + }, + "displayName": { + "description": "Display name for this patch job. This is not a unique identifier.", + "type": "string" + }, + "dryRun": { + "description": "If this patch job is a dry run, the agent reports that it has\nfinished without running any updates on the VM instance.", + "type": "boolean" + }, + "duration": { + "description": "Duration of the patch job. After the duration ends, the\npatch job times out.", + "format": "google-duration", + "type": "string" + }, + "errorMessage": { + "description": "If this patch job failed, this message provides information about the\nfailure.", + "type": "string" + }, + "instanceDetailsSummary": { + "$ref": "PatchJobInstanceDetailsSummary", + "description": "Summary of instance details." + }, + "instanceFilter": { + "$ref": "PatchInstanceFilter", + "description": "Instances to patch." + }, + "name": { + "description": "Unique identifier for this patch job in the form\n`projects/*/patchJobs/*`", + "type": "string" + }, + "patchConfig": { + "$ref": "PatchConfig", + "description": "Patch configuration being applied." + }, + "patchDeployment": { + "description": "Output only. Name of the patch deployment that created this patch job.", + "type": "string" + }, + "percentComplete": { + "description": "Reflects the overall progress of the patch job in the range of\n0.0 being no progress to 100.0 being complete.", + "format": "double", + "type": "number" + }, + "state": { + "description": "The current state of the PatchJob.", + "enum": [ + "STATE_UNSPECIFIED", + "STARTED", + "INSTANCE_LOOKUP", + "PATCHING", + "SUCCEEDED", + "COMPLETED_WITH_ERRORS", + "CANCELED", + "TIMED_OUT" + ], + "enumDescriptions": [ + "State must be specified.", + "The patch job was successfully initiated.", + "The patch job is looking up instances to run the patch on.", + "Instances are being patched.", + "Patch job completed successfully.", + "Patch job completed but there were errors.", + "The patch job was canceled.", + "The patch job timed out." + ], + "type": "string" + }, + "updateTime": { + "description": "Last time this patch job was updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "PatchJobInstanceDetails": { + "description": "Patch details for a VM instance. For more information about reviewing VM\ninstance details, see\n[Listing all VM instance details for a specific patch\njob](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).", + "id": "PatchJobInstanceDetails", + "properties": { + "attemptCount": { + "description": "The number of times the agent that the agent attempts to apply the patch.", + "format": "int64", + "type": "string" + }, + "failureReason": { + "description": "If the patch fails, this field provides the reason.", + "type": "string" + }, + "instanceSystemId": { + "description": "The unique identifier for the instance. This identifier is\ndefined by the server.", + "type": "string" + }, + "name": { + "description": "The instance name in the form `projects/*/zones/*/instances/*`", + "type": "string" + }, + "state": { + "description": "Current state of instance patch.", + "enum": [ + "PATCH_STATE_UNSPECIFIED", + "PENDING", + "INACTIVE", + "NOTIFIED", + "STARTED", + "DOWNLOADING_PATCHES", + "APPLYING_PATCHES", + "REBOOTING", + "SUCCEEDED", + "SUCCEEDED_REBOOT_REQUIRED", + "FAILED", + "ACKED", + "TIMED_OUT", + "RUNNING_PRE_PATCH_STEP", + "RUNNING_POST_PATCH_STEP", + "NO_AGENT_DETECTED" + ], + "enumDescriptions": [ + "Unspecified.", + "The instance is not yet notified.", + "Instance is inactive and cannot be patched.", + "The instance is notified that it should be patched.", + "The instance has started the patching process.", + "The instance is downloading patches.", + "The instance is applying patches.", + "The instance is rebooting.", + "The instance has completed applying patches.", + "The instance has completed applying patches but a reboot is required.", + "The instance has failed to apply the patch.", + "The instance acked the notification and will start shortly.", + "The instance exceeded the time out while applying the patch.", + "The instance is running the pre-patch step.", + "The instance is running the post-patch step.", + "The service could not detect the presence of the agent. Check to ensure\nthat the agent is installed, running, and able to communicate with the\nservice." + ], + "type": "string" + } + }, + "type": "object" + }, + "PatchJobInstanceDetailsSummary": { + "description": "A summary of the current patch state across all instances that this patch\njob affects. Contains counts of instances in different states. These states\nmap to `InstancePatchState`. List patch job instance details to see the\nspecific states of each instance.", + "id": "PatchJobInstanceDetailsSummary", + "properties": { + "ackedInstanceCount": { + "description": "Number of instances that have acked and will start shortly.", + "format": "int64", + "type": "string" + }, + "applyingPatchesInstanceCount": { + "description": "Number of instances that are applying patches.", + "format": "int64", + "type": "string" + }, + "downloadingPatchesInstanceCount": { + "description": "Number of instances that are downloading patches.", + "format": "int64", + "type": "string" + }, + "failedInstanceCount": { + "description": "Number of instances that failed.", + "format": "int64", + "type": "string" + }, + "inactiveInstanceCount": { + "description": "Number of instances that are inactive.", + "format": "int64", + "type": "string" + }, + "noAgentDetectedInstanceCount": { + "description": "Number of instances that do not appear to be running the agent. Check to\nensure that the agent is installed, running, and able to communicate with\nthe service.", + "format": "int64", + "type": "string" + }, + "notifiedInstanceCount": { + "description": "Number of instances notified about patch job.", + "format": "int64", + "type": "string" + }, + "pendingInstanceCount": { + "description": "Number of instances pending patch job.", + "format": "int64", + "type": "string" + }, + "postPatchStepInstanceCount": { + "description": "Number of instances that are running the post-patch step.", + "format": "int64", + "type": "string" + }, + "prePatchStepInstanceCount": { + "description": "Number of instances that are running the pre-patch step.", + "format": "int64", + "type": "string" + }, + "rebootingInstanceCount": { + "description": "Number of instances rebooting.", + "format": "int64", + "type": "string" + }, + "startedInstanceCount": { + "description": "Number of instances that have started.", + "format": "int64", + "type": "string" + }, + "succeededInstanceCount": { + "description": "Number of instances that have completed successfully.", + "format": "int64", + "type": "string" + }, + "succeededRebootRequiredInstanceCount": { + "description": "Number of instances that require reboot.", + "format": "int64", + "type": "string" + }, + "timedOutInstanceCount": { + "description": "Number of instances that exceeded the time out while applying the patch.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RecurringSchedule": { + "description": "Sets the time for recurring patch deployments.", + "id": "RecurringSchedule", + "properties": { + "endTime": { + "description": "Optional. The end time at which a recurring patch deployment schedule is no longer\nactive.", + "format": "google-datetime", + "type": "string" + }, + "frequency": { + "description": "Required. The frequency unit of this recurring schedule.", + "enum": [ + "FREQUENCY_UNSPECIFIED", + "WEEKLY", + "MONTHLY" + ], + "enumDescriptions": [ + "Invalid. A frequency must be specified.", + "Indicates that the frequency should be expressed in terms of\nweeks.", + "Indicates that the frequency should be expressed in terms of\nmonths." + ], + "type": "string" + }, + "lastExecuteTime": { + "description": "Output only. The time the last patch job ran successfully.", + "format": "google-datetime", + "type": "string" + }, + "monthly": { + "$ref": "MonthlySchedule", + "description": "Required. Schedule with monthly executions." + }, + "nextExecuteTime": { + "description": "Output only. The time the next patch job is scheduled to run.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The time that the recurring schedule becomes effective.\nDefaults to `create_time` of the patch deployment.", + "format": "google-datetime", + "type": "string" + }, + "timeOfDay": { + "$ref": "TimeOfDay", + "description": "Required. Time of the day to run a recurring deployment." + }, + "timeZone": { + "$ref": "TimeZone", + "description": "Required. Defines the time zone that `time_of_day` is relative to.\nThe rules for daylight saving time are determined by the chosen time zone." + }, + "weekly": { + "$ref": "WeeklySchedule", + "description": "Required. Schedule with weekly executions." + } + }, + "type": "object" + }, + "TimeOfDay": { + "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.", + "id": "TimeOfDay", + "properties": { + "hours": { + "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Minutes of hour of day. Must be from 0 to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TimeZone": { + "description": "Represents a time zone from the\n[IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "TimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "type": "string" + } + }, + "type": "object" + }, + "WeekDayOfMonth": { + "description": "Represents one week day in a month. An example is \"the 4th Sunday\".", + "id": "WeekDayOfMonth", + "properties": { + "dayOfWeek": { + "description": "Required. A day of the week.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "weekOrdinal": { + "description": "Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1\nindicates the last week of the month.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "WeeklySchedule": { + "description": "Represents a weekly schedule.", + "id": "WeeklySchedule", + "properties": { + "dayOfWeek": { + "description": "Required. Day of the week.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + } + }, + "type": "object" + }, + "WindowsUpdateSettings": { + "description": "Windows patching is performed using the Windows Update Agent.", + "id": "WindowsUpdateSettings", + "properties": { + "classifications": { + "description": "Only apply updates of these windows update classifications. If empty, all\nupdates are applied.", + "enumDescriptions": [ + "Invalid. If classifications are included, they must be specified.", + "\"A widely released fix for a specific problem that addresses a critical,\nnon-security-related bug.\" [1]", + "\"A widely released fix for a product-specific, security-related\nvulnerability. Security vulnerabilities are rated by their severity. The\nseverity rating is indicated in the Microsoft security bulletin as\ncritical, important, moderate, or low.\" [1]", + "\"A widely released and frequent software update that contains additions\nto a product's definition database. Definition databases are often used\nto detect objects that have specific attributes, such as malicious code,\nphishing websites, or junk mail.\" [1]", + "\"Software that controls the input and output of a device.\" [1]", + "\"New product functionality that is first distributed outside the context\nof a product release and that is typically included in the next full\nproduct release.\" [1]", + "\"A tested, cumulative set of all hotfixes, security updates, critical\nupdates, and updates. Additionally, service packs may contain additional\nfixes for problems that are found internally since the release of the\nproduct. Service packs my also contain a limited number of\ncustomer-requested design changes or features.\" [1]", + "\"A utility or feature that helps complete a task or set of tasks.\" [1]", + "\"A tested, cumulative set of hotfixes, security updates, critical\nupdates, and updates that are packaged together for easy deployment. A\nrollup generally targets a specific area, such as security, or a\ncomponent of a product, such as Internet Information Services (IIS).\" [1]", + "\"A widely released fix for a specific problem. An update addresses a\nnoncritical, non-security-related bug.\" [1]" + ], + "items": { + "enum": [ + "CLASSIFICATION_UNSPECIFIED", + "CRITICAL", + "SECURITY", + "DEFINITION", + "DRIVER", + "FEATURE_PACK", + "SERVICE_PACK", + "TOOL", + "UPDATE_ROLLUP", + "UPDATE" + ], + "type": "string" + }, + "type": "array" + }, + "excludes": { + "description": "List of KBs to exclude from update.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclusivePatches": { + "description": "An exclusive list of kbs to be updated. These are the only patches\nthat will be updated. This field must not be used with other\npatch configurations.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "YumSettings": { + "description": "Yum patching is performed by executing `yum update`. Additional options\ncan be set to control how this is executed.\n\nNote that not all settings are supported on all platforms.", + "id": "YumSettings", + "properties": { + "excludes": { + "description": "List of packages to exclude from update. These packages are excluded by\nusing the yum `--exclude` flag.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclusivePackages": { + "description": "An exclusive list of packages to be updated. These are the only packages\nthat will be updated. If these packages are not installed, they will be\nignored. This field must not be specified with any other patch\nconfiguration fields.", + "items": { + "type": "string" + }, + "type": "array" + }, + "minimal": { + "description": "Will cause patch to run `yum update-minimal` instead.", + "type": "boolean" + }, + "security": { + "description": "Adds the `--security` flag to `yum update`. Not supported on\nall platforms.", + "type": "boolean" + } + }, + "type": "object" + }, + "ZypperSettings": { + "description": "Zypper patching is performed by running `zypper patch`.\nSee also https://en.opensuse.org/SDB:Zypper_manual.", + "id": "ZypperSettings", + "properties": { + "categories": { + "description": "Install only patches with these categories.\nCommon categories include security, recommended, and feature.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludes": { + "description": "List of patches to exclude from update.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclusivePatches": { + "description": "An exclusive list of patches to be updated. These are the only patches\nthat will be installed using 'zypper patch patch:' command.\nThis field must not be used with any other patch configuration fields.", + "items": { + "type": "string" + }, + "type": "array" + }, + "severities": { + "description": "Install only patches with these severities.\nCommon severities include critical, important, moderate, and low.", + "items": { + "type": "string" + }, + "type": "array" + }, + "withOptional": { + "description": "Adds the `--with-optional` flag to `zypper patch`.", + "type": "boolean" + }, + "withUpdate": { + "description": "Adds the `--with-update` flag, to `zypper patch`.", + "type": "boolean" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud OS Config API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/osconfig/v1beta/osconfig-api.json b/etc/api/osconfig/v1beta/osconfig-api.json index ba0e66a9ea..0c7ca00ee7 100644 --- a/etc/api/osconfig/v1beta/osconfig-api.json +++ b/etc/api/osconfig/v1beta/osconfig-api.json @@ -599,7 +599,7 @@ } } }, - "revision": "20200403", + "revision": "20200615", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptRepository": { @@ -890,7 +890,7 @@ "type": "object" }, "ExecutePatchJobRequest": { - "description": "A request message to initiate patching across Google Compute Engine\ninstances.", + "description": "A request message to initiate patching across Compute Engine instances.", "id": "ExecutePatchJobRequest", "properties": { "description": { @@ -1124,7 +1124,7 @@ "type": "object" }, "OneTimeSchedule": { - "description": "Sets the time for a one time patch deployment. Timestamp is in\nRFC3339\ntext format.", + "description": "Sets the time for a one time patch deployment. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "id": "OneTimeSchedule", "properties": { "executeTime": { @@ -1257,11 +1257,11 @@ "type": "object" }, "PatchDeployment": { - "description": "Patch deployments are configurations that individual patch jobs use to\ncomplete a patch. These configurations include instance filter, package\nrepository settings, and a schedule. For more information about creating and\nmanaging patch deployments, see [Scheduling patch\njobs](/compute/docs/os-patch-management/schedule-patch-jobs).", + "description": "Patch deployments are configurations that individual patch jobs use to\ncomplete a patch. These configurations include instance filter, package\nrepository settings, and a schedule. For more information about creating and\nmanaging patch deployments, see [Scheduling patch\njobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).", "id": "PatchDeployment", "properties": { "createTime": { - "description": "Output only. Time the patch deployment was created. Timestamp is in\nRFC3339\ntext format.", + "description": "Output only. Time the patch deployment was created. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "format": "google-datetime", "type": "string" }, @@ -1279,7 +1279,7 @@ "description": "Required. VM instances to patch." }, "lastExecuteTime": { - "description": "Output only. The last time a patch job was started by this deployment.\nTimestamp is in\nRFC3339\ntext format.", + "description": "Output only. The last time a patch job was started by this deployment.\nTimestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text\nformat.", "format": "google-datetime", "type": "string" }, @@ -1300,7 +1300,7 @@ "description": "Required. Schedule recurring executions." }, "updateTime": { - "description": "Output only. Time the patch deployment was last updated. Timestamp is in\nRFC3339\ntext format.", + "description": "Output only. Time the patch deployment was last updated. Timestamp is in\n[RFC3339](\"https://www.ietf.org/rfc/rfc3339.txt) text format.", "format": "google-datetime", "type": "string" } @@ -1354,14 +1354,14 @@ "additionalProperties": { "type": "string" }, - "description": "Google Compute Engine instance labels that must be present for a VM\ninstance to be targeted by this filter.", + "description": "Compute Engine instance labels that must be present for a VM instance to\nbe targeted by this filter.", "type": "object" } }, "type": "object" }, "PatchJob": { - "description": "A high level representation of a patch job that is either in progress\nor has completed.\n\nInstances details are not included in the job. To paginate through instance\ndetails, use ListPatchJobInstanceDetails.\n\nFor more information about patch jobs, see\n[Creating patch jobs](/compute/docs/os-patch-management/create-patch-job).", + "description": "A high level representation of a patch job that is either in progress\nor has completed.\n\nInstance details are not included in the job. To paginate through instance\ndetails, use `ListPatchJobInstanceDetails`.\n\nFor more information about patch jobs, see\n[Creating patch\njobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).", "id": "PatchJob", "properties": { "createTime": { @@ -1416,7 +1416,7 @@ "type": "number" }, "state": { - "description": "The current state of the PatchJob .", + "description": "The current state of the PatchJob.", "enum": [ "STATE_UNSPECIFIED", "STARTED", @@ -1448,7 +1448,7 @@ "type": "object" }, "PatchJobInstanceDetails": { - "description": "Patch details for a VM instance. For more information about reviewing VM\ninstance details, see\n[Listing all VM instance details for a specific patch\njob](/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).", + "description": "Patch details for a VM instance. For more information about reviewing VM\ninstance details, see\n[Listing all VM instance details for a specific patch\njob](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).", "id": "PatchJobInstanceDetails", "properties": { "attemptCount": { @@ -1651,7 +1651,7 @@ "type": "object" }, "SoftwareRecipe": { - "description": "A software recipe is a set of instructions for installing and configuring a\npiece of software. It consists of a set of artifacts that are\ndownloaded, and a set of steps that install, configure, and/or update the\nsoftware.\n\nRecipes support installing and updating software from artifacts in the\nfollowing formats:\nZip archive, Tar archive, Windows MSI, Debian package, and RPM package.\n\nAdditionally, recipes support executing a script (either defined in a file or\ndirectly in this api) in bash, sh, cmd, and powershell.\n\nUpdating a software recipe\n\nIf a recipe is assigned to an instance and there is a recipe with the same\nname but a lower version already installed and the assigned state\nof the recipe is `INSTALLED_KEEP_UPDATED`, then the recipe is updated to\nthe new version.\n\nScript Working Directories\n\nEach script or execution step is run in its own temporary directory which\nis deleted after completing the step.", + "description": "A software recipe is a set of instructions for installing and configuring a\npiece of software. It consists of a set of artifacts that are\ndownloaded, and a set of steps that install, configure, and/or update the\nsoftware.\n\nRecipes support installing and updating software from artifacts in the\nfollowing formats:\nZip archive, Tar archive, Windows MSI, Debian package, and RPM package.\n\nAdditionally, recipes support executing a script (either defined in a file or\ndirectly in this api) in bash, sh, cmd, and powershell.\n\nUpdating a software recipe\n\nIf a recipe is assigned to an instance and there is a recipe with the same\nname but a lower version already installed and the assigned state\nof the recipe is `UPDATED`, then the recipe is updated to\nthe new version.\n\nScript Working Directories\n\nEach script or execution step is run in its own temporary directory which\nis deleted after completing the step.", "id": "SoftwareRecipe", "properties": { "artifacts": { @@ -1662,7 +1662,7 @@ "type": "array" }, "desiredState": { - "description": "Default is INSTALLED. The desired state the agent should maintain for this\nrecipe.\n\nINSTALLED: The software recipe is installed on the instance but\n won't be updated to new versions.\nINSTALLED_KEEP_UPDATED: The software recipe is installed on the\n instance. The recipe is updated to a higher\n version, if a higher version of the recipe is\n assigned to this instance.\nREMOVE: Remove is unsupported for software recipes and attempts to\n create or update a recipe to the REMOVE state is rejected.", + "description": "Default is INSTALLED. The desired state the agent should maintain for this\nrecipe.\n\nINSTALLED: The software recipe is installed on the instance but\n won't be updated to new versions.\nUPDATED: The software recipe is installed on the instance. The recipe is\n updated to a higher version, if a higher version of the recipe is\n assigned to this instance.\nREMOVE: Remove is unsupported for software recipes and attempts to\n create or update a recipe to the REMOVE state is rejected.", "enum": [ "DESIRED_STATE_UNSPECIFIED", "INSTALLED", diff --git a/etc/api/oslogin/v1/oslogin-api.json b/etc/api/oslogin/v1/oslogin-api.json index 52144d8235..5271deb4b6 100644 --- a/etc/api/oslogin/v1/oslogin-api.json +++ b/etc/api/oslogin/v1/oslogin-api.json @@ -306,7 +306,7 @@ } } }, - "revision": "20200329", + "revision": "20200704", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/oslogin/v1alpha/oslogin-api.json b/etc/api/oslogin/v1alpha/oslogin-api.json index 4c1cea8fc8..c784ffaace 100644 --- a/etc/api/oslogin/v1alpha/oslogin-api.json +++ b/etc/api/oslogin/v1alpha/oslogin-api.json @@ -334,7 +334,7 @@ } } }, - "revision": "20200329", + "revision": "20200704", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/oslogin/v1beta/oslogin-api.json b/etc/api/oslogin/v1beta/oslogin-api.json index 530669cacc..7b5a883617 100644 --- a/etc/api/oslogin/v1beta/oslogin-api.json +++ b/etc/api/oslogin/v1beta/oslogin-api.json @@ -314,7 +314,7 @@ } } }, - "revision": "20200329", + "revision": "20200704", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/pagespeedonline/v5/pagespeedonline-api.json b/etc/api/pagespeedonline/v5/pagespeedonline-api.json index 512d402f7a..edfe88e819 100644 --- a/etc/api/pagespeedonline/v5/pagespeedonline-api.json +++ b/etc/api/pagespeedonline/v5/pagespeedonline-api.json @@ -174,7 +174,7 @@ } } }, - "revision": "20200318", + "revision": "20200625", "rootUrl": "https://pagespeedonline.googleapis.com/", "schemas": { "AuditRefs": { @@ -503,6 +503,10 @@ "description": "The map of .", "type": "object" }, + "origin_fallback": { + "description": "True if the result is an origin fallback from a page, false otherwise.", + "type": "boolean" + }, "overall_category": { "description": "The human readable speed \"category\" of the id.", "type": "string" diff --git a/etc/api/people/v1/people-api.json b/etc/api/people/v1/people-api.json index 8e1d94b85d..ef78506222 100644 --- a/etc/api/people/v1/people-api.json +++ b/etc/api/people/v1/people-api.json @@ -5,9 +5,15 @@ "https://www.googleapis.com/auth/contacts": { "description": "See, edit, download, and permanently delete your contacts" }, + "https://www.googleapis.com/auth/contacts.other.readonly": { + "description": "See and download contact info automatically saved in your \"Other contacts\"" + }, "https://www.googleapis.com/auth/contacts.readonly": { "description": "See and download your contacts" }, + "https://www.googleapis.com/auth/directory.readonly": { + "description": "See and download your organization's GSuite directory" + }, "https://www.googleapis.com/auth/user.addresses.read": { "description": "View your street addresses" }, @@ -17,6 +23,9 @@ "https://www.googleapis.com/auth/user.emails.read": { "description": "View your email addresses" }, + "https://www.googleapis.com/auth/user.gender.read": { + "description": "See your gender" + }, "https://www.googleapis.com/auth/user.organization.read": { "description": "See your education, work history and org info" }, @@ -336,6 +345,82 @@ } } }, + "otherContacts": { + "methods": { + "copyOtherContactToMyContactsGroup": { + "description": "Copies an \"Other contact\" to a new contact in the user's \"myContacts\" group", + "flatPath": "v1/otherContacts/{otherContactsId}:copyOtherContactToMyContactsGroup", + "httpMethod": "POST", + "id": "people.otherContacts.copyOtherContactToMyContactsGroup", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the \"Other contact\" to copy.", + "location": "path", + "pattern": "^otherContacts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resourceName}:copyOtherContactToMyContactsGroup", + "request": { + "$ref": "CopyOtherContactToMyContactsGroupRequest" + }, + "response": { + "$ref": "Person" + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts", + "https://www.googleapis.com/auth/contacts.other.readonly" + ] + }, + "list": { + "description": "List all \"Other contacts\", that is contacts that are not in a contact\ngroup. \"Other contacts\" are typically auto created contacts from\ninteractions.", + "flatPath": "v1/otherContacts", + "httpMethod": "GET", + "id": "people.otherContacts.list", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "Optional. The number of \"Other contacts\" to include in the response. Valid values are\nbetween 1 and 1000, inclusive. Defaults to 100 if not set or set to 0.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListOtherContacts` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListOtherContacts`\nmust match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "readMask": { + "description": "Required. A field mask to restrict which fields on each person are returned. Multiple\nfields can be specified by separating them with commas. Valid values are:\n\n* emailAddresses\n* names\n* phoneNumbers", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "requestSyncToken": { + "description": "Optional. Whether the response should include `next_sync_token`, which can be used to\nget all changes since the last request. For subsequent sync requests use\nthe `sync_token` param instead. Initial sync requests that specify\n`request_sync_token` have an additional rate limit.", + "location": "query", + "type": "boolean" + }, + "syncToken": { + "description": "Optional. A sync token, received from a previous `ListOtherContacts` call.\nProvide this to retrieve only the resources changed since the last request.\nSync requests that specify `sync_token` have an additional rate limit.\n\nWhen syncing, all other parameters provided to `ListOtherContacts`\nmust match the call that provided the sync token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/otherContacts", + "response": { + "$ref": "ListOtherContactsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts.other.readonly" + ] + } + } + }, "people": { "methods": { "createContact": { @@ -344,7 +429,26 @@ "httpMethod": "POST", "id": "people.people.createContact", "parameterOrder": [], - "parameters": {}, + "parameters": { + "personFields": { + "description": "Required. A field mask to restrict which fields on each person are returned. Multiple\nfields can be specified by separating them with commas. Defaults to all\nfields if not set. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* residences\n* sipAddresses\n* skills\n* urls\n* userDefined", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to\nReadSourceType.CONTACT and\nReadSourceType.PROFILE if not\nset.", + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, "path": "v1/people:createContact", "request": { "$ref": "Person" @@ -402,6 +506,18 @@ "pattern": "^people/[^/]+$", "required": true, "type": "string" + }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to\nReadSourceType.CONTACT and\nReadSourceType.PROFILE if not\nset.", + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "location": "query", + "repeated": true, + "type": "string" } }, "path": "v1/{+resourceName}:deleteContactPhoto", @@ -439,6 +555,18 @@ "pattern": "^people/[^/]+$", "required": true, "type": "string" + }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to\nReadSourceType.PROFILE\nand\nReadSourceType.CONTACT\nif not set.", + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "location": "query", + "repeated": true, + "type": "string" } }, "path": "v1/{+resourceName}", @@ -448,9 +576,11 @@ "scopes": [ "https://www.googleapis.com/auth/contacts", "https://www.googleapis.com/auth/contacts.readonly", + "https://www.googleapis.com/auth/directory.readonly", "https://www.googleapis.com/auth/user.addresses.read", "https://www.googleapis.com/auth/user.birthday.read", "https://www.googleapis.com/auth/user.emails.read", + "https://www.googleapis.com/auth/user.gender.read", "https://www.googleapis.com/auth/user.organization.read", "https://www.googleapis.com/auth/user.phonenumbers.read", "https://www.googleapis.com/auth/userinfo.email", @@ -481,6 +611,18 @@ "location": "query", "repeated": true, "type": "string" + }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to\nReadSourceType.CONTACT\nand\nReadSourceType.PROFILE\nif not set.", + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "location": "query", + "repeated": true, + "type": "string" } }, "path": "v1/people:batchGet", @@ -490,15 +632,140 @@ "scopes": [ "https://www.googleapis.com/auth/contacts", "https://www.googleapis.com/auth/contacts.readonly", + "https://www.googleapis.com/auth/directory.readonly", "https://www.googleapis.com/auth/user.addresses.read", "https://www.googleapis.com/auth/user.birthday.read", "https://www.googleapis.com/auth/user.emails.read", + "https://www.googleapis.com/auth/user.gender.read", "https://www.googleapis.com/auth/user.organization.read", "https://www.googleapis.com/auth/user.phonenumbers.read", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/userinfo.profile" ] }, + "listDirectoryPeople": { + "description": "Provides a list of domain profiles and domain contacts in the authenticated\nuser's domain directory.", + "flatPath": "v1/people:listDirectoryPeople", + "httpMethod": "GET", + "id": "people.people.listDirectoryPeople", + "parameterOrder": [], + "parameters": { + "mergeSources": { + "description": "Optional. Additional data to merge into the directory sources if they are connected\nthrough verified join keys such as email addresses or phone numbers.", + "enum": [ + "DIRECTORY_MERGE_SOURCE_TYPE_UNSPECIFIED", + "DIRECTORY_MERGE_SOURCE_TYPE_CONTACT" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The number of people to include in the response. Valid values are\nbetween 1 and 1000, inclusive. Defaults to 100 if not set or set to 0.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListDirectoryPeople` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListDirectoryPeople`\nmust match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "readMask": { + "description": "Required. A field mask to restrict which fields on each person are returned. Multiple\nfields can be specified by separating them with commas. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* residences\n* sipAddresses\n* skills\n* urls\n* userDefined", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "requestSyncToken": { + "description": "Optional. Whether the response should include `next_sync_token`, which can be used to\nget all changes since the last request. For subsequent sync requests use\nthe `sync_token` param instead.", + "location": "query", + "type": "boolean" + }, + "sources": { + "description": "Required. Directory sources to return.", + "enum": [ + "DIRECTORY_SOURCE_TYPE_UNSPECIFIED", + "DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT", + "DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "syncToken": { + "description": "Optional. A sync token, received from a previous `ListDirectoryPeople` call.\nProvide this to retrieve only the resources changed since the last request.\n\nWhen syncing, all other parameters provided to `ListDirectoryPeople`\nmust match the call that provided the sync token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/people:listDirectoryPeople", + "response": { + "$ref": "ListDirectoryPeopleResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/directory.readonly" + ] + }, + "searchDirectoryPeople": { + "description": "Provides a list of domain profiles and domain contacts in the authenticated\nuser's domain directory that match the search query.", + "flatPath": "v1/people:searchDirectoryPeople", + "httpMethod": "GET", + "id": "people.people.searchDirectoryPeople", + "parameterOrder": [], + "parameters": { + "mergeSources": { + "description": "Optional. Additional data to merge into the directory sources if they are connected\nthrough verified join keys such as email addresses or phone numbers.", + "enum": [ + "DIRECTORY_MERGE_SOURCE_TYPE_UNSPECIFIED", + "DIRECTORY_MERGE_SOURCE_TYPE_CONTACT" + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The number of people to include in the response. Valid values are\nbetween 1 and 500, inclusive. Defaults to 100 if not set or set to 0.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `SearchDirectoryPeople` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `SearchDirectoryPeople`\nmust match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "query": { + "description": "Required. Prefix query that matches fields in the person. Does NOT use the\nread_mask for determining what fields to match.", + "location": "query", + "type": "string" + }, + "readMask": { + "description": "Required. A field mask to restrict which fields on each person are returned. Multiple\nfields can be specified by separating them with commas. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* residences\n* sipAddresses\n* skills\n* urls\n* userDefined", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "sources": { + "description": "Required. Directory sources to return.", + "enum": [ + "DIRECTORY_SOURCE_TYPE_UNSPECIFIED", + "DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT", + "DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE" + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "v1/people:searchDirectoryPeople", + "response": { + "$ref": "SearchDirectoryPeopleResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/directory.readonly" + ] + }, "updateContact": { "description": "Update contact data for an existing contact person. Any non-contact data\nwill not be modified.\n\nThe request throws a 400 error if `updatePersonFields` is not specified.\n\nThe request throws a 400 error if `person.metadata.sources` is not\nspecified for the contact to be updated.\n\nThe request throws a 400 error with an error with reason\n`\"failedPrecondition\"` if `person.metadata.sources.etag` is different than\nthe contact's etag, which indicates the contact has changed since its data\nwas read. Clients should get the latest person and re-apply their updates\nto the latest person.", "flatPath": "v1/people/{peopleId}:updateContact", @@ -508,6 +775,12 @@ "resourceName" ], "parameters": { + "personFields": { + "description": "Optional. A field mask to restrict which fields on each person are returned. Multiple\nfields can be specified by separating them with commas. Defaults to all\nfields if not set. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* residences\n* sipAddresses\n* skills\n* urls\n* userDefined", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, "resourceName": { "description": "The resource name for the person, assigned by the server. An ASCII string\nwith a max length of 27 characters, in the form of\n`people/{person_id}`.", "location": "path", @@ -515,6 +788,18 @@ "required": true, "type": "string" }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to\nReadSourceType.CONTACT and\nReadSourceType.PROFILE if not\nset.", + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "location": "query", + "repeated": true, + "type": "string" + }, "updatePersonFields": { "description": "Required. A field mask to restrict which fields on the person are updated. Multiple\nfields can be specified by separating them with commas.\nAll updated fields will be replaced. Valid values are:\n\n* addresses\n* biographies\n* birthdays\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* relations\n* residences\n* sipAddresses\n* urls\n* userDefined", "format": "google-fieldmask", @@ -566,7 +851,7 @@ "connections": { "methods": { "list": { - "description": "Provides a list of the authenticated user's contacts merged with any\nconnected profiles.\n\nThe request throws a 400 error if 'personFields' is not specified.", + "description": "Provides a list of the authenticated user's contacts.\n\nThe request throws a 400 error if 'personFields' is not specified.", "flatPath": "v1/people/{peopleId}/connections", "httpMethod": "GET", "id": "people.people.connections.list", @@ -575,7 +860,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The number of connections to include in the response. Valid values are\nbetween 1 and 2000, inclusive. Defaults to 100 if not set or set to 0.", + "description": "Optional. The number of connections to include in the response. Valid values are\nbetween 1 and 1000, inclusive. Defaults to 100 if not set or set to 0.", "format": "int32", "location": "query", "type": "integer" @@ -620,6 +905,18 @@ "location": "query", "type": "string" }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to\nReadSourceType.CONTACT\nand\nReadSourceType.PROFILE if not\nset.", + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "location": "query", + "repeated": true, + "type": "string" + }, "syncToken": { "description": "Optional. A sync token, received from a previous `ListConnections` call.\nProvide this to retrieve only the resources changed since the last request.\nSync requests that specify `sync_token` have an additional rate limit.\n\nWhen syncing, all other parameters provided to `ListConnections`\nmust match the call that provided the sync token.", "location": "query", @@ -640,7 +937,7 @@ } } }, - "revision": "20200407", + "revision": "20200708", "rootUrl": "https://people.googleapis.com/", "schemas": { "Address": { @@ -905,6 +1202,42 @@ }, "type": "object" }, + "CopyOtherContactToMyContactsGroupRequest": { + "description": "A request to copy an \"Other contact\" to my contacts group.", + "id": "CopyOtherContactToMyContactsGroupRequest", + "properties": { + "copyMask": { + "description": "Required. A field mask to restrict which fields are copied into the new contact.\nValid values are:\n\n* emailAddresses\n* names\n* phoneNumbers", + "format": "google-fieldmask", + "type": "string" + }, + "readMask": { + "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple\nfields can be specified by separating them with commas. Defaults to the\ncopy mask with metadata and membership fields if not set. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* residences\n* sipAddresses\n* skills\n* urls\n* userDefined", + "format": "google-fieldmask", + "type": "string" + }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to\nReadSourceType.CONTACT and\nReadSourceType.PROFILE if not\nset.", + "enumDescriptions": [ + "Unspecified.", + "Returns\nSourceType.ACCOUNT,\nSourceType.DOMAIN_PROFILE,\nand\nSourceType.PROFILE.", + "Returns\nSourceType.CONTACT.", + "Returns\nSourceType.DOMAIN_CONTACT." + ], + "items": { + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "CoverPhoto": { "description": "A person's cover photo. A large image shown on the person's\nprofile page that represents who they are or what they care about.", "id": "CoverPhoto", @@ -1054,6 +1387,21 @@ }, "type": "object" }, + "FileAs": { + "description": "The name that should be used to sort the person in a list.", + "id": "FileAs", + "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the file-as." + }, + "value": { + "description": "The file-as value", + "type": "string" + } + }, + "type": "object" + }, "Gender": { "description": "A person's gender.", "id": "Gender", @@ -1196,6 +1544,50 @@ }, "type": "object" }, + "ListDirectoryPeopleResponse": { + "description": "The response to a request for the authenticated user's domain directory.", + "id": "ListDirectoryPeopleResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "nextSyncToken": { + "description": "A token, which can be sent as `sync_token` to retrieve changes since the\nlast request. Request must set `request_sync_token` to return the sync\ntoken.", + "type": "string" + }, + "people": { + "description": "The list of people in the domain directory.", + "items": { + "$ref": "Person" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOtherContactsResponse": { + "description": "The response to a request for the authenticated user's \"Other contacts\".", + "id": "ListOtherContactsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "nextSyncToken": { + "description": "A token, which can be sent as `sync_token` to retrieve changes since the\nlast request. Request must set `request_sync_token` to return the sync\ntoken.", + "type": "string" + }, + "otherContacts": { + "description": "The list of \"Other contacts\" returned as Person resources. \"Other contacts\"\nsupport a limited subset of fields. See\nListOtherContactsRequest.request_mask for more detailed information.", + "items": { + "$ref": "Person" + }, + "type": "array" + } + }, + "type": "object" + }, "Locale": { "description": "A person's locale preference.", "id": "Locale", @@ -1331,6 +1723,10 @@ "phoneticMiddleName": { "description": "The middle name(s) spelled as they sound.", "type": "string" + }, + "unstructuredName": { + "description": "The free form name value.", + "type": "string" } }, "type": "object" @@ -1530,6 +1926,13 @@ }, "type": "array" }, + "fileAses": { + "description": "The person's file-ases.", + "items": { + "$ref": "FileAs" + }, + "type": "array" + }, "genders": { "description": "The person's genders.", "items": { @@ -1917,6 +2320,29 @@ }, "type": "object" }, + "SearchDirectoryPeopleResponse": { + "description": "The response to a request for people in the authenticated user's domain\ndirectory that match the specified query.", + "id": "SearchDirectoryPeopleResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "people": { + "description": "The list of people in the domain directory that match the query.", + "items": { + "$ref": "Person" + }, + "type": "array" + }, + "totalSize": { + "description": "The total number of items in the list without pagination.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "SipAddress": { "description": "A person's SIP address. Session Initial Protocol addresses are used for VoIP\ncommunications to make voice or video calls over the internet.", "id": "SipAddress", @@ -1978,14 +2404,18 @@ "ACCOUNT", "PROFILE", "DOMAIN_PROFILE", - "CONTACT" + "CONTACT", + "OTHER_CONTACT", + "DOMAIN_CONTACT" ], "enumDescriptions": [ "Unspecified.", "[Google Account](https://accounts.google.com).", "[Google profile](https://profiles.google.com). You can view the\nprofile at\n[https://profiles.google.com/](https://profiles.google.com/){id}, where\n{id} is the source id.", "[G Suite domain profile](https://support.google.com/a/answer/1628008).", - "[Google contact](https://contacts.google.com). You can view the\ncontact at\n[https://contact.google.com/](https://contact.google.com/){id}, where\n{id} is the source id." + "[Google contact](https://contacts.google.com). You can view the\ncontact at\n[https://contact.google.com/](https://contact.google.com/){id}, where\n{id} is the source id.", + "[Google \"Other contact\"](https://contacts.google.com/other).", + "[G Suite domain shared\ncontact](https://support.google.com/a/answer/9281635)." ], "type": "string" }, @@ -2063,6 +2493,25 @@ "description": "Required. Raw photo bytes", "format": "byte", "type": "string" + }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to\nReadSourceType.CONTACT and\nReadSourceType.PROFILE if not\nset.", + "enumDescriptions": [ + "Unspecified.", + "Returns\nSourceType.ACCOUNT,\nSourceType.DOMAIN_PROFILE,\nand\nSourceType.PROFILE.", + "Returns\nSourceType.CONTACT.", + "Returns\nSourceType.DOMAIN_CONTACT." + ], + "items": { + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/etc/api/photoslibrary/v1/photoslibrary-api.json b/etc/api/photoslibrary/v1/photoslibrary-api.json index 0808333fd7..43c9089a72 100644 --- a/etc/api/photoslibrary/v1/photoslibrary-api.json +++ b/etc/api/photoslibrary/v1/photoslibrary-api.json @@ -288,6 +288,37 @@ "https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata" ] }, + "patch": { + "description": "Update the album with the specified `id`.\nOnly the `id`, `title` and `cover_photo_media_item_id` fields of the album\nare read. The album must have been created by the developer via the API and\nmust be owned by the user.", + "flatPath": "v1/albums/{albumsId}", + "httpMethod": "PATCH", + "id": "photoslibrary.albums.patch", + "parameterOrder": [ + "id" + ], + "parameters": { + "id": { + "description": "Identifier for the album. This is a persistent identifier that\ncan be used between sessions to identify this album.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicate what fields in the provided album to update.\nThe only valid values are `title` and `cover_photo_media_item_id`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/albums/{+id}", + "request": { + "$ref": "Album" + }, + "response": { + "$ref": "Album" + } + }, "share": { "description": "Marks an album as shared and accessible to other users. This action can\nonly be performed on albums which were created by the developer via the\nAPI.", "flatPath": "v1/albums/{albumsId}:share", @@ -448,6 +479,37 @@ "https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata" ] }, + "patch": { + "description": "Update the media item with the specified `id`.\nOnly the `id` and `description` fields of the media item are read. The\nmedia item must have been created by the developer via the API and must be\nowned by the user.", + "flatPath": "v1/mediaItems/{mediaItemsId}", + "httpMethod": "PATCH", + "id": "photoslibrary.mediaItems.patch", + "parameterOrder": [ + "id" + ], + "parameters": { + "id": { + "description": "Identifier for the media item. This is a persistent identifier that can be\nused between sessions to identify this media item.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicate what fields in the provided media item to update.\nThe only valid value is `description`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/mediaItems/{+id}", + "request": { + "$ref": "MediaItem" + }, + "response": { + "$ref": "MediaItem" + } + }, "search": { "description": "Searches for media items in a user's Google Photos library.\nIf no filters are set, then all media items in the user's library are\nreturned.\nIf an album is set, all media items in the specified album are returned.\nIf filters are specified, media items that match the filters from the\nuser's library are listed. If you set both the album and the filters, the\nrequest results in an error.", "flatPath": "v1/mediaItems:search", @@ -570,7 +632,7 @@ } } }, - "revision": "20200329", + "revision": "20200707", "rootUrl": "https://photoslibrary.googleapis.com/", "schemas": { "AddEnrichmentToAlbumRequest": { @@ -612,7 +674,7 @@ "type": "string" }, "id": { - "description": "[Ouput only] Identifier for the album. This is a persistent identifier that\ncan be used between sessions to identify this album.", + "description": "Identifier for the album. This is a persistent identifier that\ncan be used between sessions to identify this album.", "type": "string" }, "isWriteable": { @@ -1462,8 +1524,12 @@ "description": "Information about albums that are shared. This information is only included\nif you created the album, it is shared and you have the sharing scope.", "id": "ShareInfo", "properties": { + "isJoinable": { + "description": "True if the album can be joined by users.", + "type": "boolean" + }, "isJoined": { - "description": "True if the user has joined the album. This is always true for the owner\nof the shared album.", + "description": "True if the user is joined to the album. This is always true for\nthe owner of the album.", "type": "boolean" }, "isOwned": { @@ -1471,16 +1537,16 @@ "type": "boolean" }, "shareToken": { - "description": "A token that can be used by other users to join or leave this shared album\nvia the API.", + "description": "A token that is used to join, leave, or retrieve the details of a shared\nalbum on behalf of a user who isn't the owner.\n\nA `shareToken` is invalidated if the owner turns off link sharing in the\nGoogle Photos app, or if the album is unshared.", "type": "string" }, "shareableUrl": { - "description": "A link to the album that's now shared on the Google Photos website and app.\nAnyone with the link can access this shared album and see all of the items\npresent in the album.", + "description": "A link to the shared Google Photos album. Anyone with the link can view the\ncontents of the album, so it should be treated with care.\n\nThe `shareableUrl` parameter is only returned if the album has link sharing\nturned on. If a user is already joined to an album that isn't link-shared,\nthey can use the album's\n[`productUrl`](https://developers.google.com/photos/library/reference/rest/v1/albums#Album)\nto access it instead.\n\nA `shareableUrl` is invalidated if the owner turns off link sharing in the\nGoogle Photos app, or if the album is unshared.", "type": "string" }, "sharedAlbumOptions": { "$ref": "SharedAlbumOptions", - "description": "Options that control the sharing of an album." + "description": "Options that control whether someone can add media items to, or comment on\na shared album." } }, "type": "object" @@ -1494,7 +1560,7 @@ "type": "boolean" }, "isCommentable": { - "description": "True if the shared album allows the owner and the collaborators (users\nwho have joined the album) to add comments to the album. Defaults to false.", + "description": "True if the shared album allows collaborators (users who have joined the\nalbum) to add comments to the album. Defaults to false.", "type": "boolean" } }, diff --git a/etc/api/playablelocations/v3/playablelocations-api.json b/etc/api/playablelocations/v3/playablelocations-api.json new file mode 100644 index 0000000000..a0ff362921 --- /dev/null +++ b/etc/api/playablelocations/v3/playablelocations-api.json @@ -0,0 +1,528 @@ +{ + "basePath": "", + "baseUrl": "https://playablelocations.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Playable Locations", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/maps/contact-sales/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "playablelocations:v3", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://playablelocations.mtls.googleapis.com/", + "name": "playablelocations", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "v3": { + "methods": { + "logImpressions": { + "description": "Logs new events when playable locations are displayed, and when they are\ninteracted with.\n\nImpressions are not partially saved; either all impressions are saved and\nthis request succeeds, or no impressions are saved, and this request fails.", + "flatPath": "v3:logImpressions", + "httpMethod": "POST", + "id": "playablelocations.logImpressions", + "parameterOrder": [], + "parameters": {}, + "path": "v3:logImpressions", + "request": { + "$ref": "GoogleMapsPlayablelocationsV3LogImpressionsRequest" + }, + "response": { + "$ref": "GoogleMapsPlayablelocationsV3LogImpressionsResponse" + } + }, + "logPlayerReports": { + "description": "Logs bad playable location reports submitted by players.\n\nReports are not partially saved; either all reports are saved and this\nrequest succeeds, or no reports are saved, and this request fails.", + "flatPath": "v3:logPlayerReports", + "httpMethod": "POST", + "id": "playablelocations.logPlayerReports", + "parameterOrder": [], + "parameters": {}, + "path": "v3:logPlayerReports", + "request": { + "$ref": "GoogleMapsPlayablelocationsV3LogPlayerReportsRequest" + }, + "response": { + "$ref": "GoogleMapsPlayablelocationsV3LogPlayerReportsResponse" + } + }, + "samplePlayableLocations": { + "description": "Returns a set of playable locations that lie within a specified area,\nthat satisfy optional filter criteria.\n\nNote: Identical `SamplePlayableLocations` requests can return different\nresults as the state of the world changes over time.", + "flatPath": "v3:samplePlayableLocations", + "httpMethod": "POST", + "id": "playablelocations.samplePlayableLocations", + "parameterOrder": [], + "parameters": {}, + "path": "v3:samplePlayableLocations", + "request": { + "$ref": "GoogleMapsPlayablelocationsV3SamplePlayableLocationsRequest" + }, + "response": { + "$ref": "GoogleMapsPlayablelocationsV3SamplePlayableLocationsResponse" + } + } + } + } + }, + "revision": "20200707", + "rootUrl": "https://playablelocations.googleapis.com/", + "schemas": { + "GoogleMapsPlayablelocationsV3Impression": { + "description": "Encapsulates impression event details.", + "id": "GoogleMapsPlayablelocationsV3Impression", + "properties": { + "gameObjectType": { + "description": "An arbitrary, developer-defined type identifier for each type of game\nobject used in your game.\n\nSince players interact with differ types of game objects in different ways,\nthis field allows you to segregate impression data by type for analysis.\n\nYou should assign a unique `game_object_type` ID to represent a distinct\ntype of game object in your game.\n\nFor example, 1=monster location, 2=powerup location.", + "format": "int32", + "type": "integer" + }, + "impressionType": { + "description": "Required. The type of impression event.", + "enum": [ + "IMPRESSION_TYPE_UNSPECIFIED", + "PRESENTED", + "INTERACTED" + ], + "enumDescriptions": [ + "Unspecified type. Do not use.", + "The playable location was presented to a player.", + "A player interacted with the playable location." + ], + "type": "string" + }, + "locationName": { + "description": "Required. The name of the playable location.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3LogImpressionsRequest": { + "description": "A request for logging impressions.", + "id": "GoogleMapsPlayablelocationsV3LogImpressionsRequest", + "properties": { + "clientInfo": { + "$ref": "GoogleMapsUnityClientInfo", + "description": "Required. Information about the client device. For example, device model and\noperating system." + }, + "impressions": { + "description": "Required. Impression event details. The maximum number of impression reports that you\ncan log at once is 50.", + "items": { + "$ref": "GoogleMapsPlayablelocationsV3Impression" + }, + "type": "array" + }, + "requestId": { + "description": "Required. A string that uniquely identifies the log impressions request. This allows\nyou to detect duplicate requests. We recommend that you use UUIDs for this\nvalue. The value must not exceed 50 characters.\n\nYou should reuse the `request_id` only when retrying a request in case of\nfailure. In this case, the request must be identical to the one that\nfailed.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3LogImpressionsResponse": { + "description": "A response for the LogImpressions method.\nThis method returns no data upon success.", + "id": "GoogleMapsPlayablelocationsV3LogImpressionsResponse", + "properties": {}, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3LogPlayerReportsRequest": { + "description": "A request for logging your player's bad location reports.", + "id": "GoogleMapsPlayablelocationsV3LogPlayerReportsRequest", + "properties": { + "clientInfo": { + "$ref": "GoogleMapsUnityClientInfo", + "description": "Required. Information about the client device (for example, device model and\noperating system)." + }, + "playerReports": { + "description": "Required. Player reports. The maximum number of player reports that you can log at\nonce is 50.", + "items": { + "$ref": "GoogleMapsPlayablelocationsV3PlayerReport" + }, + "type": "array" + }, + "requestId": { + "description": "Required. A string that uniquely identifies the log player reports request. This\nallows you to detect duplicate requests. We recommend that you use UUIDs\nfor this value. The value must not exceed 50 characters.\n\nYou should reuse the `request_id` only when retrying a request in the case\nof a failure. In that case, the request must be identical to the one that\nfailed.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3LogPlayerReportsResponse": { + "description": "A response for the LogPlayerReports\nmethod.\n\nThis method returns no data upon success.", + "id": "GoogleMapsPlayablelocationsV3LogPlayerReportsResponse", + "properties": {}, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3PlayerReport": { + "description": "A report submitted by a player about a playable location that is considered\ninappropriate for use in the game.", + "id": "GoogleMapsPlayablelocationsV3PlayerReport", + "properties": { + "languageCode": { + "description": "Language code (in BCP-47 format) indicating the language of the freeform\ndescription provided in `reason_details`. Examples are \"en\", \"en-US\" or\n\"ja-Latn\". For more information, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + }, + "locationName": { + "description": "Required. The name of the playable location.", + "type": "string" + }, + "reasonDetails": { + "description": "Required. A free-form description detailing why the playable location is\nconsidered bad.", + "type": "string" + }, + "reasons": { + "description": "Required. One or more reasons why this playable location is considered bad.", + "enumDescriptions": [ + "Unspecified reason. Do not use.", + "The reason isn't one of the reasons in this enumeration.", + "The playable location isn't accessible to pedestrians. For example, if\nit's in the middle of a highway.", + "The playable location isn't open to the public. For example, a private\noffice building.", + "The playable location is permanently closed. For example, when a business\nhas been shut down.", + "The playable location is temporarily inaccessible. For example, when a\nbusiness has closed for renovations." + ], + "items": { + "enum": [ + "BAD_LOCATION_REASON_UNSPECIFIED", + "OTHER", + "NOT_PEDESTRIAN_ACCESSIBLE", + "NOT_OPEN_TO_PUBLIC", + "PERMANENTLY_CLOSED", + "TEMPORARILY_INACCESSIBLE" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3SampleAreaFilter": { + "description": "Specifies the area to search for playable locations.", + "id": "GoogleMapsPlayablelocationsV3SampleAreaFilter", + "properties": { + "s2CellId": { + "description": "Required. The S2 cell ID of the area you want. This must be between cell level 11 and\n14 (inclusive).\n\nS2 cells are 64-bit integers that identify areas on the Earth. They are\nhierarchical, and can therefore be used for spatial indexing.\n\nThe S2 geometry library is available in a number of languages:\n\n * [C++](https://github.com/google/s2geometry)\n * [Java](https://github.com/google/s2-geometry-library-java)\n * [Go](https://github.com/golang/geo)\n * [Python](https://github.com/google/s2geometry/tree/master/src/python)", + "format": "uint64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3SampleCriterion": { + "description": "Encapsulates a filter criterion for searching for a set of playable\nlocations.", + "id": "GoogleMapsPlayablelocationsV3SampleCriterion", + "properties": { + "fieldsToReturn": { + "description": "Specifies which `PlayableLocation` fields are returned.\n\n`name` (which is used for logging impressions), `center_point` and\n`place_id` (or `plus_code`) are always returned.\n\nThe following fields are omitted unless you specify them here:\n\n * snapped_point\n * types\n\nNote: The more fields you include, the more expensive in terms of data and\nassociated latency your query will be.", + "format": "google-fieldmask", + "type": "string" + }, + "filter": { + "$ref": "GoogleMapsPlayablelocationsV3SampleFilter", + "description": "Specifies filtering options, and specifies what will be included in the\nresult set." + }, + "gameObjectType": { + "description": "Required. An arbitrary, developer-defined identifier of the type of game object that\nthe playable location is used for. This field allows you to specify\ncriteria per game object type when searching for playable locations.\n\nYou should assign a unique `game_object_type` ID across all\n`request_criteria` to represent a distinct type of game object. For\nexample, 1=monster location, 2=powerup location.\n\nThe response contains a map.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3SampleFilter": { + "description": "Specifies the filters to use when searching for playable locations.", + "id": "GoogleMapsPlayablelocationsV3SampleFilter", + "properties": { + "includedTypes": { + "description": "Restricts the set of playable locations to just the\n[types](/maps/documentation/gaming/tt/types) that you want.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxLocationCount": { + "description": "Specifies the maximum number of playable locations to return. This value\nmust not be greater than 1000. The default value is 100.\n\nOnly the top-ranking playable locations are returned.", + "format": "int32", + "type": "integer" + }, + "spacing": { + "$ref": "GoogleMapsPlayablelocationsV3SampleSpacingOptions", + "description": "A set of options that control the spacing between playable locations. By\ndefault the minimum distance between locations is 200m." + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3SamplePlayableLocation": { + "description": "A geographical point suitable for placing game objects in location-based\ngames.", + "id": "GoogleMapsPlayablelocationsV3SamplePlayableLocation", + "properties": { + "centerPoint": { + "$ref": "GoogleTypeLatLng", + "description": "Required. The latitude and longitude associated with the center of the playable\nlocation.\n\nBy default, the set of playable locations returned from\nSamplePlayableLocations use\ncenter-point coordinates." + }, + "name": { + "description": "Required. The name of this playable location.", + "type": "string" + }, + "placeId": { + "description": "A [place ID] (https://developers.google.com/places/place-id)", + "type": "string" + }, + "plusCode": { + "description": "A [plus code] (http://openlocationcode.com)", + "type": "string" + }, + "snappedPoint": { + "$ref": "GoogleTypeLatLng", + "description": "The playable location's coordinates, snapped to the sidewalk of the\nnearest road, if a nearby road exists." + }, + "types": { + "description": "A collection of [Playable Location\nTypes](/maps/documentation/gaming/tt/types) for this playable location. The\nfirst type in the collection is the primary type.\n\nType information might not be available for all playable locations.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3SamplePlayableLocationList": { + "description": "A list of PlayableLocation objects that satisfies a single Criterion.", + "id": "GoogleMapsPlayablelocationsV3SamplePlayableLocationList", + "properties": { + "locations": { + "description": "A list of playable locations for this game object type.", + "items": { + "$ref": "GoogleMapsPlayablelocationsV3SamplePlayableLocation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3SamplePlayableLocationsRequest": { + "description": "\nLife of a query:\n\n- When a game starts in a new location, your game server issues a\nSamplePlayableLocations\nrequest. The request specifies the S2 cell, and contains one or more\n\"criteria\" for filtering:\n\n- Criterion 0: i locations for long-lived bases, or level 0 monsters, or...\n- Criterion 1: j locations for short-lived bases, or level 1 monsters, ...\n- Criterion 2: k locations for random objects.\n- etc (up to 5 criterion may be specified).\n\n`PlayableLocationList` will then contain mutually\nexclusive lists of `PlayableLocation` objects that satisfy each of\nthe criteria. Think of it as a collection of real-world locations that you\ncan then associate with your game state.\n\nNote: These points are impermanent in nature. E.g, parks can close, and\nplaces can be removed.\n\nThe response specifies how long you can expect the playable locations to\nlast. Once they expire, you should query the `samplePlayableLocations` API\nagain to get a fresh view of the real world.", + "id": "GoogleMapsPlayablelocationsV3SamplePlayableLocationsRequest", + "properties": { + "areaFilter": { + "$ref": "GoogleMapsPlayablelocationsV3SampleAreaFilter", + "description": "Required. Specifies the area to search within for playable locations." + }, + "criteria": { + "description": "Required. Specifies one or more (up to 5) criteria for filtering the\nreturned playable locations.", + "items": { + "$ref": "GoogleMapsPlayablelocationsV3SampleCriterion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3SamplePlayableLocationsResponse": { + "description": "\nResponse for the\nSamplePlayableLocations\nmethod.", + "id": "GoogleMapsPlayablelocationsV3SamplePlayableLocationsResponse", + "properties": { + "locationsPerGameObjectType": { + "additionalProperties": { + "$ref": "GoogleMapsPlayablelocationsV3SamplePlayableLocationList" + }, + "description": "Each PlayableLocation object corresponds to a game_object_type specified\nin the request.", + "type": "object" + }, + "ttl": { + "description": "Required. Specifies the \"time-to-live\" for the set of playable locations. You can use\nthis value to determine how long to cache the set of playable locations.\nAfter this length of time, your back-end game server should issue a new\nSamplePlayableLocations\nrequest to get a fresh set of playable locations (because for example, they\nmight have been removed, a park might have closed for the day, a\nbusiness might have closed permanently).", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMapsPlayablelocationsV3SampleSpacingOptions": { + "description": "A set of options that specifies the separation between playable locations.", + "id": "GoogleMapsPlayablelocationsV3SampleSpacingOptions", + "properties": { + "minSpacingMeters": { + "description": "Required. The minimum spacing between any two playable locations, measured in meters.\nThe minimum value is 30.\nThe maximum value is 1000.\n\nInputs will be rounded up to the next 10 meter interval.\n\nThe default value is 200m.\n\nSet this field to remove tight clusters of playable locations.\n\nNote:\n\nThe spacing is a greedy algorithm. It optimizes for selecting the highest\nranking locations first, not to maximize the number of locations selected.\nConsider the following scenario:\n\n * Rank: A: 2, B: 1, C: 3.\n * Distance: A--200m--B--200m--C\n\nIf spacing=250, it will pick the highest ranked location [B], not [A, C].\n\n\nNote:\n\nSpacing works within the game object type itself, as well as the previous\nones.\nSuppose three game object types, each with the following spacing:\n\n * X: 400m, Y: undefined, Z: 200m.\n\n1. Add locations for X, within 400m of each other.\n2. Add locations for Y, without any spacing.\n3. Finally, add locations for Z within 200m of each other as well X and Y.\n\nThe distance diagram between those locations end up as:\n\n * From->To.\n * X->X: 400m\n * Y->X, Y->Y: unspecified.\n * Z->X, Z->Y, Z->Z: 200m.", + "format": "double", + "type": "number" + }, + "pointType": { + "description": "Specifies whether the minimum spacing constraint applies to the\ncenter-point or to the snapped point of playable locations. The default\nvalue is `CENTER_POINT`.\n\nIf a snapped point is not available for a playable location, its\ncenter-point is used instead.\n\nSet this to the point type used in your game.", + "enum": [ + "POINT_TYPE_UNSPECIFIED", + "CENTER_POINT", + "SNAPPED_POINT" + ], + "enumDescriptions": [ + "Unspecified point type. Do not use this value.", + "The geographic coordinates correspond to the center of the location.", + "The geographic coordinates correspond to the location snapped to the\nsidewalk of the nearest road (when a nearby road exists)." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleMapsUnityClientInfo": { + "description": "Client information.", + "id": "GoogleMapsUnityClientInfo", + "properties": { + "apiClient": { + "description": "API client name and version. For example, the SDK calling the API. The\nexact format is up to the client.", + "type": "string" + }, + "applicationId": { + "description": "Application ID, such as the package name on Android and the bundle\nidentifier on iOS platforms.", + "type": "string" + }, + "applicationVersion": { + "description": "Application version number, such as \"1.2.3\". The exact format is\napplication-dependent.", + "type": "string" + }, + "deviceModel": { + "description": "Device model as reported by the device. The exact format is\nplatform-dependent.", + "type": "string" + }, + "languageCode": { + "description": "Language code (in BCP-47 format) indicating the UI language of the client.\nExamples are \"en\", \"en-US\" or \"ja-Latn\". For more information, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + }, + "operatingSystem": { + "description": "Operating system name and version as reported by the OS. For example,\n\"Mac OS X 10.10.4\". The exact format is platform-dependent.", + "type": "string" + }, + "operatingSystemBuild": { + "description": "Build number/version of the operating system. e.g., the contents of\nandroid.os.Build.ID in Android, or the contents of sysctl \"kern.osversion\"\nin iOS.", + "type": "string" + }, + "platform": { + "description": "Platform where the application is running.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "EDITOR", + "MAC_OS", + "WINDOWS", + "LINUX", + "ANDROID", + "IOS", + "WEB_GL" + ], + "enumDescriptions": [ + "Unspecified or unknown OS.", + "Development environment.", + "macOS.", + "Windows.", + "Linux", + "Android", + "iOS", + "WebGL." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleTypeLatLng": { + "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\nWGS84\nstandard. Values must be within normalized ranges.", + "id": "GoogleTypeLatLng", + "properties": { + "latitude": { + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "format": "double", + "type": "number" + }, + "longitude": { + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "format": "double", + "type": "number" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Playable Locations API", + "version": "v3", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/playcustomapp/v1/playcustomapp-api.json b/etc/api/playcustomapp/v1/playcustomapp-api.json index c781e2e1f3..2e464c54a4 100644 --- a/etc/api/playcustomapp/v1/playcustomapp-api.json +++ b/etc/api/playcustomapp/v1/playcustomapp-api.json @@ -8,35 +8,63 @@ } } }, - "basePath": "/playcustomapp/v1/accounts/", - "baseUrl": "https://www.googleapis.com/playcustomapp/v1/accounts/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/playcustomapp/v1", - "description": "An API to publish custom Android apps.", + "description": "API to create and publish custom Android apps", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/android/work/play/custom-app-api", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/7giQS2sn1aiNssvTbYUqqbUEOO8\"", + "documentationLink": "https://developers.google.com/android/work/play/custom-app-api/", + "fullyEncodeReservedExpansion": true, "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "playcustomapp:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "playcustomapp", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -59,12 +87,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -76,19 +109,16 @@ "customApps": { "methods": { "create": { - "description": "Create and publish a new custom app.", + "description": "Creates a new custom app.", + "flatPath": "playcustomapp/v1/accounts/{account}/customApps", "httpMethod": "POST", "id": "playcustomapp.accounts.customApps.create", "mediaUpload": { "accept": [ "*/*" ], - "maxSize": "100MB", + "maxSize": "10737418240", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/playcustomapp/v1/accounts/{account}/customApps" - }, "simple": { "multipart": true, "path": "/upload/playcustomapp/v1/accounts/{account}/customApps" @@ -107,7 +137,7 @@ "type": "string" } }, - "path": "{account}/customApps", + "path": "playcustomapp/v1/accounts/{account}/customApps", "request": { "$ref": "CustomApp" }, @@ -124,7 +154,7 @@ } } }, - "revision": "20170622", + "revision": "20200707", "rootUrl": "https://www.googleapis.com/", "schemas": { "CustomApp": { @@ -135,6 +165,10 @@ "description": "Default listing language in BCP 47 format.", "type": "string" }, + "packageName": { + "description": "Output only. Package name of the created Android app.\nOnly present in the API response.", + "type": "string" + }, "title": { "description": "Title for the Android app.", "type": "string" @@ -143,7 +177,7 @@ "type": "object" } }, - "servicePath": "playcustomapp/v1/accounts/", + "servicePath": "", "title": "Google Play Custom App Publishing API", "version": "v1" } \ No newline at end of file diff --git a/etc/api/policytroubleshooter/v1/policytroubleshooter-api.json b/etc/api/policytroubleshooter/v1/policytroubleshooter-api.json index f4457ec77f..6eb3c53a98 100644 --- a/etc/api/policytroubleshooter/v1/policytroubleshooter-api.json +++ b/etc/api/policytroubleshooter/v1/policytroubleshooter-api.json @@ -128,7 +128,7 @@ } } }, - "revision": "20200322", + "revision": "20200704", "rootUrl": "https://policytroubleshooter.googleapis.com/", "schemas": { "GoogleCloudPolicytroubleshooterV1AccessTuple": { @@ -371,7 +371,7 @@ "type": "object" }, "GoogleIamV1AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "GoogleIamV1AuditConfig", "properties": { "auditLogConfigs": { @@ -389,7 +389,7 @@ "type": "object" }, "GoogleIamV1AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "GoogleIamV1AuditLogConfig", "properties": { "exemptedMembers": { @@ -424,7 +424,7 @@ "properties": { "condition": { "$ref": "GoogleTypeExpr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -441,7 +441,7 @@ "type": "object" }, "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "GoogleIamV1Policy", "properties": { "auditConfigs": { @@ -464,7 +464,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/policytroubleshooter/v1beta/policytroubleshooter-api.json b/etc/api/policytroubleshooter/v1beta/policytroubleshooter-api.json index 6597e8de4a..afde8360ee 100644 --- a/etc/api/policytroubleshooter/v1beta/policytroubleshooter-api.json +++ b/etc/api/policytroubleshooter/v1beta/policytroubleshooter-api.json @@ -128,7 +128,7 @@ } } }, - "revision": "20200322", + "revision": "20200704", "rootUrl": "https://policytroubleshooter.googleapis.com/", "schemas": { "GoogleCloudPolicytroubleshooterV1betaAccessTuple": { @@ -371,7 +371,7 @@ "type": "object" }, "GoogleIamV1AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "GoogleIamV1AuditConfig", "properties": { "auditLogConfigs": { @@ -389,7 +389,7 @@ "type": "object" }, "GoogleIamV1AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "GoogleIamV1AuditLogConfig", "properties": { "exemptedMembers": { @@ -424,7 +424,7 @@ "properties": { "condition": { "$ref": "GoogleTypeExpr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -441,7 +441,7 @@ "type": "object" }, "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "GoogleIamV1Policy", "properties": { "auditConfigs": { @@ -464,7 +464,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/poly/v1/poly-api.json b/etc/api/poly/v1/poly-api.json index 77b4dd79a2..252824cbfd 100644 --- a/etc/api/poly/v1/poly-api.json +++ b/etc/api/poly/v1/poly-api.json @@ -291,7 +291,7 @@ } } }, - "revision": "20200405", + "revision": "20200527", "rootUrl": "https://poly.googleapis.com/", "schemas": { "Asset": { diff --git a/etc/api/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json b/etc/api/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json index b8dd25ca58..0c91886b90 100644 --- a/etc/api/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json +++ b/etc/api/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json @@ -195,6 +195,158 @@ } }, "resources": { + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment.", + "flatPath": "v1alpha1/customers/{customersId}/deployments", + "httpMethod": "POST", + "id": "prod_tt_sasportal.customers.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the deployment is to be created.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "delete": { + "description": "Deletes a deployment.", + "flatPath": "v1alpha1/customers/{customersId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "prod_tt_sasportal.customers.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^customers/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "get": { + "description": "Returns a requested deployment.", + "flatPath": "v1alpha1/customers/{customersId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "prod_tt_sasportal.customers.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^customers/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "list": { + "description": "Lists deployments.", + "flatPath": "v1alpha1/customers/{customersId}/deployments", + "httpMethod": "GET", + "id": "prod_tt_sasportal.customers.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of deployments to return in the response.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to ListDeployments\nmethod that\nindicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, for example, \"nodes/1\",\ncustomer/1/nodes/2.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "response": { + "$ref": "SasPortalListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "patch": { + "description": "Updates an existing deployment.", + "flatPath": "v1alpha1/customers/{customersId}/deployments/{deploymentsId}", + "httpMethod": "PATCH", + "id": "prod_tt_sasportal.customers.deployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name.", + "location": "path", + "pattern": "^customers/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "devices": { "methods": { "bulk": { @@ -346,7 +498,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of devices to return in the response.", + "description": "The maximum number of devices to return in the response.\nIf empty or zero, all devices will be listed.\nMust be in the range [0, 1000].", "format": "int32", "location": "query", "type": "integer" @@ -672,6 +824,74 @@ } }, "resources": { + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment.", + "flatPath": "v1alpha1/customers/{customersId}/nodes/{nodesId}/deployments", + "httpMethod": "POST", + "id": "prod_tt_sasportal.customers.nodes.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the deployment is to be created.", + "location": "path", + "pattern": "^customers/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "list": { + "description": "Lists deployments.", + "flatPath": "v1alpha1/customers/{customersId}/nodes/{nodesId}/deployments", + "httpMethod": "GET", + "id": "prod_tt_sasportal.customers.nodes.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of deployments to return in the response.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to ListDeployments\nmethod that\nindicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, for example, \"nodes/1\",\ncustomer/1/nodes/2.", + "location": "path", + "pattern": "^customers/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "response": { + "$ref": "SasPortalListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "nodes": { "methods": { "create": { @@ -744,6 +964,35 @@ } } }, + "deployments": { + "methods": { + "get": { + "description": "Returns a requested deployment.", + "flatPath": "v1alpha1/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "prod_tt_sasportal.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "installer": { "methods": { "generateSecret": { @@ -785,7 +1034,158 @@ } }, "nodes": { + "methods": { + "get": { + "description": "Returns a requested node.", + "flatPath": "v1alpha1/nodes/{nodesId}", + "httpMethod": "GET", + "id": "prod_tt_sasportal.nodes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the node.", + "location": "path", + "pattern": "^nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalNode" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + }, "resources": { + "deployments": { + "methods": { + "delete": { + "description": "Deletes a deployment.", + "flatPath": "v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "prod_tt_sasportal.nodes.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^nodes/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "get": { + "description": "Returns a requested deployment.", + "flatPath": "v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "prod_tt_sasportal.nodes.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^nodes/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "list": { + "description": "Lists deployments.", + "flatPath": "v1alpha1/nodes/{nodesId}/deployments", + "httpMethod": "GET", + "id": "prod_tt_sasportal.nodes.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of deployments to return in the response.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to ListDeployments\nmethod that\nindicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, for example, \"nodes/1\",\ncustomer/1/nodes/2.", + "location": "path", + "pattern": "^nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "response": { + "$ref": "SasPortalListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "patch": { + "description": "Updates an existing deployment.", + "flatPath": "v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}", + "httpMethod": "PATCH", + "id": "prod_tt_sasportal.nodes.deployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name.", + "location": "path", + "pattern": "^nodes/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "devices": { "methods": { "bulk": { @@ -937,7 +1337,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of devices to return in the response.", + "description": "The maximum number of devices to return in the response.\nIf empty or zero, all devices will be listed.\nMust be in the range [0, 1000].", "format": "int32", "location": "query", "type": "integer" @@ -1263,6 +1663,74 @@ } }, "resources": { + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment.", + "flatPath": "v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/deployments", + "httpMethod": "POST", + "id": "prod_tt_sasportal.nodes.nodes.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the deployment is to be created.", + "location": "path", + "pattern": "^nodes/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "list": { + "description": "Lists deployments.", + "flatPath": "v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/deployments", + "httpMethod": "GET", + "id": "prod_tt_sasportal.nodes.nodes.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of deployments to return in the response.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to ListDeployments\nmethod that\nindicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, for example, \"nodes/1\",\ncustomer/1/nodes/2.", + "location": "path", + "pattern": "^nodes/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "response": { + "$ref": "SasPortalListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "devices": { "methods": { "bulk": { @@ -1364,7 +1832,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of devices to return in the response.", + "description": "The maximum number of devices to return in the response.\nIf empty or zero, all devices will be listed.\nMust be in the range [0, 1000].", "format": "int32", "location": "query", "type": "integer" @@ -1523,7 +1991,7 @@ } } }, - "revision": "20200409", + "revision": "20200708", "rootUrl": "https://prod-tt-sasportal.googleapis.com/", "schemas": { "SasPortalAssignment": { @@ -1607,6 +2075,59 @@ }, "type": "object" }, + "SasPortalDeployment": { + "description": "The Deployment.", + "id": "SasPortalDeployment", + "properties": { + "allowedBillingModes": { + "description": "The allowed billing modes under this deployment.", + "enumDescriptions": [ + "Billing mode has not been specified.", + "Price is based on category of CBSD: Category A, Category B registered with\nSAS.", + "Price is based on type of CBSD: Base station or CPE." + ], + "items": { + "enum": [ + "BILLING_MODE_UNSPECIFIED", + "MOBILE", + "FIXED_WIRELESS" + ], + "type": "string" + }, + "type": "array" + }, + "defaultBillingMode": { + "description": "Default billing mode for the deployment and devices under it.", + "enum": [ + "BILLING_MODE_UNSPECIFIED", + "MOBILE", + "FIXED_WIRELESS" + ], + "enumDescriptions": [ + "Billing mode has not been specified.", + "Price is based on category of CBSD: Category A, Category B registered with\nSAS.", + "Price is based on type of CBSD: Base station or CPE." + ], + "type": "string" + }, + "displayName": { + "description": "The deployment's display name.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name.", + "type": "string" + }, + "sasUserIds": { + "description": "User id used by the devices belonging to this deployment. Each deployment\nshould be associated with one unique user_id.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SasPortalDevice": { "id": "SasPortalDevice", "properties": { @@ -1614,6 +2135,10 @@ "$ref": "SasPortalDeviceConfig", "description": "Output only. Current configuration of the device as registered to the SAS." }, + "deviceMetadata": { + "$ref": "SasPortalDeviceMetadata", + "description": "Device parameters that can be overridden by both SAS Portal and SAS\nregistration requests." + }, "displayName": { "description": "Device display name.", "type": "string" @@ -1836,10 +2361,23 @@ "The grant has expired." ], "type": "string" + }, + "suspensionReason": { + "description": "If the grant is suspended, the reason(s) for suspension.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, + "SasPortalDeviceMetadata": { + "description": "Device data overridable by both SAS Portal and registration requests.", + "id": "SasPortalDeviceMetadata", + "properties": {}, + "type": "object" + }, "SasPortalDeviceModel": { "description": "Information about the model of the device.", "id": "SasPortalDeviceModel", @@ -1961,6 +2499,10 @@ "description": "If an external antenna is used, the antenna model is optionally\nprovided in this field. The string has a maximum length of 128\noctets.", "type": "string" }, + "cpeCbsdIndication": { + "description": "If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.", + "type": "boolean" + }, "eirpCapability": { "description": "This parameter is the maximum device EIRP in units of dBm/10MHz\nand is an integer with a value between -127 and +47 (dBm/10 MHz)\ninclusive. If not included, SAS interprets it as maximum\nallowable EIRP in units of dBm/10MHz for device category.", "format": "int32", @@ -2030,6 +2572,24 @@ }, "type": "object" }, + "SasPortalListDeploymentsResponse": { + "description": "Response for ListDeployments method.", + "id": "SasPortalListDeploymentsResponse", + "properties": { + "deployments": { + "description": "The deployments that match the\nrequest.", + "items": { + "$ref": "SasPortalDeployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A pagination token returned from a previous call to\nListDeployments method that indicates\nfrom where listing should continue. If the field is missing or empty, it\nmeans there is no more deployments.", + "type": "string" + } + }, + "type": "object" + }, "SasPortalListDevicesResponse": { "description": "Response for ListDevices method.", "id": "SasPortalListDevicesResponse", diff --git a/etc/api/pubsub/v1/pubsub-api.json b/etc/api/pubsub/v1/pubsub-api.json index ef8514815b..a7d40ea9db 100644 --- a/etc/api/pubsub/v1/pubsub-api.json +++ b/etc/api/pubsub/v1/pubsub-api.json @@ -112,7 +112,7 @@ "snapshots": { "methods": { "create": { - "description": "Creates a snapshot from the requested subscription. Snapshots are used in\nSeek\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.\n

If the snapshot already exists, returns `ALREADY_EXISTS`.\nIf the requested subscription doesn't exist, returns `NOT_FOUND`.\nIf the backlog in the subscription is too old -- and the resulting snapshot\nwould expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.\nSee also the `Snapshot.expire_time` field. If the name is not provided in\nthe request, the server will assign a random\nname for this snapshot on the same project as the subscription, conforming\nto the\n[resource name\nformat](https://cloud.google.com/pubsub/docs/admin#resource_names). The\ngenerated name is populated in the returned Snapshot object. Note that for\nREST API requests, you must specify a name in the request.", + "description": "Creates a snapshot from the requested subscription. Snapshots are used in\n[Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,\nwhich allow you to manage message acknowledgments in bulk. That is, you can\nset the acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.\nIf the snapshot already exists, returns `ALREADY_EXISTS`.\nIf the requested subscription doesn't exist, returns `NOT_FOUND`.\nIf the backlog in the subscription is too old -- and the resulting snapshot\nwould expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.\nSee also the `Snapshot.expire_time` field. If the name is not provided in\nthe request, the server will assign a random\nname for this snapshot on the same project as the subscription, conforming\nto the [resource name format]\n(https://cloud.google.com/pubsub/docs/admin#resource_names). The\ngenerated name is populated in the returned Snapshot object. Note that for\nREST API requests, you must specify a name in the request.", "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", "httpMethod": "PUT", "id": "pubsub.projects.snapshots.create", @@ -141,7 +141,7 @@ ] }, "delete": { - "description": "Removes an existing snapshot. Snapshots are used in\nSeek\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.

\nWhen the snapshot is deleted, all messages retained in the snapshot\nare immediately dropped. After a snapshot is deleted, a new one may be\ncreated with the same name, but the new one has no association with the old\nsnapshot or its subscription, unless the same subscription is specified.", + "description": "Removes an existing snapshot. Snapshots are used in [Seek]\n(https://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.\nWhen the snapshot is deleted, all messages retained in the snapshot\nare immediately dropped. After a snapshot is deleted, a new one may be\ncreated with the same name, but the new one has no association with the old\nsnapshot or its subscription, unless the same subscription is specified.", "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", "httpMethod": "DELETE", "id": "pubsub.projects.snapshots.delete", @@ -225,7 +225,7 @@ ] }, "list": { - "description": "Lists the existing snapshots. Snapshots are used in\nSeek\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.", + "description": "Lists the existing snapshots. Snapshots are used in [Seek](\nhttps://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.", "flatPath": "v1/projects/{projectsId}/snapshots", "httpMethod": "GET", "id": "pubsub.projects.snapshots.list", @@ -382,7 +382,7 @@ ] }, "create": { - "description": "Creates a subscription to a given topic. See the\n\nresource name rules.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the\n[resource name\nformat](https://cloud.google.com/pubsub/docs/admin#resource_names). The\ngenerated name is populated in the returned Subscription object. Note that\nfor REST API requests, you must specify a name in the request.", + "description": "Creates a subscription to a given topic. See the [resource name rules]\n(https://cloud.google.com/pubsub/docs/admin#resource_names).\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the [resource name format]\n(https://cloud.google.com/pubsub/docs/admin#resource_names). The generated\nname is populated in the returned Subscription object. Note that for REST\nAPI requests, you must specify a name in the request.", "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", "httpMethod": "PUT", "id": "pubsub.projects.subscriptions.create", @@ -674,7 +674,7 @@ ] }, "seek": { - "description": "Seeks an existing subscription to a point in time or to a given snapshot,\nwhichever is provided in the request. Snapshots are used in\nSeek\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot. Note that both the subscription and the snapshot\nmust be on the same topic.", + "description": "Seeks an existing subscription to a point in time or to a given snapshot,\nwhichever is provided in the request. Snapshots are used in [Seek](\nhttps://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot. Note that both the subscription and the\nsnapshot must be on the same topic.", "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek", "httpMethod": "POST", "id": "pubsub.projects.subscriptions.seek", @@ -765,7 +765,7 @@ "topics": { "methods": { "create": { - "description": "Creates the given topic with the given name. See the\n\nresource name rules.", + "description": "Creates the given topic with the given name. See the [resource name rules](\nhttps://cloud.google.com/pubsub/docs/admin#resource_names).", "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", "httpMethod": "PUT", "id": "pubsub.projects.topics.create", @@ -1035,7 +1035,7 @@ "snapshots": { "methods": { "list": { - "description": "Lists the names of the snapshots on this topic. Snapshots are used in\nSeek\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.", + "description": "Lists the names of the snapshots on this topic. Snapshots are used in\n[Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,\nwhich allow you to manage message acknowledgments in bulk. That is, you can\nset the acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.", "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots", "httpMethod": "GET", "id": "pubsub.projects.topics.snapshots.list", @@ -1119,7 +1119,7 @@ } } }, - "revision": "20200623", + "revision": "20200627", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -1441,7 +1441,7 @@ "type": "object" }, "PubsubMessage": { - "description": "A message that is published by publishers and consumed by subscribers. The\nmessage must contain either a non-empty data field or at least one attribute.\nNote that client libraries represent this object differently\ndepending on the language. See the corresponding\nclient\nlibrary documentation for more information. See\nQuotas and limits\nfor more information about message limits.", + "description": "A message that is published by publishers and consumed by subscribers. The\nmessage must contain either a non-empty data field or at least one attribute.\nNote that client libraries represent this object differently\ndepending on the language. See the corresponding [client library\ndocumentation](https://cloud.google.com/pubsub/docs/reference/libraries) for\nmore information. See [quotas and limits]\n(https://cloud.google.com/pubsub/quotas) for more information about message\nlimits.", "id": "PubsubMessage", "properties": { "attributes": { @@ -1591,7 +1591,7 @@ "type": "object" }, "Snapshot": { - "description": "A snapshot resource. Snapshots are used in\nSeek\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.", + "description": "A snapshot resource. Snapshots are used in\n[Seek](https://cloud.google.com/pubsub/docs/replay-overview)\noperations, which allow you to manage message acknowledgments in bulk. That\nis, you can set the acknowledgment state of messages in an existing\nsubscription to the state captured by a snapshot.", "id": "Snapshot", "properties": { "expireTime": { @@ -1603,7 +1603,7 @@ "additionalProperties": { "type": "string" }, - "description": "See Creating and\nmanaging labels.", + "description": "See [Creating and managing labels]\n(https://cloud.google.com/pubsub/docs/labels).", "type": "object" }, "name": { @@ -1659,7 +1659,7 @@ "description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods." }, "retainAckedMessages": { - "description": "Indicates whether to retain acknowledged messages. If true, then\nmessages are not expunged from the subscription's backlog, even if they are\nacknowledged, until they fall out of the `message_retention_duration`\nwindow. This must be true if you would like to\n\nSeek to a timestamp.", + "description": "Indicates whether to retain acknowledged messages. If true, then\nmessages are not expunged from the subscription's backlog, even if they are\nacknowledged, until they fall out of the `message_retention_duration`\nwindow. This must be true if you would like to [Seek to a timestamp]\n(https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).", "type": "boolean" }, "retryPolicy": { @@ -1713,7 +1713,7 @@ "additionalProperties": { "type": "string" }, - "description": "See Creating and\nmanaging labels.", + "description": "See [Creating and managing labels]\n(https://cloud.google.com/pubsub/docs/labels).", "type": "object" }, "messageStoragePolicy": { diff --git a/etc/api/pubsub/v1beta1a/pubsub-api.json b/etc/api/pubsub/v1beta1a/pubsub-api.json index be472a2d95..ddb553fdde 100644 --- a/etc/api/pubsub/v1beta1a/pubsub-api.json +++ b/etc/api/pubsub/v1beta1a/pubsub-api.json @@ -457,7 +457,7 @@ } } }, - "revision": "20200403", + "revision": "20200627", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { diff --git a/etc/api/pubsub/v1beta2/pubsub-api.json b/etc/api/pubsub/v1beta2/pubsub-api.json index 9898c42a46..48fc829639 100644 --- a/etc/api/pubsub/v1beta2/pubsub-api.json +++ b/etc/api/pubsub/v1beta2/pubsub-api.json @@ -231,7 +231,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -378,7 +378,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", "httpMethod": "POST", "id": "pubsub.projects.subscriptions.setIamPolicy", @@ -407,7 +407,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", "httpMethod": "POST", "id": "pubsub.projects.subscriptions.testIamPermissions", @@ -530,7 +530,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -619,7 +619,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:setIamPolicy", "httpMethod": "POST", "id": "pubsub.projects.topics.setIamPolicy", @@ -648,7 +648,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:testIamPermissions", "httpMethod": "POST", "id": "pubsub.projects.topics.testIamPermissions", @@ -724,7 +724,7 @@ } } }, - "revision": "20200403", + "revision": "20200627", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -747,7 +747,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -896,7 +896,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -912,7 +912,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/realtimebidding/v1/realtimebidding-api.json b/etc/api/realtimebidding/v1/realtimebidding-api.json new file mode 100644 index 0000000000..80d61522d0 --- /dev/null +++ b/etc/api/realtimebidding/v1/realtimebidding-api.json @@ -0,0 +1,1782 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/adexchange.buyer": { + "description": "Manage your Ad Exchange buyer account configuration" + }, + "https://www.googleapis.com/auth/realtime-bidding": { + "description": "See, create, edit, and delete your Authorized Buyers and Open Bidding account entities" + } + } + } + }, + "basePath": "", + "baseUrl": "https://realtimebidding.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Real-time Bidding", + "description": "Allows external bidders to manage their RTB integration with Google. This includes managing bidder endpoints, QPS quotas, configuring what ad inventory to receive via pretargeting, submitting creatives for verification, and accessing creative metadata such as approval status.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/authorized-buyers/apis/realtimebidding/reference/rest/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "realtimebidding:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://realtimebidding.mtls.googleapis.com/", + "name": "realtimebidding", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "bidders": { + "resources": { + "creatives": { + "methods": { + "list": { + "description": "Lists creatives.", + "flatPath": "v1/bidders/{biddersId}/creatives", + "httpMethod": "GET", + "id": "realtimebidding.bidders.creatives.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Query string to filter creatives. If no filter is specified,\nall active creatives will be returned.\n\nExample: 'accountId=12345 AND (dealsStatus:DISAPPROVED AND\ndisapprovalReason:UNACCEPTABLE_CONTENT) OR\ndeclaredAttributes:IS_COOKIE_TARGETED'", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server may return fewer creatives than requested\n(due to timeout constraint) even if more are available via another call.\nIf unspecified, server will pick an appropriate default.\nAcceptable values are 1 to 1000, inclusive.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativesResponse.nextPageToken\nreturned from the previous call to the 'ListCreatives' method.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the parent buyer that owns the creatives.\n\nThe pattern for this resource is either `buyers/{buyerAccountId}` or\n`bidders/{bidderAccountId}`.\n\nFor `buyers/{buyerAccountId}`, the `buyerAccountId` can be one of the\nfollowing:\n1. The ID of the buyer that is accessing their own creatives.\n2. The ID of the child seat buyer under a bidder account.\n So for listing creatives pertaining to the child seat buyer (`456`)\n under bidder account (`123`), you would use the pattern: `buyers/456`.\n3. The ID of the bidder itself.\n So for listing creatives pertaining to bidder (`123`),\n you would use `buyers/123`.\n\nIf you want to access all creatives pertaining to both the bidder and all\nof its child seat accounts, you would use `bidders/{bidderAccountId}`,\ne.g., for all creatives pertaining to bidder (`123`), use `bidders/123`.", + "location": "path", + "pattern": "^bidders/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Controls the amount of information included in the response.\nBy default only\ncreativeServingDecision\nis included. To retrieve the entire creative\nresource (including the declared\nfields and the creative content) specify the view as \"FULL\".", + "enum": [ + "CREATIVE_VIEW_UNSPECIFIED", + "SERVING_DECISION_ONLY", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/creatives", + "response": { + "$ref": "ListCreativesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "watch": { + "description": "Watches all creatives pertaining to a bidder. It is sufficient to invoke\nthis endpoint once per bidder. A Pub/Sub topic will be created and\nnotifications will be pushed to the topic when any of the bidder's\ncreatives change status. All of the bidder's service accounts will have\naccess to read from the topic.\nSubsequent invocations of this method will return the existing\nPub/Sub configuration.", + "flatPath": "v1/bidders/{biddersId}/creatives:watch", + "httpMethod": "POST", + "id": "realtimebidding.bidders.creatives.watch", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. To watch all creatives pertaining to the bidder and all its child seat\naccounts, the bidder must follow the pattern `bidders/{bidderAccountId}`.", + "location": "path", + "pattern": "^bidders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/creatives:watch", + "request": { + "$ref": "WatchCreativesRequest" + }, + "response": { + "$ref": "WatchCreativesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + } + } + } + } + }, + "buyers": { + "methods": { + "getRemarketingTag": { + "description": "Gets remarketing tag for a buyer. A remarketing tag is a piece of\nJavaScript code that can be placed on a web page. When a user\nvisits a page containing a remarketing tag, Google adds the user to a user\nlist.", + "flatPath": "v1/buyers/{buyersId}:getRemarketingTag", + "httpMethod": "GET", + "id": "realtimebidding.buyers.getRemarketingTag", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. To fetch remarketing tag for an account, name must follow the pattern\n`buyers/{accountId}` where `{accountId}`\nrepresents ID of a buyer that owns the remarketing tag. For a\nbidder accessing remarketing tag on behalf of a child seat buyer,\n`{accountId}` should represent the ID of the child seat buyer.\nTo fetch remarketing tag for a specific user list, name\nmust follow the pattern\n`buyers/{accountId}/userLists/{userListId}`. See\nUserList.name.", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:getRemarketingTag", + "response": { + "$ref": "GetRemarketingTagResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + } + }, + "resources": { + "creatives": { + "methods": { + "create": { + "description": "Creates a creative.", + "flatPath": "v1/buyers/{buyersId}/creatives", + "httpMethod": "POST", + "id": "realtimebidding.buyers.creatives.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the parent buyer that the new creative belongs to that must\nfollow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}`\nrepresents the account ID of the buyer who owns a creative. For a bidder\naccessing creatives on behalf of a child seat buyer, `{buyerAccountId}`\nshould represent the account ID of the child seat buyer.", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "get": { + "description": "Gets a creative.", + "flatPath": "v1/buyers/{buyersId}/creatives/{creativesId}", + "httpMethod": "GET", + "id": "realtimebidding.buyers.creatives.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the creative to retrieve. See\ncreative.name.", + "location": "path", + "pattern": "^buyers/[^/]+/creatives/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Controls the amount of information included in the response.\nBy default only\ncreativeServingDecision\nis included. To retrieve the entire creative\nresource (including the declared\nfields and the creative content) specify the view as \"FULL\".", + "enum": [ + "CREATIVE_VIEW_UNSPECIFIED", + "SERVING_DECISION_ONLY", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "list": { + "description": "Lists creatives.", + "flatPath": "v1/buyers/{buyersId}/creatives", + "httpMethod": "GET", + "id": "realtimebidding.buyers.creatives.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Query string to filter creatives. If no filter is specified,\nall active creatives will be returned.\n\nExample: 'accountId=12345 AND (dealsStatus:DISAPPROVED AND\ndisapprovalReason:UNACCEPTABLE_CONTENT) OR\ndeclaredAttributes:IS_COOKIE_TARGETED'", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server may return fewer creatives than requested\n(due to timeout constraint) even if more are available via another call.\nIf unspecified, server will pick an appropriate default.\nAcceptable values are 1 to 1000, inclusive.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativesResponse.nextPageToken\nreturned from the previous call to the 'ListCreatives' method.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the parent buyer that owns the creatives.\n\nThe pattern for this resource is either `buyers/{buyerAccountId}` or\n`bidders/{bidderAccountId}`.\n\nFor `buyers/{buyerAccountId}`, the `buyerAccountId` can be one of the\nfollowing:\n1. The ID of the buyer that is accessing their own creatives.\n2. The ID of the child seat buyer under a bidder account.\n So for listing creatives pertaining to the child seat buyer (`456`)\n under bidder account (`123`), you would use the pattern: `buyers/456`.\n3. The ID of the bidder itself.\n So for listing creatives pertaining to bidder (`123`),\n you would use `buyers/123`.\n\nIf you want to access all creatives pertaining to both the bidder and all\nof its child seat accounts, you would use `bidders/{bidderAccountId}`,\ne.g., for all creatives pertaining to bidder (`123`), use `bidders/123`.", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Controls the amount of information included in the response.\nBy default only\ncreativeServingDecision\nis included. To retrieve the entire creative\nresource (including the declared\nfields and the creative content) specify the view as \"FULL\".", + "enum": [ + "CREATIVE_VIEW_UNSPECIFIED", + "SERVING_DECISION_ONLY", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/creatives", + "response": { + "$ref": "ListCreativesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "patch": { + "description": "Updates a creative.", + "flatPath": "v1/buyers/{buyersId}/creatives/{creativesId}", + "httpMethod": "PATCH", + "id": "realtimebidding.buyers.creatives.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the creative to update. See\ncreative.name.", + "location": "path", + "pattern": "^buyers/[^/]+/creatives/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Field mask to use for partial in-place updates.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + } + } + }, + "userLists": { + "methods": { + "close": { + "description": "Change the status of a user list to CLOSED. This prevents new users from\nbeing added to the user list.", + "flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:close", + "httpMethod": "POST", + "id": "realtimebidding.buyers.userLists.close", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the user list to close.\nSee UserList.name", + "location": "path", + "pattern": "^buyers/[^/]+/userLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:close", + "request": { + "$ref": "CloseUserListRequest" + }, + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "create": { + "description": "Create a new user list.", + "flatPath": "v1/buyers/{buyersId}/userLists", + "httpMethod": "POST", + "id": "realtimebidding.buyers.userLists.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the parent buyer of the user list to be retrieved that\nmust follow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}`\nrepresents the account ID of the buyer who owns user lists. For a bidder\naccessing user lists on behalf of a child seat buyer , `{buyerAccountId}`\nshould represent the account ID of the child seat buyer.", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userLists", + "request": { + "$ref": "UserList" + }, + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "get": { + "description": "Gets a user list by its name.", + "flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}", + "httpMethod": "GET", + "id": "realtimebidding.buyers.userLists.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the user list to be retrieved. See\nUserList.name.", + "location": "path", + "pattern": "^buyers/[^/]+/userLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "getRemarketingTag": { + "description": "Gets remarketing tag for a buyer. A remarketing tag is a piece of\nJavaScript code that can be placed on a web page. When a user\nvisits a page containing a remarketing tag, Google adds the user to a user\nlist.", + "flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:getRemarketingTag", + "httpMethod": "GET", + "id": "realtimebidding.buyers.userLists.getRemarketingTag", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. To fetch remarketing tag for an account, name must follow the pattern\n`buyers/{accountId}` where `{accountId}`\nrepresents ID of a buyer that owns the remarketing tag. For a\nbidder accessing remarketing tag on behalf of a child seat buyer,\n`{accountId}` should represent the ID of the child seat buyer.\nTo fetch remarketing tag for a specific user list, name\nmust follow the pattern\n`buyers/{accountId}/userLists/{userListId}`. See\nUserList.name.", + "location": "path", + "pattern": "^buyers/[^/]+/userLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:getRemarketingTag", + "response": { + "$ref": "GetRemarketingTagResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "list": { + "description": "Lists the user lists visible to the current user.", + "flatPath": "v1/buyers/{buyersId}/userLists", + "httpMethod": "GET", + "id": "realtimebidding.buyers.userLists.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The number of results to return per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Continuation page token (as received from a previous response).", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the parent buyer for the user lists to be returned that must\nfollow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}`\nrepresents the account ID of the buyer who owns user lists. For a bidder\naccessing user lists on behalf of a child seat buyer , `{buyerAccountId}`\nshould represent the account ID of the child seat buyer.", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userLists", + "response": { + "$ref": "ListUserListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "open": { + "description": "Change the status of a user list to OPEN. This allows new users to be added\nto the user list.", + "flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:open", + "httpMethod": "POST", + "id": "realtimebidding.buyers.userLists.open", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the user list to open.\nSee UserList.name", + "location": "path", + "pattern": "^buyers/[^/]+/userLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:open", + "request": { + "$ref": "OpenUserListRequest" + }, + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "update": { + "description": "Update the given user list. Only user lists with URLRestrictions can be\nupdated.", + "flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}", + "httpMethod": "PUT", + "id": "realtimebidding.buyers.userLists.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Name of the user list that must follow the pattern\n`buyers/{buyer}/userLists/{user_list}`, where `{buyer}` represents\nthe account ID of the buyer who owns the user list. For a bidder accessing\nuser lists on behalf of a child seat buyer, `{buyer}` represents\nthe account ID of the child seat buyer. `{user_list}` is an int64\nidentifier assigned by Google to uniquely identify a user list.", + "location": "path", + "pattern": "^buyers/[^/]+/userLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "UserList" + }, + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer", + "https://www.googleapis.com/auth/realtime-bidding" + ] + } + } + } + } + } + }, + "revision": "20200709", + "rootUrl": "https://realtimebidding.googleapis.com/", + "schemas": { + "AdTechnologyProviders": { + "description": "Detected ad technology provider information.", + "id": "AdTechnologyProviders", + "properties": { + "detectedProviderIds": { + "description": "The detected ad technology provider IDs for this creative.\nSee https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for\nmapping of provider ID to provided name, a privacy policy URL, and a list\nof domains which can be attributed to the provider.\n\nIf the creative contains provider IDs that are outside of those listed in\nthe `BidRequest.adslot.consented_providers_settings.consented_providers`\nfield on the [Google bid\nprotocol](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto)\nand the\n`BidRequest.user.ext.consented_providers_settings.consented_providers`\nfield on the [OpenRTB\nprotocol](https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto),\nand a bid is submitted with that creative for an impression\nthat will serve to an EEA user, the bid will be filtered before the\nauction.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "hasUnidentifiedProvider": { + "description": "Whether the creative contains an unidentified ad technology provider.\n\nIf true for a given creative, any bid submitted with that creative for an\nimpression that will serve to an EEA user will be filtered before the\nauction.", + "type": "boolean" + } + }, + "type": "object" + }, + "AdvertiserAndBrand": { + "description": "Detected advertiser and brand information.", + "id": "AdvertiserAndBrand", + "properties": { + "advertiserId": { + "description": "See https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt\nfor the list of possible values.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "format": "int64", + "type": "string" + }, + "advertiserName": { + "description": "Advertiser name.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "string" + }, + "brandId": { + "description": "Detected brand ID or zero if no brand has been detected.\nSee https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt for\nthe list of possible values.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "format": "int64", + "type": "string" + }, + "brandName": { + "description": "Brand name.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "string" + } + }, + "type": "object" + }, + "CloseUserListRequest": { + "description": "A request to close a specified user list.", + "id": "CloseUserListRequest", + "properties": {}, + "type": "object" + }, + "Creative": { + "description": "A creative and its classification data.", + "id": "Creative", + "properties": { + "accountId": { + "description": "Output only. ID of the buyer account that this creative is owned by.\nCan be used to filter the response of the\ncreatives.list\nmethod with equality and inequality check.", + "format": "int64", + "type": "string" + }, + "adChoicesDestinationUrl": { + "description": "The link to AdChoices destination page. This is only supported for native\nads.", + "type": "string" + }, + "advertiserName": { + "description": "The name of the company being advertised in the creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "string" + }, + "agencyId": { + "description": "The agency ID for this creative.", + "format": "int64", + "type": "string" + }, + "apiUpdateTime": { + "description": "Output only. The last update timestamp of the creative via API.", + "format": "google-datetime", + "type": "string" + }, + "creativeFormat": { + "description": "Output only. The format of this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "enum": [ + "CREATIVE_FORMAT_UNSPECIFIED", + "HTML", + "VIDEO", + "NATIVE" + ], + "enumDescriptions": [ + "The format is unknown.", + "HTML creative.", + "Video creative.", + "Native creative." + ], + "type": "string" + }, + "creativeId": { + "description": "Buyer-specific creative ID that references this creative in bid responses.\nThis field is Ignored in update operations. Can be used to filter the\nresponse of the\ncreatives.list\nmethod.\nThe maximum length of the creative ID is 128 bytes.", + "type": "string" + }, + "creativeServingDecision": { + "$ref": "CreativeServingDecision", + "description": "Output only. Top level status and detected attributes of a creative (for example domain,\nlanguage, advertiser, product category, etc.) that affect whether (status)\nand where (context) a creative will be allowed to serve." + }, + "dealIds": { + "description": "Output only. IDs of all of the deals with which this creative has been used\nin bidding.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "items": { + "type": "string" + }, + "type": "array" + }, + "declaredAttributes": { + "description": "All declared attributes for the ads that may be shown from this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.\n\nIf the `excluded_attribute` field of a [bid\nrequest](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto\")\ncontains one of the attributes that were declared or detected for a given\ncreative, and a bid is submitted with that creative, the bid will be\nfiltered before the auction.", + "enumDescriptions": [ + "Do not use. This is a placeholder value only.", + "The creative is of type image/rich media. For pretargeting.", + "The creative is of video type Adobe Flash FLV. For pretargeting.", + "The creative is tagged.", + "The creative is cookie targeted.", + "The creative is user interest targeted.", + "The creative does not expand.", + "The creative expands up.", + "The creative expands down.", + "The creative expands left.", + "The creative expands right.", + "The creative expands up and left.", + "The creative expands up and right.", + "The creative expands down and left.", + "The creative expands down and right.", + "The creative type is HTML.", + "The creative type is VAST video.", + "The creative expands up or down.", + "The creative expands left or right.", + "The creative expands on any diagonal.", + "The creative expands when rolled over.", + "The instream vast video type is vpaid flash.", + "The creative is MRAID.", + "The creative is Flash.", + "The creative is HTML5.", + "The creative has an instream VAST video type of skippable instream video.\nFor pretargeting.", + "The creative is SSL.", + "The creative is non-SSL.", + "The creative is an interstitial.", + "The creative has an instream VAST video type of non-skippable instream\nvideo. For pretargeting.", + "The creative is eligible for native.", + "The creative has an instream VAST video type of non-VPAID. For\npretargeting.", + "The creative is not eligible for native.", + "The creative has an interstitial size of any interstitial. For\npretargeting.", + "The creative has an interstitial size of non interstitial. For\npretargeting.", + "The video type is in-banner video.", + "The creative can dynamically resize to fill a variety of slot sizes.", + "The open measurement SDK is supported." + ], + "items": { + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "IMAGE_RICH_MEDIA", + "ADOBE_FLASH_FLV", + "IS_TAGGED", + "IS_COOKIE_TARGETED", + "IS_USER_INTEREST_TARGETED", + "EXPANDING_DIRECTION_NONE", + "EXPANDING_DIRECTION_UP", + "EXPANDING_DIRECTION_DOWN", + "EXPANDING_DIRECTION_LEFT", + "EXPANDING_DIRECTION_RIGHT", + "EXPANDING_DIRECTION_UP_LEFT", + "EXPANDING_DIRECTION_UP_RIGHT", + "EXPANDING_DIRECTION_DOWN_LEFT", + "EXPANDING_DIRECTION_DOWN_RIGHT", + "CREATIVE_TYPE_HTML", + "CREATIVE_TYPE_VAST_VIDEO", + "EXPANDING_DIRECTION_UP_OR_DOWN", + "EXPANDING_DIRECTION_LEFT_OR_RIGHT", + "EXPANDING_DIRECTION_ANY_DIAGONAL", + "EXPANDING_ACTION_ROLLOVER_TO_EXPAND", + "INSTREAM_VAST_VIDEO_TYPE_VPAID_FLASH", + "RICH_MEDIA_CAPABILITY_TYPE_MRAID", + "RICH_MEDIA_CAPABILITY_TYPE_FLASH", + "RICH_MEDIA_CAPABILITY_TYPE_HTML5", + "SKIPPABLE_INSTREAM_VIDEO", + "RICH_MEDIA_CAPABILITY_TYPE_SSL", + "RICH_MEDIA_CAPABILITY_TYPE_NON_SSL", + "RICH_MEDIA_CAPABILITY_TYPE_INTERSTITIAL", + "NON_SKIPPABLE_INSTREAM_VIDEO", + "NATIVE_ELIGIBILITY_ELIGIBLE", + "NON_VPAID", + "NATIVE_ELIGIBILITY_NOT_ELIGIBLE", + "ANY_INTERSTITIAL", + "NON_INTERSTITIAL", + "IN_BANNER_VIDEO", + "RENDERING_SIZELESS_ADX", + "OMSDK_1_0" + ], + "type": "string" + }, + "type": "array" + }, + "declaredClickThroughUrls": { + "description": "The set of declared destination URLs for the creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "items": { + "type": "string" + }, + "type": "array" + }, + "declaredRestrictedCategories": { + "description": "All declared restricted categories for the ads that may be shown from this\ncreative. Can be used to filter the response of the\ncreatives.list\nmethod.", + "enumDescriptions": [ + "Default value that should never be used.", + "The alcohol restricted category." + ], + "items": { + "enum": [ + "RESTRICTED_CATEGORY_UNSPECIFIED", + "ALCOHOL" + ], + "type": "string" + }, + "type": "array" + }, + "declaredVendorIds": { + "description": "IDs for the declared ad technology vendors that may be used by this\ncreative. See\nhttps://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for\npossible values.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "html": { + "$ref": "HtmlContent", + "description": "An HTML creative." + }, + "impressionTrackingUrls": { + "description": "The set of URLs to be called to record an impression.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Output only. Name of the creative.\nFollows the pattern `buyers/{buyer}/creatives/{creative}`, where\n`{buyer}` represents the account ID of the buyer who owns the creative,\nand `{creative}` is the buyer-specific creative ID that references this\ncreative in the bid response.", + "type": "string" + }, + "native": { + "$ref": "NativeContent", + "description": "A native creative." + }, + "restrictedCategories": { + "description": "All restricted categories for the ads that may be shown from this creative.", + "enumDescriptions": [ + "Default value that should never be used.", + "The alcohol restricted category." + ], + "items": { + "enum": [ + "RESTRICTED_CATEGORY_UNSPECIFIED", + "ALCOHOL" + ], + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "Output only. The version of this creative.\nVersion for a new creative is 1 and it increments during subsequent\ncreative updates.", + "format": "int32", + "type": "integer" + }, + "video": { + "$ref": "VideoContent", + "description": "A video creative." + } + }, + "type": "object" + }, + "CreativeServingDecision": { + "description": "Top level status and detected attributes of a creative.", + "id": "CreativeServingDecision", + "properties": { + "adTechnologyProviders": { + "$ref": "AdTechnologyProviders", + "description": "The detected ad technology providers." + }, + "chinaServingStatus": { + "$ref": "ServingStatus", + "description": "The serving status of this creative in China.\nWhen approved or disapproved, this status applies to both deals and open\nauction in China. When pending review, this creative is allowed to serve\nfor deals but not for open auction." + }, + "dealsServingStatus": { + "$ref": "ServingStatus", + "description": "Status of this creative when bidding on PG and PD deals (outside of\nRussia and China)." + }, + "detectedAdvertisers": { + "description": "Detected advertisers and brands.", + "items": { + "$ref": "AdvertiserAndBrand" + }, + "type": "array" + }, + "detectedAttributes": { + "description": "Publisher-excludable attributes that were detected for this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.\n\nIf the `excluded_attribute` field of a [bid\nrequest](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto)\ncontains one of the attributes that were declared or detected for a given\ncreative, and a bid is submitted with that creative, the bid will be\nfiltered before the auction.", + "enumDescriptions": [ + "Do not use. This is a placeholder value only.", + "The creative is of type image/rich media. For pretargeting.", + "The creative is of video type Adobe Flash FLV. For pretargeting.", + "The creative is tagged.", + "The creative is cookie targeted.", + "The creative is user interest targeted.", + "The creative does not expand.", + "The creative expands up.", + "The creative expands down.", + "The creative expands left.", + "The creative expands right.", + "The creative expands up and left.", + "The creative expands up and right.", + "The creative expands down and left.", + "The creative expands down and right.", + "The creative type is HTML.", + "The creative type is VAST video.", + "The creative expands up or down.", + "The creative expands left or right.", + "The creative expands on any diagonal.", + "The creative expands when rolled over.", + "The instream vast video type is vpaid flash.", + "The creative is MRAID.", + "The creative is Flash.", + "The creative is HTML5.", + "The creative has an instream VAST video type of skippable instream video.\nFor pretargeting.", + "The creative is SSL.", + "The creative is non-SSL.", + "The creative is an interstitial.", + "The creative has an instream VAST video type of non-skippable instream\nvideo. For pretargeting.", + "The creative is eligible for native.", + "The creative has an instream VAST video type of non-VPAID. For\npretargeting.", + "The creative is not eligible for native.", + "The creative has an interstitial size of any interstitial. For\npretargeting.", + "The creative has an interstitial size of non interstitial. For\npretargeting.", + "The video type is in-banner video.", + "The creative can dynamically resize to fill a variety of slot sizes.", + "The open measurement SDK is supported." + ], + "items": { + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "IMAGE_RICH_MEDIA", + "ADOBE_FLASH_FLV", + "IS_TAGGED", + "IS_COOKIE_TARGETED", + "IS_USER_INTEREST_TARGETED", + "EXPANDING_DIRECTION_NONE", + "EXPANDING_DIRECTION_UP", + "EXPANDING_DIRECTION_DOWN", + "EXPANDING_DIRECTION_LEFT", + "EXPANDING_DIRECTION_RIGHT", + "EXPANDING_DIRECTION_UP_LEFT", + "EXPANDING_DIRECTION_UP_RIGHT", + "EXPANDING_DIRECTION_DOWN_LEFT", + "EXPANDING_DIRECTION_DOWN_RIGHT", + "CREATIVE_TYPE_HTML", + "CREATIVE_TYPE_VAST_VIDEO", + "EXPANDING_DIRECTION_UP_OR_DOWN", + "EXPANDING_DIRECTION_LEFT_OR_RIGHT", + "EXPANDING_DIRECTION_ANY_DIAGONAL", + "EXPANDING_ACTION_ROLLOVER_TO_EXPAND", + "INSTREAM_VAST_VIDEO_TYPE_VPAID_FLASH", + "RICH_MEDIA_CAPABILITY_TYPE_MRAID", + "RICH_MEDIA_CAPABILITY_TYPE_FLASH", + "RICH_MEDIA_CAPABILITY_TYPE_HTML5", + "SKIPPABLE_INSTREAM_VIDEO", + "RICH_MEDIA_CAPABILITY_TYPE_SSL", + "RICH_MEDIA_CAPABILITY_TYPE_NON_SSL", + "RICH_MEDIA_CAPABILITY_TYPE_INTERSTITIAL", + "NON_SKIPPABLE_INSTREAM_VIDEO", + "NATIVE_ELIGIBILITY_ELIGIBLE", + "NON_VPAID", + "NATIVE_ELIGIBILITY_NOT_ELIGIBLE", + "ANY_INTERSTITIAL", + "NON_INTERSTITIAL", + "IN_BANNER_VIDEO", + "RENDERING_SIZELESS_ADX", + "OMSDK_1_0" + ], + "type": "string" + }, + "type": "array" + }, + "detectedClickThroughUrls": { + "description": "The set of detected destination URLs for the creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "items": { + "type": "string" + }, + "type": "array" + }, + "detectedDomains": { + "description": "The detected domains for this creative.", + "items": { + "type": "string" + }, + "type": "array" + }, + "detectedLanguages": { + "description": "The detected languages for this creative. The order is\narbitrary. The codes are 2 or 5 characters and are documented at\nhttps://developers.google.com/adwords/api/docs/appendix/languagecodes.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "items": { + "type": "string" + }, + "type": "array" + }, + "detectedProductCategories": { + "description": "Detected product categories, if any.\nSee the ad-product-categories.txt file in the technical documentation\nfor a list of IDs.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "detectedSensitiveCategories": { + "description": "Detected sensitive categories, if any.\nCan be used to filter the response of the\ncreatives.list\nmethod.\n\nSee the ad-sensitive-categories.txt file in the technical documentation\nfor a list of IDs. You should use these IDs along with the\nexcluded-sensitive-category field in the bid request to filter your bids.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "detectedVendorIds": { + "description": "IDs of the ad technology vendors that were detected to be\nused by this creative. See\nhttps://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for\npossible values.\nCan be used to filter the response of the\ncreatives.list\nmethod.\n\nIf the `allowed_vendor_type` field of a [bid\nrequest](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto)\ndoes not contain one of the vendor type IDs that were declared or\ndetected for a given creative, and a bid is submitted with that creative,\nthe bid will be filtered before the auction.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "lastStatusUpdate": { + "description": "The last time the creative status was updated.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "format": "google-datetime", + "type": "string" + }, + "openAuctionServingStatus": { + "$ref": "ServingStatus", + "description": "Status of this creative when bidding in open auction, private auction, or\nauction packages (outside of Russia and China)." + }, + "russiaServingStatus": { + "$ref": "ServingStatus", + "description": "The serving status of this creative in Russia.\nWhen approved or disapproved, this status applies to both deals and open\nauction in Russia. When pending review, this creative is allowed to serve\nfor deals but not for open auction." + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day\nand time zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. This can represent:\n\n* A full date, with non-zero year, month and day values\n* A month and day value, with a zero year, e.g. an anniversary\n* A year on its own, with zero month and day values\n* A year and month value, with a zero day, e.g. a credit card expiration date\n\nRelated types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "id": "Date", + "properties": { + "day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DestinationNotCrawlableEvidence": { + "description": "Evidence that the creative's destination URL was not crawlable by Google.", + "id": "DestinationNotCrawlableEvidence", + "properties": { + "crawlTime": { + "description": "Approximate time of the crawl.", + "format": "google-datetime", + "type": "string" + }, + "crawledUrl": { + "description": "Destination URL that was attempted to be crawled.", + "type": "string" + }, + "reason": { + "description": "Reason of destination not crawlable.", + "enum": [ + "REASON_UNSPECIFIED", + "UNREACHABLE_ROBOTS", + "TIMEOUT_ROBOTS", + "ROBOTED_DENIED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "Site's robots exclusion file (e.g., robots.txt) was unreachable.", + "Timed out reading site's robots exclusion file (e.g., robots.txt).", + "Crawler was disallowed by the site's robots exclusion file (e.g.,\nrobots.txt).", + "Unknown reason." + ], + "type": "string" + } + }, + "type": "object" + }, + "DestinationNotWorkingEvidence": { + "description": "Evidence of the creative's destination URL not functioning properly or\nhaving been incorrectly set up.", + "id": "DestinationNotWorkingEvidence", + "properties": { + "dnsError": { + "description": "DNS lookup errors.", + "enum": [ + "DNS_ERROR_UNSPECIFIED", + "ERROR_DNS", + "GOOGLE_CRAWLER_DNS_ISSUE" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "DNS name was not found.", + "An internal issue occurred when Google's crawler tried to resolve the\nDNS entry. This is a Google-internal issue and may not be the result\nof an issue with the landing page." + ], + "type": "string" + }, + "expandedUrl": { + "description": "The full non-working URL.", + "type": "string" + }, + "httpError": { + "description": "HTTP error code (e.g. 404 or 5xx)", + "format": "int32", + "type": "integer" + }, + "invalidPage": { + "description": "Page was crawled successfully, but was detected as either a page with\nno content or an error page.", + "enum": [ + "INVALID_PAGE_UNSPECIFIED", + "EMPTY_OR_ERROR_PAGE" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "Page was empty or had an error." + ], + "type": "string" + }, + "lastCheckTime": { + "description": "Approximate time when the ad destination was last checked.", + "format": "google-datetime", + "type": "string" + }, + "platform": { + "description": "Platform of the non-working URL.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "PERSONAL_COMPUTER", + "ANDROID", + "IOS" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "The personal computer platform.", + "The Android platform.", + "The iOS platform." + ], + "type": "string" + }, + "redirectionError": { + "description": "HTTP redirect chain error.", + "enum": [ + "REDIRECTION_ERROR_UNSPECIFIED", + "TOO_MANY_REDIRECTS", + "INVALID_REDIRECT", + "EMPTY_REDIRECT" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "Too many redirect hops.", + "Got a redirect but it was invalid.", + "Got a redirect but it was empty." + ], + "type": "string" + }, + "urlRejected": { + "description": "Rejected because of malformed URLs or invalid requests.", + "enum": [ + "URL_REJECTED_UNSPECIFIED", + "BAD_REQUEST", + "MALFORMED_URL" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "URL rejected because of a malformed request.", + "URL rejected because of a malformed URL." + ], + "type": "string" + } + }, + "type": "object" + }, + "DestinationUrlEvidence": { + "description": "The full landing page URL of the destination.", + "id": "DestinationUrlEvidence", + "properties": { + "destinationUrl": { + "description": "The full landing page URL of the destination.", + "type": "string" + } + }, + "type": "object" + }, + "DomainCallEvidence": { + "description": "Number of HTTP calls made by a creative, broken down by domain.", + "id": "DomainCallEvidence", + "properties": { + "topHttpCallDomains": { + "description": "Breakdown of the most frequent domains called via HTTP by the creative.", + "items": { + "$ref": "DomainCalls" + }, + "type": "array" + }, + "totalHttpCallCount": { + "description": "The total number of HTTP calls made by the creative, including but not\nlimited to the number of calls in the top_http_call_domains.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DomainCalls": { + "description": "The number of HTTP calls made to the given domain.", + "id": "DomainCalls", + "properties": { + "domain": { + "description": "The domain name.", + "type": "string" + }, + "httpCallCount": { + "description": "Number of HTTP calls made to the domain.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DownloadSizeEvidence": { + "description": "Total download size and URL-level download size breakdown for resources in\na creative.", + "id": "DownloadSizeEvidence", + "properties": { + "topUrlDownloadSizeBreakdowns": { + "description": "Download size broken down by URLs with the top download size.", + "items": { + "$ref": "UrlDownloadSize" + }, + "type": "array" + }, + "totalDownloadSizeKb": { + "description": "Total download size (in kilobytes) for all the resources in the creative.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GetRemarketingTagResponse": { + "description": "Response for a request to get remarketing tag.", + "id": "GetRemarketingTagResponse", + "properties": { + "snippet": { + "description": "A HTML tag that can be placed on the advertiser's page to add users to a\nuser list. For more information and code samples on using snippet on your\nwebsite refer to [Tag your site for remarketing](\nhttps://support.google.com/google-ads/answer/2476688).", + "type": "string" + } + }, + "type": "object" + }, + "HtmlContent": { + "description": "HTML content for a creative.", + "id": "HtmlContent", + "properties": { + "height": { + "description": "The height of the HTML snippet in pixels.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "format": "int32", + "type": "integer" + }, + "snippet": { + "description": "The HTML snippet that displays the ad when inserted in the web page.", + "type": "string" + }, + "width": { + "description": "The width of the HTML snippet in pixels.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "HttpCallEvidence": { + "description": "HTTP calls made by a creative that resulted in policy violations.", + "id": "HttpCallEvidence", + "properties": { + "urls": { + "description": "URLs of HTTP calls made by the creative.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "HttpCookieEvidence": { + "description": "Evidence for HTTP cookie-related policy violations.", + "id": "HttpCookieEvidence", + "properties": { + "cookieNames": { + "description": "Names of cookies that violate Google policies.\nFor TOO_MANY_COOKIES policy, this will be the cookie names of top domains\nwith the largest number of cookies. For other policies, this will be all\nthe cookie names that violate the policy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxCookieCount": { + "description": "The largest number of cookies set by a creative. If this field is set,\ncookie_names above will be set to the cookie names of top domains with\nthe largest number of cookies.\nThis field will only be set for TOO_MANY_COOKIES policy.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Image": { + "description": "An image resource. You may provide a larger image than was requested,\nso long as the aspect ratio is preserved.", + "id": "Image", + "properties": { + "height": { + "description": "Image height in pixels.", + "format": "int32", + "type": "integer" + }, + "url": { + "description": "The URL of the image.", + "type": "string" + }, + "width": { + "description": "Image width in pixels.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ListCreativesResponse": { + "description": "A response for listing creatives.", + "id": "ListCreativesResponse", + "properties": { + "creatives": { + "description": "The list of creatives.", + "items": { + "$ref": "Creative" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\nListCreativesRequest.pageToken\nfield in the subsequent call to the `ListCreatives` method to retrieve the\nnext page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListUserListsResponse": { + "description": "The list user list response.", + "id": "ListUserListsResponse", + "properties": { + "nextPageToken": { + "description": "The continuation page token to send back to the server in a subsequent\nrequest.\nDue to a currently known issue, it is recommended that the caller keep\ninvoking the list method till the time a next page token is not returned\n(even if the result set is empty).", + "type": "string" + }, + "userLists": { + "description": "List of user lists from the search.", + "items": { + "$ref": "UserList" + }, + "type": "array" + } + }, + "type": "object" + }, + "MediaFile": { + "description": "Information about each media file in the VAST.", + "id": "MediaFile", + "properties": { + "bitrate": { + "description": "Bitrate of the video file, in Kbps.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "format": "int64", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of this media file.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "enum": [ + "VIDEO_MIME_TYPE_UNSPECIFIED", + "MIME_VIDEO_XFLV", + "MIME_VIDEO_WEBM", + "MIME_VIDEO_MP4", + "MIME_VIDEO_OGG", + "MIME_VIDEO_YT_HOSTED", + "MIME_VIDEO_X_MS_WMV", + "MIME_VIDEO_3GPP", + "MIME_VIDEO_MOV", + "MIME_APPLICATION_SWF", + "MIME_APPLICATION_SURVEY", + "MIME_APPLICATION_JAVASCRIPT", + "MIME_APPLICATION_SILVERLIGHT", + "MIME_APPLICATION_MPEGURL", + "MIME_APPLICATION_MPEGDASH", + "MIME_AUDIO_MP4A", + "MIME_AUDIO_MP3", + "MIME_AUDIO_OGG" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "Flash container.", + "WebM container assuming VP9 codec.", + "MPEG-4 container typically with H.264 codec.", + "Ogg container assuming Theora codec.", + "Video files hosted on YouTube.", + "Windows Media Video Codec.", + "3GPP container format used on 3G phones.", + "Quicktime container format.", + "Shockwave Flash (used for VPAID ads).", + "Properties of VAST served by consumer survey.", + "JavaScript (used for VPAID ads).", + "Silverlight (used for VPAID ads).", + "HLS/M3U8.", + "DASH.", + "MPEG-4 audio format.", + "MPEG-3 audio format.", + "Ogg audio format" + ], + "type": "string" + } + }, + "type": "object" + }, + "NativeContent": { + "description": "Native content for a creative.", + "id": "NativeContent", + "properties": { + "advertiserName": { + "description": "The name of the advertiser or sponsor, to be displayed in the ad creative.", + "type": "string" + }, + "appIcon": { + "$ref": "Image", + "description": "The app icon, for app download ads." + }, + "body": { + "description": "A long description of the ad.", + "type": "string" + }, + "callToAction": { + "description": "A label for the button that the user is supposed to click.", + "type": "string" + }, + "clickLinkUrl": { + "description": "The URL that the browser/SDK will load when the user clicks the ad.", + "type": "string" + }, + "clickTrackingUrl": { + "description": "The URL to use for click tracking.", + "type": "string" + }, + "headline": { + "description": "A short title for the ad.", + "type": "string" + }, + "image": { + "$ref": "Image", + "description": "A large image." + }, + "logo": { + "$ref": "Image", + "description": "A smaller image, for the advertiser's logo." + }, + "priceDisplayText": { + "description": "The price of the promoted app including currency info.", + "type": "string" + }, + "starRating": { + "description": "The app rating in the app store. Must be in the range [0-5].", + "format": "double", + "type": "number" + }, + "videoUrl": { + "description": "The URL to fetch a native video ad.", + "type": "string" + } + }, + "type": "object" + }, + "OpenUserListRequest": { + "description": "A request to open a specified user list.", + "id": "OpenUserListRequest", + "properties": {}, + "type": "object" + }, + "PolicyTopicEntry": { + "description": "Each policy topic entry will represent a violation of a policy topic for a\ncreative, with the policy topic information and optional evidence for the\npolicy violation.", + "id": "PolicyTopicEntry", + "properties": { + "evidences": { + "description": "Pieces of evidence associated with this policy topic entry.", + "items": { + "$ref": "PolicyTopicEvidence" + }, + "type": "array" + }, + "helpCenterUrl": { + "description": "URL of the help center article describing this policy topic.", + "type": "string" + }, + "policyTopic": { + "description": "Policy topic this entry refers to. For example, \"ALCOHOL\",\n\"TRADEMARKS_IN_AD_TEXT\", or \"DESTINATION_NOT_WORKING\". The set of possible\npolicy topics is not fixed for a particular API version and may change at\nany time.\nCan be used to filter the response of the\ncreatives.list\nmethod", + "type": "string" + } + }, + "type": "object" + }, + "PolicyTopicEvidence": { + "description": "Evidence associated with a policy topic entry.", + "id": "PolicyTopicEvidence", + "properties": { + "destinationNotCrawlable": { + "$ref": "DestinationNotCrawlableEvidence", + "description": "The creative's destination URL was not crawlable by Google." + }, + "destinationNotWorking": { + "$ref": "DestinationNotWorkingEvidence", + "description": "The creative's destination URL did not function properly or was\nincorrectly set up." + }, + "destinationUrl": { + "$ref": "DestinationUrlEvidence", + "description": "URL of the actual landing page." + }, + "domainCall": { + "$ref": "DomainCallEvidence", + "description": "Number of HTTP calls made by the creative, broken down by domain." + }, + "downloadSize": { + "$ref": "DownloadSizeEvidence", + "description": "Total download size and URL-level download size breakdown for resources\nin a creative." + }, + "httpCall": { + "$ref": "HttpCallEvidence", + "description": "HTTP calls made by the creative that resulted in policy violations." + }, + "httpCookie": { + "$ref": "HttpCookieEvidence", + "description": "Evidence for HTTP cookie-related policy violations." + } + }, + "type": "object" + }, + "ServingStatus": { + "description": "Serving status of the creative for a transaction type or a region.", + "id": "ServingStatus", + "properties": { + "status": { + "description": "Serving status for the given transaction type (e.g., open auction,\ndeals) or region (e.g., China, Russia).\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "enum": [ + "STATUS_UNSPECIFIED", + "PENDING_REVIEW", + "DISAPPROVED", + "APPROVED" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "Creative is pending review.", + "Creative cannot serve.", + "Creative is approved." + ], + "type": "string" + }, + "topics": { + "description": "Policy topics related to the serving decision for this transaction type\n(e.g., open auction, deals) or region (e.g., China, Russia).\nTopics may be present only if status is DISAPPROVED.", + "items": { + "$ref": "PolicyTopicEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "UrlDownloadSize": { + "description": "The URL-level breakdown for the download size.", + "id": "UrlDownloadSize", + "properties": { + "downloadSizeKb": { + "description": "Download size of the URL in kilobytes.", + "format": "int32", + "type": "integer" + }, + "normalizedUrl": { + "description": "The normalized URL with query parameters and fragment removed.", + "type": "string" + } + }, + "type": "object" + }, + "UrlRestriction": { + "description": "Represents the URL restriction (for the URL captured by the pixel callback)\nfor a user list.", + "id": "UrlRestriction", + "properties": { + "endDate": { + "$ref": "Date", + "description": "End date (if specified) of the URL restriction.\nEnd date should be later than the start date for the date range to be\nvalid." + }, + "restrictionType": { + "description": "The restriction type for the specified URL.", + "enum": [ + "RESTRICTION_TYPE_UNSPECIFIED", + "CONTAINS", + "EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "DOES_NOT_EQUAL", + "DOES_NOT_CONTAIN", + "DOES_NOT_START_WITH", + "DOES_NOT_END_WITH" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "The tag URL (as recorded by the pixel callback) contains the specified\nURL.", + "The tag URL (as recorded by the pixel callback) exactly matches the\nspecified URL.", + "The tag URL (as recorded by the pixel callback) starts with the specified\nURL.", + "The tag URL (as recorded by the pixel callback) ends with the specified\nURL.", + "The tag URL (as recorded by the pixel callback) does not equal the\nspecified URL.", + "The tag URL (as recorded by the pixel callback) does not contain the\nspecified URL.", + "The tag URL (as recorded by the pixel callback) does not start with the\nspecified URL.", + "The tag URL (as recorded by the pixel callback) does not end with the\nspecified URL." + ], + "type": "string" + }, + "startDate": { + "$ref": "Date", + "description": "Start date (if specified) of the URL restriction." + }, + "url": { + "description": "Required. The URL to use for applying the restriction on the user list.", + "type": "string" + } + }, + "type": "object" + }, + "UserList": { + "description": "Represents an Authorized Buyers user list. Authorized Buyers can\ncreate/update/list user lists. Once a user list is created\nin the system, Authorized Buyers can add users to the user list using\nthe bulk uploader API. Alternatively, users can be added by hosting a\ntag on the advertiser's page.", + "id": "UserList", + "properties": { + "description": { + "description": "The description for the user list.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the user list. This must be unique across all user lists\nfor a given account.", + "type": "string" + }, + "membershipDurationDays": { + "description": "Required. The number of days a user's cookie stays on the user list.\nThe field must be between 0 and 540 inclusive.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Output only. Name of the user list that must follow the pattern\n`buyers/{buyer}/userLists/{user_list}`, where `{buyer}` represents\nthe account ID of the buyer who owns the user list. For a bidder accessing\nuser lists on behalf of a child seat buyer, `{buyer}` represents\nthe account ID of the child seat buyer. `{user_list}` is an int64\nidentifier assigned by Google to uniquely identify a user list.", + "type": "string" + }, + "status": { + "description": "Output only. The status of the user list. A new user list starts out as open.", + "enum": [ + "STATUS_UNSPECIFIED", + "OPEN", + "CLOSED" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "New users can be added to the user list.", + "New users cannot be added to the user list." + ], + "type": "string" + }, + "urlRestriction": { + "$ref": "UrlRestriction", + "description": "Required. The URL restriction for the user list." + } + }, + "type": "object" + }, + "VideoContent": { + "description": "Video content for a creative.", + "id": "VideoContent", + "properties": { + "videoMetadata": { + "$ref": "VideoMetadata", + "description": "Output only. Video metadata." + }, + "videoUrl": { + "description": "The URL to fetch a video ad.", + "type": "string" + }, + "videoVastXml": { + "description": "The contents of a VAST document for a video ad.\nThis document should conform to the VAST 2.0 or 3.0 standard.", + "type": "string" + } + }, + "type": "object" + }, + "VideoMetadata": { + "description": "Video metadata for a creative.", + "id": "VideoMetadata", + "properties": { + "duration": { + "description": "The duration of the ad.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "format": "google-duration", + "type": "string" + }, + "isValidVast": { + "description": "Is this a valid VAST ad?\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "boolean" + }, + "isVpaid": { + "description": "Is this a VPAID ad?\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "boolean" + }, + "mediaFiles": { + "description": "The list of all media files declared in the VAST. If there are multiple\nVASTs in a wrapper chain, this includes the media files from the deepest\none in the chain.", + "items": { + "$ref": "MediaFile" + }, + "type": "array" + }, + "skipOffset": { + "description": "The minimum duration that the user has to watch before being able to\nskip this ad. If the field is not set, the ad is not skippable. If\nthe field is set, the ad is skippable.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "format": "google-duration", + "type": "string" + }, + "vastVersion": { + "description": "The maximum VAST version across all wrapped VAST documents.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "enum": [ + "VAST_VERSION_UNSPECIFIED", + "VAST_VERSION_1_0", + "VAST_VERSION_2_0", + "VAST_VERSION_3_0", + "VAST_VERSION_4_0" + ], + "enumDescriptions": [ + "Default value that should never be used.", + "VAST 1.0", + "VAST 2.0", + "VAST 3.0", + "VAST 4.0" + ], + "type": "string" + } + }, + "type": "object" + }, + "WatchCreativesRequest": { + "description": "A request to receive push notifications when any of the creatives belonging\nto the bidder changes status.", + "id": "WatchCreativesRequest", + "properties": {}, + "type": "object" + }, + "WatchCreativesResponse": { + "description": "A response for the request to receive push notification when a bidder's\ncreatives change status.", + "id": "WatchCreativesResponse", + "properties": { + "subscription": { + "description": "The Pub/Sub subscription that can be used to pull creative status\nnotifications. This would be of the format\n`projects/{project_id}/subscriptions/{subscription_id}`.\nSubscription is created with pull delivery. All service accounts belonging\nto the bidder will have read access to this subscription.\nSubscriptions that are inactive for more than 90 days will be disabled.\nPlease use\nwatchCreatives to\nre-enable the subscription.", + "type": "string" + }, + "topic": { + "description": "The Pub/Sub topic that will be used to publish creative serving\nstatus notifications. This would be of the format\n`projects/{project_id}/topics/{topic_id}`.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Real-time Bidding API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/recommender/v1/recommender-api.json b/etc/api/recommender/v1/recommender-api.json new file mode 100644 index 0000000000..1efa717b1a --- /dev/null +++ b/etc/api/recommender/v1/recommender-api.json @@ -0,0 +1,868 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://recommender.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Recommender", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/recommender/docs/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "recommender:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://recommender.mtls.googleapis.com/", + "name": "recommender", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "insightTypes": { + "resources": { + "insights": { + "methods": { + "get": { + "description": "Gets the requested insight. Requires the recommender.*.get IAM permission\nfor the specified insight type.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}", + "httpMethod": "GET", + "id": "recommender.projects.locations.insightTypes.insights.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the insight.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudRecommenderV1Insight" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM\npermission for the specified insight type.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", + "httpMethod": "GET", + "id": "recommender.projects.locations.insightTypes.insights.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression to restrict the insights returned. Supported\nfilter fields: state\nEg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return from this request. Non-positive\nvalues are ignored. If not specified, the server will determine the number\nof results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieves the next batch of results from the preceding call to\nthis method. `page_token` must be the value of `next_page_token` from the\nprevious response. The values of other method parameters must be identical\nto those in the previous call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The container resource on which to execute the request.\nAcceptable formats:\n\n1.\n\"projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]\",\n\nLOCATION here refers to GCP Locations:\nhttps://cloud.google.com/about/locations/", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/insights", + "response": { + "$ref": "GoogleCloudRecommenderV1ListInsightsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "markAccepted": { + "description": "Marks the Insight State as Accepted. Users can use this method to\nindicate to the Recommender API that they have applied some action based\non the insight. This stops the insight content from being updated.\n\nMarkInsightAccepted can be applied to insights in ACTIVE state. Requires\nthe recommender.*.update IAM permission for the specified insight.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights/{insightsId}:markAccepted", + "httpMethod": "POST", + "id": "recommender.projects.locations.insightTypes.insights.markAccepted", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the insight.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/insights/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:markAccepted", + "request": { + "$ref": "GoogleCloudRecommenderV1MarkInsightAcceptedRequest" + }, + "response": { + "$ref": "GoogleCloudRecommenderV1Insight" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "recommenders": { + "resources": { + "recommendations": { + "methods": { + "get": { + "description": "Gets the requested recommendation. Requires the recommender.*.get\nIAM permission for the specified recommender.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}", + "httpMethod": "GET", + "id": "recommender.projects.locations.recommenders.recommendations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the recommendation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudRecommenderV1Recommendation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list\nIAM permission for the specified recommender.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", + "httpMethod": "GET", + "id": "recommender.projects.locations.recommenders.recommendations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter expression to restrict the recommendations returned. Supported\nfilter fields: state_info.state\nEg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return from this request. Non-positive\nvalues are ignored. If not specified, the server will determine the number\nof results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieves the next batch of results from the preceding call to\nthis method. `page_token` must be the value of `next_page_token` from the\nprevious response. The values of other method parameters must be identical\nto those in the previous call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The container resource on which to execute the request.\nAcceptable formats:\n\n1.\n\"projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]\",\n\nLOCATION here refers to GCP Locations:\nhttps://cloud.google.com/about/locations/", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/recommendations", + "response": { + "$ref": "GoogleCloudRecommenderV1ListRecommendationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "markClaimed": { + "description": "Marks the Recommendation State as Claimed. Users can use this method to\nindicate to the Recommender API that they are starting to apply the\nrecommendation themselves. This stops the recommendation content from being\nupdated. Associated insights are frozen and placed in the ACCEPTED state.\n\nMarkRecommendationClaimed can be applied to recommendations in CLAIMED,\nSUCCEEDED, FAILED, or ACTIVE state.\n\nRequires the recommender.*.update IAM permission for the specified\nrecommender.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markClaimed", + "httpMethod": "POST", + "id": "recommender.projects.locations.recommenders.recommendations.markClaimed", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the recommendation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:markClaimed", + "request": { + "$ref": "GoogleCloudRecommenderV1MarkRecommendationClaimedRequest" + }, + "response": { + "$ref": "GoogleCloudRecommenderV1Recommendation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "markFailed": { + "description": "Marks the Recommendation State as Failed. Users can use this method to\nindicate to the Recommender API that they have applied the recommendation\nthemselves, and the operation failed. This stops the recommendation content\nfrom being updated. Associated insights are frozen and placed in the\nACCEPTED state.\n\nMarkRecommendationFailed can be applied to recommendations in ACTIVE,\nCLAIMED, SUCCEEDED, or FAILED state.\n\nRequires the recommender.*.update IAM permission for the specified\nrecommender.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markFailed", + "httpMethod": "POST", + "id": "recommender.projects.locations.recommenders.recommendations.markFailed", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the recommendation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:markFailed", + "request": { + "$ref": "GoogleCloudRecommenderV1MarkRecommendationFailedRequest" + }, + "response": { + "$ref": "GoogleCloudRecommenderV1Recommendation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "markSucceeded": { + "description": "Marks the Recommendation State as Succeeded. Users can use this method to\nindicate to the Recommender API that they have applied the recommendation\nthemselves, and the operation was successful. This stops the recommendation\ncontent from being updated. Associated insights are frozen and placed in\nthe ACCEPTED state.\n\nMarkRecommendationSucceeded can be applied to recommendations in ACTIVE,\nCLAIMED, SUCCEEDED, or FAILED state.\n\nRequires the recommender.*.update IAM permission for the specified\nrecommender.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations/{recommendationsId}:markSucceeded", + "httpMethod": "POST", + "id": "recommender.projects.locations.recommenders.recommendations.markSucceeded", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the recommendation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/recommendations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:markSucceeded", + "request": { + "$ref": "GoogleCloudRecommenderV1MarkRecommendationSucceededRequest" + }, + "response": { + "$ref": "GoogleCloudRecommenderV1Recommendation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200704", + "rootUrl": "https://recommender.googleapis.com/", + "schemas": { + "GoogleCloudRecommenderV1CostProjection": { + "description": "Contains metadata about how much money a recommendation can save or incur.", + "id": "GoogleCloudRecommenderV1CostProjection", + "properties": { + "cost": { + "$ref": "GoogleTypeMoney", + "description": "An approximate projection on amount saved or amount incurred. Negative cost\nunits indicate cost savings and positive cost units indicate increase.\nSee google.type.Money documentation for positive/negative units." + }, + "duration": { + "description": "Duration for which this cost applies.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1Impact": { + "description": "Contains the impact a recommendation can have for a given category.", + "id": "GoogleCloudRecommenderV1Impact", + "properties": { + "category": { + "description": "Category that is being targeted.", + "enum": [ + "CATEGORY_UNSPECIFIED", + "COST", + "SECURITY", + "PERFORMANCE", + "MANAGEABILITY" + ], + "enumDescriptions": [ + "Default unspecified category. Don't use directly.", + "Indicates a potential increase or decrease in cost.", + "Indicates a potential increase or decrease in security.", + "Indicates a potential increase or decrease in performance.", + "Indicates a potential increase or decrease in manageability." + ], + "type": "string" + }, + "costProjection": { + "$ref": "GoogleCloudRecommenderV1CostProjection", + "description": "Use with CategoryType.COST" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1Insight": { + "description": "An insight along with the information used to derive the insight. The insight\nmay have associated recomendations as well.", + "id": "GoogleCloudRecommenderV1Insight", + "properties": { + "associatedRecommendations": { + "description": "Recommendations derived from this insight.", + "items": { + "$ref": "GoogleCloudRecommenderV1InsightRecommendationReference" + }, + "type": "array" + }, + "category": { + "description": "Category being targeted by the insight.", + "enum": [ + "CATEGORY_UNSPECIFIED", + "COST", + "SECURITY", + "PERFORMANCE", + "MANAGEABILITY" + ], + "enumDescriptions": [ + "Unspecified category.", + "The insight is related to cost.", + "The insight is related to security.", + "The insight is related to performance.", + "This insight is related to manageability." + ], + "type": "string" + }, + "content": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A struct of custom fields to explain the insight.\nExample: \"grantedPermissionsCount\": \"1000\"", + "type": "object" + }, + "description": { + "description": "Free-form human readable summary in English. The maximum length is 500\ncharacters.", + "type": "string" + }, + "etag": { + "description": "Fingerprint of the Insight. Provides optimistic locking when updating\nstates.", + "type": "string" + }, + "insightSubtype": { + "description": "Insight subtype. Insight content schema will be stable for a given subtype.", + "type": "string" + }, + "lastRefreshTime": { + "description": "Timestamp of the latest data used to generate the insight.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Name of the insight.", + "type": "string" + }, + "observationPeriod": { + "description": "Observation period that led to the insight. The source data used to\ngenerate the insight ends at last_refresh_time and begins at\n(last_refresh_time - observation_period).", + "format": "google-duration", + "type": "string" + }, + "stateInfo": { + "$ref": "GoogleCloudRecommenderV1InsightStateInfo", + "description": "Information state and metadata." + }, + "targetResources": { + "description": "Fully qualified resource names that this insight is targeting.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1InsightRecommendationReference": { + "description": "Reference to an associated recommendation.", + "id": "GoogleCloudRecommenderV1InsightRecommendationReference", + "properties": { + "recommendation": { + "description": "Recommendation resource name, e.g.\nprojects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/recommendations/[RECOMMENDATION_ID]", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1InsightStateInfo": { + "description": "Information related to insight state.", + "id": "GoogleCloudRecommenderV1InsightStateInfo", + "properties": { + "state": { + "description": "Insight state.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "ACCEPTED", + "DISMISSED" + ], + "enumDescriptions": [ + "Unspecified state.", + "Insight is active. Content for ACTIVE insights can be updated by Google.\nACTIVE insights can be marked DISMISSED OR ACCEPTED.", + "Some action has been taken based on this insight. Insights become\naccepted when a recommendation derived from the insight has been marked\nCLAIMED, SUCCEEDED, or FAILED. ACTIVE insights can also be marked\nACCEPTED explicitly. Content for ACCEPTED insights is immutable. ACCEPTED\ninsights can only be marked ACCEPTED (which may update state metadata).", + "Insight is dismissed. Content for DISMISSED insights can be updated by\nGoogle. DISMISSED insights can be marked as ACTIVE." + ], + "type": "string" + }, + "stateMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of metadata for the state, provided by user or automations systems.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1ListInsightsResponse": { + "description": "Response to the `ListInsights` method.", + "id": "GoogleCloudRecommenderV1ListInsightsResponse", + "properties": { + "insights": { + "description": "The set of insights for the `parent` resource.", + "items": { + "$ref": "GoogleCloudRecommenderV1Insight" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be used to request the next page of results. This field is\nempty if there are no additional results.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1ListRecommendationsResponse": { + "description": "Response to the `ListRecommendations` method.", + "id": "GoogleCloudRecommenderV1ListRecommendationsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be used to request the next page of results. This field is\nempty if there are no additional results.", + "type": "string" + }, + "recommendations": { + "description": "The set of recommendations for the `parent` resource.", + "items": { + "$ref": "GoogleCloudRecommenderV1Recommendation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1MarkInsightAcceptedRequest": { + "description": "Request for the `MarkInsightAccepted` method.", + "id": "GoogleCloudRecommenderV1MarkInsightAcceptedRequest", + "properties": { + "etag": { + "description": "Required. Fingerprint of the Insight. Provides optimistic locking.", + "type": "string" + }, + "stateMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. State properties user wish to include with this state. Full replace of the\ncurrent state_metadata.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1MarkRecommendationClaimedRequest": { + "description": "Request for the `MarkRecommendationClaimed` Method.", + "id": "GoogleCloudRecommenderV1MarkRecommendationClaimedRequest", + "properties": { + "etag": { + "description": "Required. Fingerprint of the Recommendation. Provides optimistic locking.", + "type": "string" + }, + "stateMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "State properties to include with this state. Overwrites any existing\n`state_metadata`.\nKeys must match the regex /^a-z0-9{0,62}$/.\nValues must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1MarkRecommendationFailedRequest": { + "description": "Request for the `MarkRecommendationFailed` Method.", + "id": "GoogleCloudRecommenderV1MarkRecommendationFailedRequest", + "properties": { + "etag": { + "description": "Required. Fingerprint of the Recommendation. Provides optimistic locking.", + "type": "string" + }, + "stateMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "State properties to include with this state. Overwrites any existing\n`state_metadata`.\nKeys must match the regex /^a-z0-9{0,62}$/.\nValues must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1MarkRecommendationSucceededRequest": { + "description": "Request for the `MarkRecommendationSucceeded` Method.", + "id": "GoogleCloudRecommenderV1MarkRecommendationSucceededRequest", + "properties": { + "etag": { + "description": "Required. Fingerprint of the Recommendation. Provides optimistic locking.", + "type": "string" + }, + "stateMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "State properties to include with this state. Overwrites any existing\n`state_metadata`.\nKeys must match the regex /^a-z0-9{0,62}$/.\nValues must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1Operation": { + "description": "Contains an operation for a resource loosely based on the JSON-PATCH format\nwith support for:\n\n* Custom filters for describing partial array patch.\n* Extended path values for describing nested arrays.\n* Custom fields for describing the resource for which the operation is being\n described.\n* Allows extension to custom operations not natively supported by RFC6902.\nSee https://tools.ietf.org/html/rfc6902 for details on the original RFC.", + "id": "GoogleCloudRecommenderV1Operation", + "properties": { + "action": { + "description": "Type of this operation. Contains one of 'and', 'remove', 'replace', 'move',\n'copy', 'test' and custom operations. This field is case-insensitive and\nalways populated.", + "type": "string" + }, + "path": { + "description": "Path to the target field being operated on. If the operation is at the\nresource level, then path should be \"/\". This field is always populated.", + "type": "string" + }, + "pathFilters": { + "additionalProperties": { + "type": "any" + }, + "description": "Set of filters to apply if `path` refers to array elements or nested array\nelements in order to narrow down to a single unique element that is being\ntested/modified.\nThis is intended to be an exact match per filter. To perform advanced\nmatching, use path_value_matchers.\n\n* Example: {\n \"/versions/*/name\" : \"it-123\"\n \"/versions/*/targetSize/percent\": 20\n }\n* Example: {\n \"/bindings/*/role\": \"roles/admin\"\n \"/bindings/*/condition\" : null\n }\n* Example: {\n \"/bindings/*/role\": \"roles/admin\"\n \"/bindings/*/members/*\" : [\"x@google.com\", \"y@google.com\"]\n }\nWhen both path_filters and path_value_matchers are set, an implicit AND\nmust be performed.", + "type": "object" + }, + "pathValueMatchers": { + "additionalProperties": { + "$ref": "GoogleCloudRecommenderV1ValueMatcher" + }, + "description": "Similar to path_filters, this contains set of filters to apply if `path`\nfield referes to array elements. This is meant to support value matching\nbeyond exact match. To perform exact match, use path_filters.\nWhen both path_filters and path_value_matchers are set, an implicit AND\nmust be performed.", + "type": "object" + }, + "resource": { + "description": "Contains the fully qualified resource name. This field is always populated.\nex: //cloudresourcemanager.googleapis.com/projects/foo.", + "type": "string" + }, + "resourceType": { + "description": "Type of GCP resource being modified/tested. This field is always populated.\nExample: cloudresourcemanager.googleapis.com/Project,\ncompute.googleapis.com/Instance", + "type": "string" + }, + "sourcePath": { + "description": "Can be set with action 'copy' or 'move' to indicate the source field within\nresource or source_resource, ignored if provided for other operation types.", + "type": "string" + }, + "sourceResource": { + "description": "Can be set with action 'copy' to copy resource configuration across\ndifferent resources of the same type. Example: A resource clone can be\ndone via action = 'copy', path = \"/\", from = \"/\",\nsource_resource = and resource_name = .\nThis field is empty for all other values of `action`.", + "type": "string" + }, + "value": { + "description": "Value for the `path` field. Will be set for actions:'add'/'replace'.\nMaybe set for action: 'test'. Either this or `value_matcher` will be set\nfor 'test' operation. An exact match must be performed.", + "type": "any" + }, + "valueMatcher": { + "$ref": "GoogleCloudRecommenderV1ValueMatcher", + "description": "Can be set for action 'test' for advanced matching for the value of\n'path' field. Either this or `value` will be set for 'test' operation." + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1OperationGroup": { + "description": "Group of operations that need to be performed atomically.", + "id": "GoogleCloudRecommenderV1OperationGroup", + "properties": { + "operations": { + "description": "List of operations across one or more resources that belong to this group.\nLoosely based on RFC6902 and should be performed in the order they appear.", + "items": { + "$ref": "GoogleCloudRecommenderV1Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1Recommendation": { + "description": "A recommendation along with a suggested action. E.g., a rightsizing\nrecommendation for an underutilized VM, IAM role recommendations, etc", + "id": "GoogleCloudRecommenderV1Recommendation", + "properties": { + "additionalImpact": { + "description": "Optional set of additional impact that this recommendation may have when\ntrying to optimize for the primary category. These may be positive\nor negative.", + "items": { + "$ref": "GoogleCloudRecommenderV1Impact" + }, + "type": "array" + }, + "associatedInsights": { + "description": "Insights that led to this recommendation.", + "items": { + "$ref": "GoogleCloudRecommenderV1RecommendationInsightReference" + }, + "type": "array" + }, + "content": { + "$ref": "GoogleCloudRecommenderV1RecommendationContent", + "description": "Content of the recommendation describing recommended changes to resources." + }, + "description": { + "description": "Free-form human readable summary in English. The maximum length is 500\ncharacters.", + "type": "string" + }, + "etag": { + "description": "Fingerprint of the Recommendation. Provides optimistic locking when\nupdating states.", + "type": "string" + }, + "lastRefreshTime": { + "description": "Last time this recommendation was refreshed by the system that created it\nin the first place.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Name of recommendation.", + "type": "string" + }, + "primaryImpact": { + "$ref": "GoogleCloudRecommenderV1Impact", + "description": "The primary impact that this recommendation can have while trying to\noptimize for one category." + }, + "recommenderSubtype": { + "description": "Contains an identifier for a subtype of recommendations produced for the\nsame recommender. Subtype is a function of content and impact, meaning a\nnew subtype might be added when significant changes to `content` or\n`primary_impact.category` are introduced. See the Recommenders section\nto see a list of subtypes for a given Recommender.\n\nExamples:\n For recommender = \"google.iam.policy.Recommender\",\n recommender_subtype can be one of \"REMOVE_ROLE\"/\"REPLACE_ROLE\"", + "type": "string" + }, + "stateInfo": { + "$ref": "GoogleCloudRecommenderV1RecommendationStateInfo", + "description": "Information for state. Contains state and metadata." + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1RecommendationContent": { + "description": "Contains what resources are changing and how they are changing.", + "id": "GoogleCloudRecommenderV1RecommendationContent", + "properties": { + "operationGroups": { + "description": "Operations to one or more Google Cloud resources grouped in such a way\nthat, all operations within one group are expected to be performed\natomically and in an order.", + "items": { + "$ref": "GoogleCloudRecommenderV1OperationGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1RecommendationInsightReference": { + "description": "Reference to an associated insight.", + "id": "GoogleCloudRecommenderV1RecommendationInsightReference", + "properties": { + "insight": { + "description": "Insight resource name, e.g.\nprojects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1RecommendationStateInfo": { + "description": "Information for state. Contains state and metadata.", + "id": "GoogleCloudRecommenderV1RecommendationStateInfo", + "properties": { + "state": { + "description": "The state of the recommendation, Eg ACTIVE, SUCCEEDED, FAILED.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CLAIMED", + "SUCCEEDED", + "FAILED", + "DISMISSED" + ], + "enumDescriptions": [ + "Default state. Don't use directly.", + "Recommendation is active and can be applied. Recommendations content can\nbe updated by Google.\n\nACTIVE recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.", + "Recommendation is in claimed state. Recommendations content is\nimmutable and cannot be updated by Google.\n\nCLAIMED recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.", + "Recommendation is in succeeded state. Recommendations content is\nimmutable and cannot be updated by Google.\n\nSUCCEEDED recommendations can be marked as SUCCEEDED, or FAILED.", + "Recommendation is in failed state. Recommendations content is immutable\nand cannot be updated by Google.\n\nFAILED recommendations can be marked as SUCCEEDED, or FAILED.", + "Recommendation is in dismissed state. Recommendation content can be\nupdated by Google.\n\nDISMISSED recommendations can be marked as ACTIVE." + ], + "type": "string" + }, + "stateMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of metadata for the state, provided by user or automations systems.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1ValueMatcher": { + "description": "Contains various matching options for values for a GCP resource field.", + "id": "GoogleCloudRecommenderV1ValueMatcher", + "properties": { + "matchesPattern": { + "description": "To be used for full regex matching. The regular expression is using the\nGoogle RE2 syntax (https://github.com/google/re2/wiki/Syntax), so to be\nused with RE2::FullMatch", + "type": "string" + } + }, + "type": "object" + }, + "GoogleTypeMoney": { + "description": "Represents an amount of money with its currency type.", + "id": "GoogleTypeMoney", + "properties": { + "currencyCode": { + "description": "The 3-letter currency code defined in ISO 4217.", + "type": "string" + }, + "nanos": { + "description": "Number of nano (10^-9) units of the amount.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "type": "integer" + }, + "units": { + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Recommender API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/recommender/v1beta1/recommender-api.json b/etc/api/recommender/v1beta1/recommender-api.json index 6729b3264a..abdef2c879 100644 --- a/etc/api/recommender/v1beta1/recommender-api.json +++ b/etc/api/recommender/v1beta1/recommender-api.json @@ -374,7 +374,7 @@ } } }, - "revision": "20200405", + "revision": "20200704", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1beta1CostProjection": { diff --git a/etc/api/redis/v1/redis-api.json b/etc/api/redis/v1/redis-api.json index c9bc680a3f..cf3efabdde 100644 --- a/etc/api/redis/v1/redis-api.json +++ b/etc/api/redis/v1/redis-api.json @@ -40,11 +40,6 @@ "location": "query", "type": "string" }, - "access_token": { - "description": "OAuth access token.", - "location": "query", - "type": "string" - }, "alt": { "default": "json", "description": "Data format for response.", @@ -76,11 +71,6 @@ "location": "query", "type": "string" }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, "prettyPrint": { "default": "true", "description": "Returns response with indentations and line breaks.", @@ -180,7 +170,7 @@ "instances": { "methods": { "create": { - "description": "Creates a Redis instance based on the specified tier and memory size.\n\nBy default, the instance is accessible from the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nThe creation is executed asynchronously and callers may check the returned\noperation to track its progress. Once the operation is completed the Redis\ninstance will be fully functional. Completed longrunning.Operation will\ncontain the new instance object in the response field.\n\nThe returned operation is automatically deleted after a few hours, so there\nis no need to call DeleteOperation.", + "description": "Creates a Redis instance based on the specified tier and memory size.\n\nBy default, the instance is accessible from the project's\n[default network](https://cloud.google.com/vpc/docs/vpc).\n\nThe creation is executed asynchronously and callers may check the returned\noperation to track its progress. Once the operation is completed the Redis\ninstance will be fully functional. Completed longrunning.Operation will\ncontain the new instance object in the response field.\n\nThe returned operation is automatically deleted after a few hours, so there\nis no need to call DeleteOperation.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", "httpMethod": "POST", "id": "redis.projects.locations.instances.create", @@ -571,7 +561,7 @@ } } }, - "revision": "20200402", + "revision": "20200623", "rootUrl": "https://redis.googleapis.com/", "schemas": { "Empty": { @@ -722,7 +712,7 @@ "type": "string" }, "authorizedNetwork": { - "description": "Optional. The full name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the\ninstance is connected. If left unspecified, the `default` network\nwill be used.", + "description": "Optional. The full name of the Google Compute Engine\n[network](https://cloud.google.com/vpc/docs/vpc) to which the\ninstance is connected. If left unspecified, the `default` network\nwill be used.", "type": "string" }, "connectMode": { diff --git a/etc/api/redis/v1beta1/redis-api.json b/etc/api/redis/v1beta1/redis-api.json index 5d0ddeada1..3badd86d8e 100644 --- a/etc/api/redis/v1beta1/redis-api.json +++ b/etc/api/redis/v1beta1/redis-api.json @@ -40,11 +40,6 @@ "location": "query", "type": "string" }, - "access_token": { - "description": "OAuth access token.", - "location": "query", - "type": "string" - }, "alt": { "default": "json", "description": "Data format for response.", @@ -76,11 +71,6 @@ "location": "query", "type": "string" }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, "prettyPrint": { "default": "true", "description": "Returns response with indentations and line breaks.", @@ -180,7 +170,7 @@ "instances": { "methods": { "create": { - "description": "Creates a Redis instance based on the specified tier and memory size.\n\nBy default, the instance is accessible from the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nThe creation is executed asynchronously and callers may check the returned\noperation to track its progress. Once the operation is completed the Redis\ninstance will be fully functional. Completed longrunning.Operation will\ncontain the new instance object in the response field.\n\nThe returned operation is automatically deleted after a few hours, so there\nis no need to call DeleteOperation.", + "description": "Creates a Redis instance based on the specified tier and memory size.\n\nBy default, the instance is accessible from the project's\n[default network](https://cloud.google.com/vpc/docs/vpc).\n\nThe creation is executed asynchronously and callers may check the returned\noperation to track its progress. Once the operation is completed the Redis\ninstance will be fully functional. Completed longrunning.Operation will\ncontain the new instance object in the response field.\n\nThe returned operation is automatically deleted after a few hours, so there\nis no need to call DeleteOperation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances", "httpMethod": "POST", "id": "redis.projects.locations.instances.create", @@ -571,7 +561,7 @@ } } }, - "revision": "20200402", + "revision": "20200623", "rootUrl": "https://redis.googleapis.com/", "schemas": { "Empty": { @@ -722,7 +712,7 @@ "type": "string" }, "authorizedNetwork": { - "description": "Optional. The full name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the\ninstance is connected. If left unspecified, the `default` network\nwill be used.", + "description": "Optional. The full name of the Google Compute Engine\n[network](https://cloud.google.com/vpc/docs/vpc) to which the\ninstance is connected. If left unspecified, the `default` network\nwill be used.", "type": "string" }, "connectMode": { diff --git a/etc/api/remotebuildexecution/v1/remotebuildexecution-api.json b/etc/api/remotebuildexecution/v1/remotebuildexecution-api.json index 02af02b092..b9e4ccaebe 100644 --- a/etc/api/remotebuildexecution/v1/remotebuildexecution-api.json +++ b/etc/api/remotebuildexecution/v1/remotebuildexecution-api.json @@ -307,7 +307,7 @@ } } }, - "revision": "20200408", + "revision": "20200702", "rootUrl": "https://remotebuildexecution.googleapis.com/", "schemas": { "BuildBazelRemoteExecutionV2Action": { @@ -1008,6 +1008,7 @@ "PERMISSION_DENIED", "INTERNAL", "ABORTED", + "FAILED_PRECONDITION", "CLEANUP_ERROR", "DOWNLOAD_INPUTS_ERROR", "UNKNOWN", @@ -1033,7 +1034,9 @@ "DOCKER_CREATE_COMPUTE_SYSTEM_ERROR", "DOCKER_PREPARELAYER_ERROR", "DOCKER_INCOMPATIBLE_OS_ERROR", - "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND" + "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND", + "DOCKER_CREATE_RUNTIME_PERMISSION_DENIED", + "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND" ], "enumDescriptions": [ "The command succeeded.", @@ -1043,6 +1046,7 @@ "The command failed due to permission errors.", "The command failed because of some invariants expected by the underlying\nsystem have been broken. This usually indicates a bug wit the system.", "The command was aborted.", + "The command failed because the system is not in a state required for the\ncommand, e.g. the command inputs cannot be found on the server.", "The bot failed to do the cleanup, e.g. unable to delete the command\nworking directory or the command process.", "The bot failed to download the inputs.", "Unknown error.", @@ -1068,7 +1072,9 @@ "Docker failed to run containers with CreateComputeSystem error.", "Docker failed to run containers with hcsshim::PrepareLayer error.", "Docker incompatible operating system error.", - "Docker failed to create OCI runtime because of file not found." + "Docker failed to create OCI runtime because of file not found.", + "Docker failed to create OCI runtime because of permission denied.", + "Docker failed to create process because of file not found." ], "type": "string" }, @@ -1126,6 +1132,23 @@ }, "type": "object" }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale": { + "description": "Autoscale defines the autoscaling policy of a worker pool.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale", + "properties": { + "maxSize": { + "description": "The maximal number of workers. Must be equal to or greater than min_size.", + "format": "int64", + "type": "string" + }, + "minSize": { + "description": "The minimal number of workers. Must be greater than 0.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest": { "description": "The request used for `CreateInstance`.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest", @@ -1297,16 +1320,20 @@ "description": "The request used for `UpdateInstance`.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest", "properties": { + "instance": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance", + "description": "Specifies the instance to update." + }, "loggingEnabled": { - "description": "Whether to enable Stackdriver logging for this instance.", + "description": "Deprecated, use instance.logging_enabled instead.\nWhether to enable Stackdriver logging for this instance.", "type": "boolean" }, "name": { - "description": "Name of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "description": "Deprecated, use instance.Name instead.\nName of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", "type": "string" }, "updateMask": { - "description": "The fields to update.", + "description": "The update mask applies to instance. For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.", "format": "google-fieldmask", "type": "string" } @@ -1373,6 +1400,10 @@ "reserved": { "description": "Determines whether the worker is reserved (equivalent to a Compute Engine\non-demand VM and therefore won't be preempted).\nSee [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more\ndetails.", "type": "boolean" + }, + "vmImage": { + "description": "The name of the image used by each VM.", + "type": "string" } }, "type": "object" @@ -1381,6 +1412,14 @@ "description": "A worker pool resource in the Remote Build Execution API.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool", "properties": { + "autoscale": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale", + "description": "The autoscale policy to apply on a pool." + }, + "channel": { + "description": "Channel specifies the release channel of the pool.", + "type": "string" + }, "name": { "description": "WorkerPool resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.\nname should not be populated when creating a worker pool since it is\nprovided in the `poolId` field.", "type": "string" diff --git a/etc/api/remotebuildexecution/v1alpha/remotebuildexecution-api.json b/etc/api/remotebuildexecution/v1alpha/remotebuildexecution-api.json index 83eb5a7c96..4b85bb904e 100644 --- a/etc/api/remotebuildexecution/v1alpha/remotebuildexecution-api.json +++ b/etc/api/remotebuildexecution/v1alpha/remotebuildexecution-api.json @@ -388,7 +388,7 @@ } } }, - "revision": "20200408", + "revision": "20200702", "rootUrl": "https://admin-remotebuildexecution.googleapis.com/", "schemas": { "BuildBazelRemoteExecutionV2Action": { @@ -1078,6 +1078,7 @@ "PERMISSION_DENIED", "INTERNAL", "ABORTED", + "FAILED_PRECONDITION", "CLEANUP_ERROR", "DOWNLOAD_INPUTS_ERROR", "UNKNOWN", @@ -1103,7 +1104,9 @@ "DOCKER_CREATE_COMPUTE_SYSTEM_ERROR", "DOCKER_PREPARELAYER_ERROR", "DOCKER_INCOMPATIBLE_OS_ERROR", - "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND" + "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND", + "DOCKER_CREATE_RUNTIME_PERMISSION_DENIED", + "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND" ], "enumDescriptions": [ "The command succeeded.", @@ -1113,6 +1116,7 @@ "The command failed due to permission errors.", "The command failed because of some invariants expected by the underlying\nsystem have been broken. This usually indicates a bug wit the system.", "The command was aborted.", + "The command failed because the system is not in a state required for the\ncommand, e.g. the command inputs cannot be found on the server.", "The bot failed to do the cleanup, e.g. unable to delete the command\nworking directory or the command process.", "The bot failed to download the inputs.", "Unknown error.", @@ -1138,7 +1142,9 @@ "Docker failed to run containers with CreateComputeSystem error.", "Docker failed to run containers with hcsshim::PrepareLayer error.", "Docker incompatible operating system error.", - "Docker failed to create OCI runtime because of file not found." + "Docker failed to create OCI runtime because of file not found.", + "Docker failed to create OCI runtime because of permission denied.", + "Docker failed to create process because of file not found." ], "type": "string" }, @@ -1196,6 +1202,23 @@ }, "type": "object" }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale": { + "description": "Autoscale defines the autoscaling policy of a worker pool.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale", + "properties": { + "maxSize": { + "description": "The maximal number of workers. Must be equal to or greater than min_size.", + "format": "int64", + "type": "string" + }, + "minSize": { + "description": "The minimal number of workers. Must be greater than 0.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest": { "description": "The request used for `CreateInstance`.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest", @@ -1367,16 +1390,20 @@ "description": "The request used for `UpdateInstance`.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest", "properties": { + "instance": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance", + "description": "Specifies the instance to update." + }, "loggingEnabled": { - "description": "Whether to enable Stackdriver logging for this instance.", + "description": "Deprecated, use instance.logging_enabled instead.\nWhether to enable Stackdriver logging for this instance.", "type": "boolean" }, "name": { - "description": "Name of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "description": "Deprecated, use instance.Name instead.\nName of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", "type": "string" }, "updateMask": { - "description": "The fields to update.", + "description": "The update mask applies to instance. For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.", "format": "google-fieldmask", "type": "string" } @@ -1443,6 +1470,10 @@ "reserved": { "description": "Determines whether the worker is reserved (equivalent to a Compute Engine\non-demand VM and therefore won't be preempted).\nSee [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more\ndetails.", "type": "boolean" + }, + "vmImage": { + "description": "The name of the image used by each VM.", + "type": "string" } }, "type": "object" @@ -1451,6 +1482,14 @@ "description": "A worker pool resource in the Remote Build Execution API.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool", "properties": { + "autoscale": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale", + "description": "The autoscale policy to apply on a pool." + }, + "channel": { + "description": "Channel specifies the release channel of the pool.", + "type": "string" + }, "name": { "description": "WorkerPool resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.\nname should not be populated when creating a worker pool since it is\nprovided in the `poolId` field.", "type": "string" diff --git a/etc/api/remotebuildexecution/v2/remotebuildexecution-api.json b/etc/api/remotebuildexecution/v2/remotebuildexecution-api.json index aa9ce188f1..de82350d98 100644 --- a/etc/api/remotebuildexecution/v2/remotebuildexecution-api.json +++ b/etc/api/remotebuildexecution/v2/remotebuildexecution-api.json @@ -447,7 +447,7 @@ } } }, - "revision": "20200408", + "revision": "20200702", "rootUrl": "https://remotebuildexecution.googleapis.com/", "schemas": { "BuildBazelRemoteExecutionV2Action": { @@ -1537,6 +1537,7 @@ "PERMISSION_DENIED", "INTERNAL", "ABORTED", + "FAILED_PRECONDITION", "CLEANUP_ERROR", "DOWNLOAD_INPUTS_ERROR", "UNKNOWN", @@ -1562,7 +1563,9 @@ "DOCKER_CREATE_COMPUTE_SYSTEM_ERROR", "DOCKER_PREPARELAYER_ERROR", "DOCKER_INCOMPATIBLE_OS_ERROR", - "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND" + "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND", + "DOCKER_CREATE_RUNTIME_PERMISSION_DENIED", + "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND" ], "enumDescriptions": [ "The command succeeded.", @@ -1572,6 +1575,7 @@ "The command failed due to permission errors.", "The command failed because of some invariants expected by the underlying\nsystem have been broken. This usually indicates a bug wit the system.", "The command was aborted.", + "The command failed because the system is not in a state required for the\ncommand, e.g. the command inputs cannot be found on the server.", "The bot failed to do the cleanup, e.g. unable to delete the command\nworking directory or the command process.", "The bot failed to download the inputs.", "Unknown error.", @@ -1597,7 +1601,9 @@ "Docker failed to run containers with CreateComputeSystem error.", "Docker failed to run containers with hcsshim::PrepareLayer error.", "Docker incompatible operating system error.", - "Docker failed to create OCI runtime because of file not found." + "Docker failed to create OCI runtime because of file not found.", + "Docker failed to create OCI runtime because of permission denied.", + "Docker failed to create process because of file not found." ], "type": "string" }, @@ -1655,6 +1661,23 @@ }, "type": "object" }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale": { + "description": "Autoscale defines the autoscaling policy of a worker pool.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale", + "properties": { + "maxSize": { + "description": "The maximal number of workers. Must be equal to or greater than min_size.", + "format": "int64", + "type": "string" + }, + "minSize": { + "description": "The minimal number of workers. Must be greater than 0.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest": { "description": "The request used for `CreateInstance`.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest", @@ -1826,16 +1849,20 @@ "description": "The request used for `UpdateInstance`.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest", "properties": { + "instance": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance", + "description": "Specifies the instance to update." + }, "loggingEnabled": { - "description": "Whether to enable Stackdriver logging for this instance.", + "description": "Deprecated, use instance.logging_enabled instead.\nWhether to enable Stackdriver logging for this instance.", "type": "boolean" }, "name": { - "description": "Name of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "description": "Deprecated, use instance.Name instead.\nName of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", "type": "string" }, "updateMask": { - "description": "The fields to update.", + "description": "The update mask applies to instance. For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.", "format": "google-fieldmask", "type": "string" } @@ -1902,6 +1929,10 @@ "reserved": { "description": "Determines whether the worker is reserved (equivalent to a Compute Engine\non-demand VM and therefore won't be preempted).\nSee [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more\ndetails.", "type": "boolean" + }, + "vmImage": { + "description": "The name of the image used by each VM.", + "type": "string" } }, "type": "object" @@ -1910,6 +1941,14 @@ "description": "A worker pool resource in the Remote Build Execution API.", "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool", "properties": { + "autoscale": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale", + "description": "The autoscale policy to apply on a pool." + }, + "channel": { + "description": "Channel specifies the release channel of the pool.", + "type": "string" + }, "name": { "description": "WorkerPool resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.\nname should not be populated when creating a worker pool since it is\nprovided in the `poolId` field.", "type": "string" diff --git a/etc/api/reseller/v1/reseller-api.json b/etc/api/reseller/v1/reseller-api.json index 2bc62c355f..c6a89a8971 100644 --- a/etc/api/reseller/v1/reseller-api.json +++ b/etc/api/reseller/v1/reseller-api.json @@ -17,7 +17,7 @@ "description": "Creates and manages your customers and their subscriptions.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/google-apps/reseller/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/4xq0Bw2LuAbeJZTw0U29AruL5y4\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/4xq0Bw2LuAbeJZTw0U29AruL5y4\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" diff --git a/etc/api/run/v1/run-api.json b/etc/api/run/v1/run-api.json index a341358b35..192637f627 100644 --- a/etc/api/run/v1/run-api.json +++ b/etc/api/run/v1/run-api.json @@ -1769,7 +1769,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -1942,7 +1942,7 @@ } } }, - "revision": "20200407", + "revision": "20200622", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -1956,7 +1956,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1974,7 +1974,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -2024,7 +2024,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -2364,6 +2364,10 @@ "$ref": "ResourceRecord" }, "type": "array" + }, + "url": { + "description": "Cloud Run fully managed: not supported\n\nCloud Run on GKE: supported\n\nHolds the URL that will serve the traffic of the DomainMapping.\n+optional", + "type": "string" } }, "type": "object" @@ -2528,27 +2532,6 @@ }, "type": "object" }, - "IntOrString": { - "description": "IntOrString is a type that can hold an int32 or a string. When used in\nJSON or YAML marshalling and unmarshalling, it produces or consumes the\ninner type. This allows you to have, for example, a JSON field that can\naccept a name or number.", - "id": "IntOrString", - "properties": { - "intVal": { - "description": "The int value.", - "format": "int32", - "type": "integer" - }, - "strVal": { - "description": "The string value.", - "type": "string" - }, - "type": { - "description": "The type of the value.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "KeyToPath": { "description": "Cloud Run fully managed: not supported\n\nCloud Run for Anthos: supported\n\nMaps a string key to a path within a volume.", "id": "KeyToPath", @@ -2993,7 +2976,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -3016,7 +2999,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -3167,7 +3150,6 @@ "type": "string" }, "timeoutSeconds": { - "description": "TimeoutSeconds holds the max duration the instance is allowed for\nresponding to a request.\nNot currently used by Cloud Run.", "format": "int32", "type": "integer" }, @@ -3508,7 +3490,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -3610,8 +3592,9 @@ "type": "string" }, "port": { - "$ref": "IntOrString", - "description": "Cloud Run fully managed: not supported\n\nCloud Run for Anthos: supported\n\nNumber or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." + "description": "Cloud Run fully managed: not supported\n\nCloud Run for Anthos: supported\n\nNumber or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.\n\nThis field is currently limited to integer types only because of proto's\ninability to properly support the IntOrString golang type.", + "format": "int32", + "type": "integer" } }, "type": "object" diff --git a/etc/api/run/v1alpha1/run-api.json b/etc/api/run/v1alpha1/run-api.json index 4bd0a49368..53b26da7eb 100644 --- a/etc/api/run/v1alpha1/run-api.json +++ b/etc/api/run/v1alpha1/run-api.json @@ -3027,7 +3027,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -3358,7 +3358,7 @@ } } }, - "revision": "20200407", + "revision": "20200622", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -3376,7 +3376,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -3394,7 +3394,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -3444,7 +3444,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -4332,6 +4332,10 @@ "$ref": "ResourceRecord" }, "type": "array" + }, + "url": { + "description": "Cloud Run fully managed: not supported\n\nCloud Run on GKE: supported\n\nHolds the URL that will serve the traffic of the DomainMapping.\n+optional", + "type": "string" } }, "type": "object" @@ -5129,7 +5133,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -5152,7 +5156,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -5163,18 +5167,14 @@ "description": "Probe describes a health check to be performed against a container to\ndetermine whether it is alive or ready to receive traffic.", "id": "Probe", "properties": { - "exec": { - "$ref": "ExecAction", - "description": "One and only one of the following should be specified.\nExec specifies the action to take.\n\nA field inlined from the Handler message." - }, "failureThreshold": { "description": "Minimum consecutive failures for the probe to be considered failed after\nhaving succeeded. Defaults to 3. Minimum value is 1. +optional", "format": "int32", "type": "integer" }, - "httpGet": { - "$ref": "HTTPGetAction", - "description": "HTTPGet specifies the http request to perform.\n\nA field inlined from the Handler message." + "handler": { + "$ref": "Handler", + "description": "The action taken to determine the health of a container" }, "initialDelaySeconds": { "description": "Number of seconds after the container has started before liveness probes\nare initiated. More info:\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\n+optional", @@ -5191,10 +5191,6 @@ "format": "int32", "type": "integer" }, - "tcpSocket": { - "$ref": "TCPSocketAction", - "description": "TCPSocket specifies an action involving a TCP port.\nTCP hooks not yet supported\n\nA field inlined from the Handler message." - }, "timeoutSeconds": { "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info:\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\n+optional", "format": "int32", @@ -5909,7 +5905,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/run/v1beta1/run-api.json b/etc/api/run/v1beta1/run-api.json index 2ebca4f2be..d4fd74e27b 100644 --- a/etc/api/run/v1beta1/run-api.json +++ b/etc/api/run/v1beta1/run-api.json @@ -296,7 +296,7 @@ } } }, - "revision": "20200407", + "revision": "20200622", "rootUrl": "https://run.googleapis.com/", "schemas": { "CustomResourceColumnDefinition": { diff --git a/etc/api/runtimeconfig/v1/runtimeconfig-api.json b/etc/api/runtimeconfig/v1/runtimeconfig-api.json index 74a4c918fd..f06fa4e608 100644 --- a/etc/api/runtimeconfig/v1/runtimeconfig-api.json +++ b/etc/api/runtimeconfig/v1/runtimeconfig-api.json @@ -210,7 +210,7 @@ } } }, - "revision": "20200406", + "revision": "20200622", "rootUrl": "https://runtimeconfig.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/etc/api/runtimeconfig/v1beta1/runtimeconfig-api.json b/etc/api/runtimeconfig/v1beta1/runtimeconfig-api.json index 98aa5d0b82..449b50eeda 100644 --- a/etc/api/runtimeconfig/v1beta1/runtimeconfig-api.json +++ b/etc/api/runtimeconfig/v1beta1/runtimeconfig-api.json @@ -208,7 +208,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -268,7 +268,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:setIamPolicy", "httpMethod": "POST", "id": "runtimeconfig.projects.configs.setIamPolicy", @@ -297,7 +297,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:testIamPermissions", "httpMethod": "POST", "id": "runtimeconfig.projects.configs.testIamPermissions", @@ -385,7 +385,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/operations/{operationsId}:testIamPermissions", "httpMethod": "POST", "id": "runtimeconfig.projects.configs.operations.testIamPermissions", @@ -556,7 +556,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}:testIamPermissions", "httpMethod": "POST", "id": "runtimeconfig.projects.configs.variables.testIamPermissions", @@ -770,7 +770,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}:testIamPermissions", "httpMethod": "POST", "id": "runtimeconfig.projects.configs.waiters.testIamPermissions", @@ -805,7 +805,7 @@ } } }, - "revision": "20200406", + "revision": "20200622", "rootUrl": "https://runtimeconfig.googleapis.com/", "schemas": { "Binding": { @@ -814,7 +814,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -976,7 +976,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -992,7 +992,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/safebrowsing/v4/safebrowsing-api.json b/etc/api/safebrowsing/v4/safebrowsing-api.json index e927cc2a7b..28df990b94 100644 --- a/etc/api/safebrowsing/v4/safebrowsing-api.json +++ b/etc/api/safebrowsing/v4/safebrowsing-api.json @@ -259,7 +259,7 @@ } } }, - "revision": "20200407", + "revision": "20200621", "rootUrl": "https://safebrowsing.googleapis.com/", "schemas": { "Checksum": { diff --git a/etc/api/sasportal/v1alpha1/sasportal-api.json b/etc/api/sasportal/v1alpha1/sasportal-api.json index ccb974e6c2..588416ddde 100644 --- a/etc/api/sasportal/v1alpha1/sasportal-api.json +++ b/etc/api/sasportal/v1alpha1/sasportal-api.json @@ -194,6 +194,158 @@ } }, "resources": { + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment.", + "flatPath": "v1alpha1/customers/{customersId}/deployments", + "httpMethod": "POST", + "id": "sasportal.customers.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the deployment is to be created.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "delete": { + "description": "Deletes a deployment.", + "flatPath": "v1alpha1/customers/{customersId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "sasportal.customers.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^customers/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "get": { + "description": "Returns a requested deployment.", + "flatPath": "v1alpha1/customers/{customersId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "sasportal.customers.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^customers/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "list": { + "description": "Lists deployments.", + "flatPath": "v1alpha1/customers/{customersId}/deployments", + "httpMethod": "GET", + "id": "sasportal.customers.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of deployments to return in the response.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to ListDeployments\nmethod that\nindicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, for example, \"nodes/1\",\ncustomer/1/nodes/2.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "response": { + "$ref": "SasPortalListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "patch": { + "description": "Updates an existing deployment.", + "flatPath": "v1alpha1/customers/{customersId}/deployments/{deploymentsId}", + "httpMethod": "PATCH", + "id": "sasportal.customers.deployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name.", + "location": "path", + "pattern": "^customers/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "devices": { "methods": { "bulk": { @@ -345,7 +497,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of devices to return in the response.", + "description": "The maximum number of devices to return in the response.\nIf empty or zero, all devices will be listed.\nMust be in the range [0, 1000].", "format": "int32", "location": "query", "type": "integer" @@ -671,6 +823,74 @@ } }, "resources": { + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment.", + "flatPath": "v1alpha1/customers/{customersId}/nodes/{nodesId}/deployments", + "httpMethod": "POST", + "id": "sasportal.customers.nodes.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the deployment is to be created.", + "location": "path", + "pattern": "^customers/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "list": { + "description": "Lists deployments.", + "flatPath": "v1alpha1/customers/{customersId}/nodes/{nodesId}/deployments", + "httpMethod": "GET", + "id": "sasportal.customers.nodes.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of deployments to return in the response.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to ListDeployments\nmethod that\nindicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, for example, \"nodes/1\",\ncustomer/1/nodes/2.", + "location": "path", + "pattern": "^customers/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "response": { + "$ref": "SasPortalListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "nodes": { "methods": { "create": { @@ -743,6 +963,35 @@ } } }, + "deployments": { + "methods": { + "get": { + "description": "Returns a requested deployment.", + "flatPath": "v1alpha1/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "sasportal.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "installer": { "methods": { "generateSecret": { @@ -784,7 +1033,158 @@ } }, "nodes": { + "methods": { + "get": { + "description": "Returns a requested node.", + "flatPath": "v1alpha1/nodes/{nodesId}", + "httpMethod": "GET", + "id": "sasportal.nodes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the node.", + "location": "path", + "pattern": "^nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalNode" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + }, "resources": { + "deployments": { + "methods": { + "delete": { + "description": "Deletes a deployment.", + "flatPath": "v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "sasportal.nodes.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^nodes/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "get": { + "description": "Returns a requested deployment.", + "flatPath": "v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "sasportal.nodes.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment.", + "location": "path", + "pattern": "^nodes/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "list": { + "description": "Lists deployments.", + "flatPath": "v1alpha1/nodes/{nodesId}/deployments", + "httpMethod": "GET", + "id": "sasportal.nodes.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of deployments to return in the response.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to ListDeployments\nmethod that\nindicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, for example, \"nodes/1\",\ncustomer/1/nodes/2.", + "location": "path", + "pattern": "^nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "response": { + "$ref": "SasPortalListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "patch": { + "description": "Updates an existing deployment.", + "flatPath": "v1alpha1/nodes/{nodesId}/deployments/{deploymentsId}", + "httpMethod": "PATCH", + "id": "sasportal.nodes.deployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name.", + "location": "path", + "pattern": "^nodes/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "devices": { "methods": { "bulk": { @@ -936,7 +1336,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of devices to return in the response.", + "description": "The maximum number of devices to return in the response.\nIf empty or zero, all devices will be listed.\nMust be in the range [0, 1000].", "format": "int32", "location": "query", "type": "integer" @@ -1262,6 +1662,74 @@ } }, "resources": { + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment.", + "flatPath": "v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/deployments", + "httpMethod": "POST", + "id": "sasportal.nodes.nodes.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the deployment is to be created.", + "location": "path", + "pattern": "^nodes/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "request": { + "$ref": "SasPortalDeployment" + }, + "response": { + "$ref": "SasPortalDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "list": { + "description": "Lists deployments.", + "flatPath": "v1alpha1/nodes/{nodesId}/nodes/{nodesId1}/deployments", + "httpMethod": "GET", + "id": "sasportal.nodes.nodes.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of deployments to return in the response.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to ListDeployments\nmethod that\nindicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, for example, \"nodes/1\",\ncustomer/1/nodes/2.", + "location": "path", + "pattern": "^nodes/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/deployments", + "response": { + "$ref": "SasPortalListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + }, "devices": { "methods": { "bulk": { @@ -1363,7 +1831,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of devices to return in the response.", + "description": "The maximum number of devices to return in the response.\nIf empty or zero, all devices will be listed.\nMust be in the range [0, 1000].", "format": "int32", "location": "query", "type": "integer" @@ -1522,7 +1990,7 @@ } } }, - "revision": "20200409", + "revision": "20200708", "rootUrl": "https://sasportal.googleapis.com/", "schemas": { "SasPortalAssignment": { @@ -1606,6 +2074,59 @@ }, "type": "object" }, + "SasPortalDeployment": { + "description": "The Deployment.", + "id": "SasPortalDeployment", + "properties": { + "allowedBillingModes": { + "description": "The allowed billing modes under this deployment.", + "enumDescriptions": [ + "Billing mode has not been specified.", + "Price is based on category of CBSD: Category A, Category B registered with\nSAS.", + "Price is based on type of CBSD: Base station or CPE." + ], + "items": { + "enum": [ + "BILLING_MODE_UNSPECIFIED", + "MOBILE", + "FIXED_WIRELESS" + ], + "type": "string" + }, + "type": "array" + }, + "defaultBillingMode": { + "description": "Default billing mode for the deployment and devices under it.", + "enum": [ + "BILLING_MODE_UNSPECIFIED", + "MOBILE", + "FIXED_WIRELESS" + ], + "enumDescriptions": [ + "Billing mode has not been specified.", + "Price is based on category of CBSD: Category A, Category B registered with\nSAS.", + "Price is based on type of CBSD: Base station or CPE." + ], + "type": "string" + }, + "displayName": { + "description": "The deployment's display name.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name.", + "type": "string" + }, + "sasUserIds": { + "description": "User id used by the devices belonging to this deployment. Each deployment\nshould be associated with one unique user_id.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SasPortalDevice": { "id": "SasPortalDevice", "properties": { @@ -1613,6 +2134,10 @@ "$ref": "SasPortalDeviceConfig", "description": "Output only. Current configuration of the device as registered to the SAS." }, + "deviceMetadata": { + "$ref": "SasPortalDeviceMetadata", + "description": "Device parameters that can be overridden by both SAS Portal and SAS\nregistration requests." + }, "displayName": { "description": "Device display name.", "type": "string" @@ -1835,10 +2360,23 @@ "The grant has expired." ], "type": "string" + }, + "suspensionReason": { + "description": "If the grant is suspended, the reason(s) for suspension.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, + "SasPortalDeviceMetadata": { + "description": "Device data overridable by both SAS Portal and registration requests.", + "id": "SasPortalDeviceMetadata", + "properties": {}, + "type": "object" + }, "SasPortalDeviceModel": { "description": "Information about the model of the device.", "id": "SasPortalDeviceModel", @@ -1960,6 +2498,10 @@ "description": "If an external antenna is used, the antenna model is optionally\nprovided in this field. The string has a maximum length of 128\noctets.", "type": "string" }, + "cpeCbsdIndication": { + "description": "If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.", + "type": "boolean" + }, "eirpCapability": { "description": "This parameter is the maximum device EIRP in units of dBm/10MHz\nand is an integer with a value between -127 and +47 (dBm/10 MHz)\ninclusive. If not included, SAS interprets it as maximum\nallowable EIRP in units of dBm/10MHz for device category.", "format": "int32", @@ -2029,6 +2571,24 @@ }, "type": "object" }, + "SasPortalListDeploymentsResponse": { + "description": "Response for ListDeployments method.", + "id": "SasPortalListDeploymentsResponse", + "properties": { + "deployments": { + "description": "The deployments that match the\nrequest.", + "items": { + "$ref": "SasPortalDeployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A pagination token returned from a previous call to\nListDeployments method that indicates\nfrom where listing should continue. If the field is missing or empty, it\nmeans there is no more deployments.", + "type": "string" + } + }, + "type": "object" + }, "SasPortalListDevicesResponse": { "description": "Response for ListDevices method.", "id": "SasPortalListDevicesResponse", diff --git a/etc/api/script/v1/script-api.json b/etc/api/script/v1/script-api.json index 6d3ebc561b..845107ae32 100644 --- a/etc/api/script/v1/script-api.json +++ b/etc/api/script/v1/script-api.json @@ -822,7 +822,7 @@ } } }, - "revision": "20200325", + "revision": "20200630", "rootUrl": "https://script.googleapis.com/", "schemas": { "Content": { @@ -956,7 +956,7 @@ "properties": { "result": { "$ref": "ScriptExecutionResult", - "description": "The result of the execution.\nTODO (johnlattin): Add debugging and logging." + "description": "The result of the execution." } }, "type": "object" @@ -1400,7 +1400,7 @@ "type": "object" }, "ListValue": { - "description": "`ListValue` is a wrapper around a repeated field of values.\nBased on LustValue at:\ngoogle3/apps/maestro/api/struct.proto?q=message%5c%20ListValue", + "description": "`ListValue` is a wrapper around a repeated field of values.", "id": "ListValue", "properties": { "values": { @@ -1542,12 +1542,12 @@ "type": "object" }, "ScriptExecutionResult": { - "description": "The result of an execution\nBased on ScriptExecutionResult at:\ngoogle3/apps/maestro/api/frontend_execution_common.proto?q=message%5c%20ScriptExecutionResult", + "description": "The result of an execution.", "id": "ScriptExecutionResult", "properties": { "returnValue": { "$ref": "Value", - "description": "The returned value of the execution.\nTODO (johnlattin): Add HtmlResponse\nTODO (johnlattin): Add ExceptionResponse\nTODO (johlnattin): Add TextResponse" + "description": "The returned value of the execution." } }, "type": "object" @@ -1596,7 +1596,7 @@ "type": "object" }, "Struct": { - "description": "`Struct` represents a structured data value, consisting of fields which map\nto dynamically typed values.\nBased on Struct at:\ngoogle3/apps/maestro/api/struct.proto?q=message%5c%20Struct", + "description": "`Struct` represents a structured data value, consisting of fields which map\nto dynamically typed values.", "id": "Struct", "properties": { "fields": { @@ -1621,7 +1621,7 @@ "type": "object" }, "Value": { - "description": "`Value` represents a dynamically typed value which is the outcome of an\nexecuted script\nBased on Value at:\ngoogle3/apps/maestro/api/struct.proto?q=message%5c%20Value", + "description": "`Value` represents a dynamically typed value which is the outcome of an\nexecuted script.", "id": "Value", "properties": { "boolValue": { diff --git a/etc/api/searchconsole/v1/searchconsole-api.json b/etc/api/searchconsole/v1/searchconsole-api.json index acfa495549..f509dfff72 100644 --- a/etc/api/searchconsole/v1/searchconsole-api.json +++ b/etc/api/searchconsole/v1/searchconsole-api.json @@ -120,7 +120,7 @@ } } }, - "revision": "20200409", + "revision": "20200704", "rootUrl": "https://searchconsole.googleapis.com/", "schemas": { "BlockedResource": { diff --git a/etc/api/secretmanager/v1/secretmanager-api.json b/etc/api/secretmanager/v1/secretmanager-api.json new file mode 100644 index 0000000000..7a3886fc65 --- /dev/null +++ b/etc/api/secretmanager/v1/secretmanager-api.json @@ -0,0 +1,1077 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://secretmanager.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Secret Manager", + "description": "Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.\n", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/secret-manager/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "secretmanager:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://secretmanager.mtls.googleapis.com/", + "name": "secretmanager", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "secretmanager.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "secretmanager.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "secrets": { + "methods": { + "addVersion": { + "description": "Creates a new SecretVersion containing secret data and attaches\nit to an existing Secret.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:addVersion", + "httpMethod": "POST", + "id": "secretmanager.projects.secrets.addVersion", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Secret to associate with the\nSecretVersion in the format `projects/*/secrets/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:addVersion", + "request": { + "$ref": "AddSecretVersionRequest" + }, + "response": { + "$ref": "SecretVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new Secret containing no SecretVersions.", + "flatPath": "v1/projects/{projectsId}/secrets", + "httpMethod": "POST", + "id": "secretmanager.projects.secrets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the project to associate with the\nSecret, in the format `projects/*`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "secretId": { + "description": "Required. This must be unique within the project.\n\nA secret ID is a string with a maximum length of 255 characters and can\ncontain uppercase and lowercase letters, numerals, and the hyphen (`-`) and\nunderscore (`_`) characters.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/secrets", + "request": { + "$ref": "Secret" + }, + "response": { + "$ref": "Secret" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Secret.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}", + "httpMethod": "DELETE", + "id": "secretmanager.projects.secrets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Secret to delete in the format\n`projects/*/secrets/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets metadata for a given Secret.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}", + "httpMethod": "GET", + "id": "secretmanager.projects.secrets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Secret, in the format `projects/*/secrets/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Secret" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a secret.\nReturns empty policy if the secret exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:getIamPolicy", + "httpMethod": "GET", + "id": "secretmanager.projects.secrets.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Secrets.", + "flatPath": "v1/projects/{projectsId}/secrets", + "httpMethod": "GET", + "id": "secretmanager.projects.secrets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Pagination token, returned earlier via\nListSecretsResponse.next_page_token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the project associated with the\nSecrets, in the format `projects/*`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/secrets", + "response": { + "$ref": "ListSecretsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates metadata of an existing Secret.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}", + "httpMethod": "PATCH", + "id": "secretmanager.projects.secrets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the Secret in the format `projects/*/secrets/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Specifies the fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Secret" + }, + "response": { + "$ref": "Secret" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified secret. Replaces any\nexisting policy.\n\nPermissions on SecretVersions are enforced according\nto the policy set on the associated Secret.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:setIamPolicy", + "httpMethod": "POST", + "id": "secretmanager.projects.secrets.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has for the specified secret.\nIf the secret does not exist, this call returns an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:testIamPermissions", + "httpMethod": "POST", + "id": "secretmanager.projects.secrets.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "access": { + "description": "Accesses a SecretVersion. This call returns the secret data.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:access", + "httpMethod": "GET", + "id": "secretmanager.projects.secrets.versions.access", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:access", + "response": { + "$ref": "AccessSecretVersionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "destroy": { + "description": "Destroys a SecretVersion.\n\nSets the state of the SecretVersion to\nDESTROYED and irrevocably destroys the\nsecret data.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:destroy", + "httpMethod": "POST", + "id": "secretmanager.projects.secrets.versions.destroy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the SecretVersion to destroy in the format\n`projects/*/secrets/*/versions/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:destroy", + "request": { + "$ref": "DestroySecretVersionRequest" + }, + "response": { + "$ref": "SecretVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "disable": { + "description": "Disables a SecretVersion.\n\nSets the state of the SecretVersion to\nDISABLED.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:disable", + "httpMethod": "POST", + "id": "secretmanager.projects.secrets.versions.disable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the SecretVersion to disable in the format\n`projects/*/secrets/*/versions/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:disable", + "request": { + "$ref": "DisableSecretVersionRequest" + }, + "response": { + "$ref": "SecretVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "enable": { + "description": "Enables a SecretVersion.\n\nSets the state of the SecretVersion to\nENABLED.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:enable", + "httpMethod": "POST", + "id": "secretmanager.projects.secrets.versions.enable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the SecretVersion to enable in the format\n`projects/*/secrets/*/versions/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:enable", + "request": { + "$ref": "EnableSecretVersionRequest" + }, + "response": { + "$ref": "SecretVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets metadata for a SecretVersion.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "secretmanager.projects.secrets.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "SecretVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists SecretVersions. This call does not return secret\ndata.", + "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions", + "httpMethod": "GET", + "id": "secretmanager.projects.secrets.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Pagination token, returned earlier via\nListSecretVersionsResponse.next_page_token][].", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the Secret associated with the\nSecretVersions to list, in the format\n`projects/*/secrets/*`.", + "location": "path", + "pattern": "^projects/[^/]+/secrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "response": { + "$ref": "ListSecretVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20200703", + "rootUrl": "https://secretmanager.googleapis.com/", + "schemas": { + "AccessSecretVersionResponse": { + "description": "Response message for SecretManagerService.AccessSecretVersion.", + "id": "AccessSecretVersionResponse", + "properties": { + "name": { + "description": "The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.", + "type": "string" + }, + "payload": { + "$ref": "SecretPayload", + "description": "Secret payload" + } + }, + "type": "object" + }, + "AddSecretVersionRequest": { + "description": "Request message for SecretManagerService.AddSecretVersion.", + "id": "AddSecretVersionRequest", + "properties": { + "payload": { + "$ref": "SecretPayload", + "description": "Required. The secret payload of the SecretVersion." + } + }, + "type": "object" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Automatic": { + "description": "A replication policy that replicates the Secret payload without any\nrestrictions.", + "id": "Automatic", + "properties": {}, + "type": "object" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "DestroySecretVersionRequest": { + "description": "Request message for SecretManagerService.DestroySecretVersion.", + "id": "DestroySecretVersionRequest", + "properties": {}, + "type": "object" + }, + "DisableSecretVersionRequest": { + "description": "Request message for SecretManagerService.DisableSecretVersion.", + "id": "DisableSecretVersionRequest", + "properties": {}, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EnableSecretVersionRequest": { + "description": "Request message for SecretManagerService.EnableSecretVersion.", + "id": "EnableSecretVersionRequest", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListSecretVersionsResponse": { + "description": "Response message for SecretManagerService.ListSecretVersions.", + "id": "ListSecretVersionsResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in\nListSecretVersionsRequest.page_token to retrieve the next page.", + "type": "string" + }, + "totalSize": { + "description": "The total number of SecretVersions.", + "format": "int32", + "type": "integer" + }, + "versions": { + "description": "The list of SecretVersions sorted in reverse by\ncreate_time (newest first).", + "items": { + "$ref": "SecretVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSecretsResponse": { + "description": "Response message for SecretManagerService.ListSecrets.", + "id": "ListSecretsResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in\nListSecretsRequest.page_token to retrieve the next page.", + "type": "string" + }, + "secrets": { + "description": "The list of Secrets sorted in reverse by create_time (newest\nfirst).", + "items": { + "$ref": "Secret" + }, + "type": "array" + }, + "totalSize": { + "description": "The total number of Secrets.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Replica": { + "description": "Represents a Replica for this Secret.", + "id": "Replica", + "properties": { + "location": { + "description": "The canonical IDs of the location to replicate data.\nFor example: `\"us-east1\"`.", + "type": "string" + } + }, + "type": "object" + }, + "Replication": { + "description": "A policy that defines the replication configuration of data.\n", + "id": "Replication", + "properties": { + "automatic": { + "$ref": "Automatic", + "description": "The Secret will automatically be replicated without any restrictions." + }, + "userManaged": { + "$ref": "UserManaged", + "description": "The Secret will only be replicated into the locations specified." + } + }, + "type": "object" + }, + "Secret": { + "description": "A Secret is a logical secret whose value and versions can\nbe accessed.\n\nA Secret is made up of zero or more SecretVersions that\nrepresent the secret data.", + "id": "Secret", + "properties": { + "createTime": { + "description": "Output only. The time at which the Secret was created.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels assigned to this Secret.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the following PCRE regular\nexpression: `\\p{Ll}\\p{Lo}{0,62}`\n\nLabel values must be between 0 and 63 characters long, have a UTF-8\nencoding of maximum 128 bytes, and must conform to the following PCRE\nregular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`\n\nNo more than 64 labels can be assigned to a given resource.", + "type": "object" + }, + "name": { + "description": "Output only. The resource name of the Secret in the format `projects/*/secrets/*`.", + "type": "string" + }, + "replication": { + "$ref": "Replication", + "description": "Required. Immutable. The replication policy of the secret data attached to the Secret.\n\nThe replication policy cannot be changed after the Secret has been created." + } + }, + "type": "object" + }, + "SecretPayload": { + "description": "A secret payload resource in the Secret Manager API. This contains the\nsensitive secret payload that is associated with a SecretVersion.", + "id": "SecretPayload", + "properties": { + "data": { + "description": "The secret data. Must be no larger than 64KiB.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "SecretVersion": { + "description": "A secret version resource in the Secret Manager API.", + "id": "SecretVersion", + "properties": { + "createTime": { + "description": "Output only. The time at which the SecretVersion was created.", + "format": "google-datetime", + "type": "string" + }, + "destroyTime": { + "description": "Output only. The time this SecretVersion was destroyed.\nOnly present if state is\nDESTROYED.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the SecretVersion in the\nformat `projects/*/secrets/*/versions/*`.\n\nSecretVersion IDs in a Secret start at 1 and\nare incremented for each subsequent version of the secret.", + "type": "string" + }, + "state": { + "description": "Output only. The current state of the SecretVersion.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLED", + "DISABLED", + "DESTROYED" + ], + "enumDescriptions": [ + "Not specified. This value is unused and invalid.", + "The SecretVersion may be accessed.", + "The SecretVersion may not be accessed, but the secret data\nis still available and can be placed back into the ENABLED\nstate.", + "The SecretVersion is destroyed and the secret data is no longer\nstored. A version may not leave this state once entered." + ], + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "UserManaged": { + "description": "A replication policy that replicates the Secret payload into the\nlocations specified in Secret.replication.user_managed.replicas", + "id": "UserManaged", + "properties": { + "replicas": { + "description": "Required. The list of Replicas for this Secret.\n\nCannot be empty.", + "items": { + "$ref": "Replica" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Secret Manager API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/secretmanager/v1beta1/secretmanager-api.json b/etc/api/secretmanager/v1beta1/secretmanager-api.json index a11ed9e0e8..ed654365fd 100644 --- a/etc/api/secretmanager/v1beta1/secretmanager-api.json +++ b/etc/api/secretmanager/v1beta1/secretmanager-api.json @@ -300,7 +300,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -628,7 +628,7 @@ } } }, - "revision": "20200403", + "revision": "20200703", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { @@ -658,7 +658,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -676,7 +676,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -717,7 +717,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -879,7 +879,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -902,7 +902,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1020,7 +1020,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/securitycenter/v1/securitycenter-api.json b/etc/api/securitycenter/v1/securitycenter-api.json index 5676324f9d..563acebdd8 100644 --- a/etc/api/securitycenter/v1/securitycenter-api.json +++ b/etc/api/securitycenter/v1/securitycenter-api.json @@ -149,7 +149,7 @@ "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the settings resource.\n\n If empty all mutable fields will be updated.", + "description": "The FieldMask to use when updating the settings resource.\n\nIf empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -214,13 +214,13 @@ "type": "string" }, "fieldMask": { - "description": "Optional. A field mask to specify the ListAssetsResult fields to be listed in the\nresponse.\nAn empty field mask will list all fields.", + "description": "A field mask to specify the ListAssetsResult fields to be listed in the\nresponse.\nAn empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets.\nThe expression is a list of zero or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. The fields map to those\ndefined in the Asset resource. Examples include:\n\n* name\n* security_center_properties.resource_name\n* resource_properties.a_property\n* security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following are the allowed field and operator combinations:\n\n* name: `=`\n* update_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"update_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"update_time = 1560208038000\"\n\n* create_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"create_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"create_time = 1560208038000\"\n\n* iam_policy.policy_blob: `=`, `:`\n* resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n* security_marks.marks: `=`, `:`\n* security_center_properties.resource_name: `=`, `:`\n* security_center_properties.resource_display_name: `=`, `:`\n* security_center_properties.resource_type: `=`, `:`\n* security_center_properties.resource_parent: `=`, `:`\n* security_center_properties.resource_parent_display_name: `=`, `:`\n* security_center_properties.resource_project: `=`, `:`\n* security_center_properties.resource_project_display_name: `=`, `:`\n* security_center_properties.resource_owners: `=`, `:`\n\nFor example, `resource_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: \"resource_properties.my_property : \\\"\\\"\"\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: \"-resource_properties.my_property : \\\"\\\"\"", + "description": "Expression that defines the filter to apply across assets.\nThe expression is a list of zero or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. The fields map to those\ndefined in the Asset resource. Examples include:\n\n* name\n* security_center_properties.resource_name\n* resource_properties.a_property\n* security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following are the allowed field and operator combinations:\n\n* name: `=`\n* update_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `update_time = \"2019-06-10T16:07:18-07:00\"`\n `update_time = 1560208038000`\n\n* create_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `create_time = \"2019-06-10T16:07:18-07:00\"`\n `create_time = 1560208038000`\n\n* iam_policy.policy_blob: `=`, `:`\n* resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n* security_marks.marks: `=`, `:`\n* security_center_properties.resource_name: `=`, `:`\n* security_center_properties.resource_display_name: `=`, `:`\n* security_center_properties.resource_type: `=`, `:`\n* security_center_properties.resource_parent: `=`, `:`\n* security_center_properties.resource_parent_display_name: `=`, `:`\n* security_center_properties.resource_project: `=`, `:`\n* security_center_properties.resource_project_display_name: `=`, `:`\n* security_center_properties.resource_owners: `=`, `:`\n\nFor example, `resource_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `resource_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-resource_properties.my_property : \"\"`", "location": "query", "type": "string" }, @@ -454,7 +454,7 @@ ] }, "patch": { - "description": "\nUpdates a notification config.", + "description": "\nUpdates a notification config. The following update\nfields are allowed: description, pubsub_topic, streaming_config.filter", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.notificationConfigs.patch", @@ -899,13 +899,13 @@ "type": "string" }, "fieldMask": { - "description": "Optional. A field mask to specify the Finding fields to be listed in the response.\nAn empty field mask will list all fields.", + "description": "A field mask to specify the Finding fields to be listed in the response.\nAn empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n * name\n * source_properties.a_property\n * security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\nname: `=`\nparent: `=`, `:`\nresource_name: `=`, `:`\nstate: `=`, `:`\ncategory: `=`, `:`\nexternal_uri: `=`, `:`\nevent_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"event_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"event_time = 1560208038000\"\n\nsecurity_marks.marks: `=`, `:`\nsource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: \"source_properties.my_property : \\\"\\\"\"\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: \"-source_properties.my_property : \\\"\\\"\"", + "description": "Expression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n * name\n * source_properties.a_property\n * security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\nname: `=`\nparent: `=`, `:`\nresource_name: `=`, `:`\nstate: `=`, `:`\ncategory: `=`, `:`\nexternal_uri: `=`, `:`\nevent_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `event_time = \"2019-06-10T16:07:18-07:00\"`\n `event_time = 1560208038000`\n\nsecurity_marks.marks: `=`, `:`\nsource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `source_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-source_properties.my_property : \"\"`", "location": "query", "type": "string" }, @@ -1056,7 +1056,7 @@ } } }, - "revision": "20200406", + "revision": "20200703", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Asset": { @@ -1128,7 +1128,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1146,7 +1146,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1181,7 +1181,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1227,7 +1227,7 @@ "type": "object" }, "Finding": { - "description": "Security Command Center finding.\n\nA finding is a record of assessment data like security, risk, health, or\nprivacy, that is ingested into Security Command Center for presentation,\nnotification, analysis, policy testing, and enforcement. For example, a\ncross-site scripting (XSS) vulnerability in an App Engine application is a\nfinding.\n\nWhen adding a new field hidden behind a visibility label, ensure it is also\nhidden from Notifications:\nhttp://google3/java/com/google/cloud/security/riskdashboard/notification/actions/streaming/FindingTranslator.java?l=26", + "description": "Security Command Center finding.\n\nA finding is a record of assessment data like security, risk, health, or\nprivacy, that is ingested into Security Command Center for presentation,\nnotification, analysis, policy testing, and enforcement. For example, a\ncross-site scripting (XSS) vulnerability in an App Engine application is a\nfinding.", "id": "Finding", "properties": { "category": { @@ -1294,7 +1294,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1304,7 +1304,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1322,6 +1322,37 @@ "notificationConfigName": { "description": "Name of the notification config that generated current notification.", "type": "string" + }, + "resource": { + "$ref": "GoogleCloudSecuritycenterV1Resource", + "description": "The Cloud resource tied to this notification's Finding." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV1Resource": { + "description": "\nInformation related to the Google Cloud resource.", + "id": "GoogleCloudSecuritycenterV1Resource", + "properties": { + "name": { + "description": "The full resource name of the resource. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "\nThe human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "\nThe human readable name of project that the resource belongs to.", + "type": "string" } }, "type": "object" @@ -1507,6 +1538,10 @@ "description": "Name of the notification config that generated current notification.", "type": "string" }, + "resource": { + "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", + "description": "The Cloud resource tied to the notification." + }, "temporalAsset": { "$ref": "GoogleCloudSecuritycenterV1p1beta1TemporalAsset", "description": "If it's an asset based notification config, this field will be\npopulated." @@ -1514,6 +1549,33 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV1p1beta1Resource": { + "description": "\nInformation related to the Google Cloud resource.", + "id": "GoogleCloudSecuritycenterV1p1beta1Resource", + "properties": { + "name": { + "description": "The full resource name of the resource. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "\nThe human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "\nThe human readable name of project that the resource belongs to.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", @@ -1639,7 +1701,7 @@ "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets.\nThe expression is a list of zero or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. The fields map to those\ndefined in the Asset resource. Examples include:\n\n* name\n* security_center_properties.resource_name\n* resource_properties.a_property\n* security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n* name: `=`\n* update_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"update_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"update_time = 1560208038000\"\n\n* create_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"create_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"create_time = 1560208038000\"\n\n* iam_policy.policy_blob: `=`, `:`\n* resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n* security_marks.marks: `=`, `:`\n* security_center_properties.resource_name: `=`, `:`\n* security_center_properties.resource_display_name: `=`, `:`\n* security_center_properties.resource_type: `=`, `:`\n* security_center_properties.resource_parent: `=`, `:`\n* security_center_properties.resource_parent_display_name: `=`, `:`\n* security_center_properties.resource_project: `=`, `:`\n* security_center_properties.resource_project_display_name: `=`, `:`\n* security_center_properties.resource_owners: `=`, `:`\n\nFor example, `resource_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: \"resource_properties.my_property : \\\"\\\"\"\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: \"-resource_properties.my_property : \\\"\\\"\"", + "description": "Expression that defines the filter to apply across assets.\nThe expression is a list of zero or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. The fields map to those\ndefined in the Asset resource. Examples include:\n\n* name\n* security_center_properties.resource_name\n* resource_properties.a_property\n* security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n* name: `=`\n* update_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `update_time = \"2019-06-10T16:07:18-07:00\"`\n `update_time = 1560208038000`\n\n* create_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `create_time = \"2019-06-10T16:07:18-07:00\"`\n `create_time = 1560208038000`\n\n* iam_policy.policy_blob: `=`, `:`\n* resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n* security_marks.marks: `=`, `:`\n* security_center_properties.resource_name: `=`, `:`\n* security_center_properties.resource_display_name: `=`, `:`\n* security_center_properties.resource_type: `=`, `:`\n* security_center_properties.resource_parent: `=`, `:`\n* security_center_properties.resource_parent_display_name: `=`, `:`\n* security_center_properties.resource_project: `=`, `:`\n* security_center_properties.resource_project_display_name: `=`, `:`\n* security_center_properties.resource_owners: `=`, `:`\n\nFor example, `resource_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `resource_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-resource_properties.my_property : \"\"`", "type": "string" }, "groupBy": { @@ -1701,7 +1763,7 @@ "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n * name\n * source_properties.a_property\n * security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n* name: `=`\n* parent: `=`, `:`\n* resource_name: `=`, `:`\n* state: `=`, `:`\n* category: `=`, `:`\n* external_uri: `=`, `:`\n* event_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"event_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"event_time = 1560208038000\"\n\n* security_marks.marks: `=`, `:`\n* source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: \"source_properties.my_property : \\\"\\\"\"\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: \"-source_properties.my_property : \\\"\\\"\"", + "description": "Expression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n * name\n * source_properties.a_property\n * security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n* name: `=`\n* parent: `=`, `:`\n* resource_name: `=`, `:`\n* state: `=`, `:`\n* category: `=`, `:`\n* external_uri: `=`, `:`\n* event_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `event_time = \"2019-06-10T16:07:18-07:00\"`\n `event_time = 1560208038000`\n\n* security_marks.marks: `=`, `:`\n* source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `source_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-source_properties.my_property : \"\"`", "type": "string" }, "groupBy": { @@ -2035,7 +2097,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -2058,7 +2120,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2193,7 +2255,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/securitycenter/v1beta1/securitycenter-api.json b/etc/api/securitycenter/v1beta1/securitycenter-api.json index 757c046d9b..b0a85f1d7e 100644 --- a/etc/api/securitycenter/v1beta1/securitycenter-api.json +++ b/etc/api/securitycenter/v1beta1/securitycenter-api.json @@ -896,7 +896,7 @@ } } }, - "revision": "20200406", + "revision": "20200703", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Asset": { @@ -964,7 +964,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -982,7 +982,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1017,7 +1017,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1069,7 +1069,7 @@ "type": "object" }, "Finding": { - "description": "Security Command Center finding.\n\nA finding is a record of assessment data like security, risk, health, or\nprivacy, that is ingested into Security Command Center for presentation,\nnotification, analysis, policy testing, and enforcement. For example, a\ncross-site scripting (XSS) vulnerability in an App Engine application is a\nfinding.\n\nWhen adding a new field hidden behind a visibility label, ensure it is also\nhidden from Notifications:\nhttp://google3/java/com/google/cloud/security/riskdashboard/notification/actions/streaming/FindingTranslator.java?l=26", + "description": "Security Command Center finding.\n\nA finding is a record of assessment data like security, risk, health, or\nprivacy, that is ingested into Security Command Center for presentation,\nnotification, analysis, policy testing, and enforcement. For example, a\ncross-site scripting (XSS) vulnerability in an App Engine application is a\nfinding.", "id": "Finding", "properties": { "category": { @@ -1136,7 +1136,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1146,7 +1146,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1164,6 +1164,37 @@ "notificationConfigName": { "description": "Name of the notification config that generated current notification.", "type": "string" + }, + "resource": { + "$ref": "GoogleCloudSecuritycenterV1Resource", + "description": "The Cloud resource tied to this notification's Finding." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV1Resource": { + "description": "\nInformation related to the Google Cloud resource.", + "id": "GoogleCloudSecuritycenterV1Resource", + "properties": { + "name": { + "description": "The full resource name of the resource. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "\nThe human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "\nThe human readable name of project that the resource belongs to.", + "type": "string" } }, "type": "object" @@ -1429,6 +1460,10 @@ "description": "Name of the notification config that generated current notification.", "type": "string" }, + "resource": { + "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", + "description": "The Cloud resource tied to the notification." + }, "temporalAsset": { "$ref": "GoogleCloudSecuritycenterV1p1beta1TemporalAsset", "description": "If it's an asset based notification config, this field will be\npopulated." @@ -1436,6 +1471,33 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV1p1beta1Resource": { + "description": "\nInformation related to the Google Cloud resource.", + "id": "GoogleCloudSecuritycenterV1p1beta1Resource", + "properties": { + "name": { + "description": "The full resource name of the resource. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "\nThe human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "\nThe human readable name of project that the resource belongs to.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", @@ -1855,7 +1917,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -1878,7 +1940,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1974,7 +2036,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/securitycenter/v1p1alpha1/securitycenter-api.json b/etc/api/securitycenter/v1p1alpha1/securitycenter-api.json index 86b5e13817..c1017132b1 100644 --- a/etc/api/securitycenter/v1p1alpha1/securitycenter-api.json +++ b/etc/api/securitycenter/v1p1alpha1/securitycenter-api.json @@ -230,7 +230,7 @@ } } }, - "revision": "20200406", + "revision": "20200703", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Empty": { @@ -240,7 +240,7 @@ "type": "object" }, "Finding": { - "description": "Security Command Center finding.\n\nA finding is a record of assessment data like security, risk, health, or\nprivacy, that is ingested into Security Command Center for presentation,\nnotification, analysis, policy testing, and enforcement. For example, a\ncross-site scripting (XSS) vulnerability in an App Engine application is a\nfinding.\n\nWhen adding a new field hidden behind a visibility label, ensure it is also\nhidden from Notifications:\nhttp://google3/java/com/google/cloud/security/riskdashboard/notification/actions/streaming/FindingTranslator.java?l=26", + "description": "Security Command Center finding.\n\nA finding is a record of assessment data like security, risk, health, or\nprivacy, that is ingested into Security Command Center for presentation,\nnotification, analysis, policy testing, and enforcement. For example, a\ncross-site scripting (XSS) vulnerability in an App Engine application is a\nfinding.", "id": "Finding", "properties": { "category": { @@ -312,6 +312,37 @@ "notificationConfigName": { "description": "Name of the notification config that generated current notification.", "type": "string" + }, + "resource": { + "$ref": "GoogleCloudSecuritycenterV1Resource", + "description": "The Cloud resource tied to this notification's Finding." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV1Resource": { + "description": "\nInformation related to the Google Cloud resource.", + "id": "GoogleCloudSecuritycenterV1Resource", + "properties": { + "name": { + "description": "The full resource name of the resource. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "\nThe human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "\nThe human readable name of project that the resource belongs to.", + "type": "string" } }, "type": "object" @@ -497,6 +528,10 @@ "description": "Name of the notification config that generated current notification.", "type": "string" }, + "resource": { + "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", + "description": "The Cloud resource tied to the notification." + }, "temporalAsset": { "$ref": "GoogleCloudSecuritycenterV1p1beta1TemporalAsset", "description": "If it's an asset based notification config, this field will be\npopulated." @@ -504,6 +539,33 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV1p1beta1Resource": { + "description": "\nInformation related to the Google Cloud resource.", + "id": "GoogleCloudSecuritycenterV1p1beta1Resource", + "properties": { + "name": { + "description": "The full resource name of the resource. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "\nThe human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "\nThe human readable name of project that the resource belongs to.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", diff --git a/etc/api/securitycenter/v1p1beta1/securitycenter-api.json b/etc/api/securitycenter/v1p1beta1/securitycenter-api.json index 189c7930d6..5697a330ca 100644 --- a/etc/api/securitycenter/v1p1beta1/securitycenter-api.json +++ b/etc/api/securitycenter/v1p1beta1/securitycenter-api.json @@ -214,13 +214,13 @@ "type": "string" }, "fieldMask": { - "description": "Optional.\nA field mask to specify the ListAssetsResult fields to be listed in the\nresponse.\nAn empty field mask will list all fields.", + "description": "\nA field mask to specify the ListAssetsResult fields to be listed in the\nresponse.\nAn empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets.\nThe expression is a list of zero or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. The fields map to those\ndefined in the Asset resource. Examples include:\n\n* name\n* security_center_properties.resource_name\n* resource_properties.a_property\n* security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following are the allowed field and operator combinations:\n\n* name: `=`\n* update_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"update_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"update_time = 1560208038000\"\n\n* create_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"create_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"create_time = 1560208038000\"\n\n* iam_policy.policy_blob: `=`, `:`\n* resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n* security_marks.marks: `=`, `:`\n* security_center_properties.resource_name: `=`, `:`\n* security_center_properties.resource_display_name: `=`, `:`\n* security_center_properties.resource_type: `=`, `:`\n* security_center_properties.resource_parent: `=`, `:`\n* security_center_properties.resource_parent_display_name: `=`, `:`\n* security_center_properties.resource_project: `=`, `:`\n* security_center_properties.resource_project_display_name: `=`, `:`\n* security_center_properties.resource_owners: `=`, `:`\n\nFor example, `resource_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: \"resource_properties.my_property : \\\"\\\"\"\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: \"-resource_properties.my_property : \\\"\\\"\"", + "description": "Expression that defines the filter to apply across assets.\nThe expression is a list of zero or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. The fields map to those\ndefined in the Asset resource. Examples include:\n\n* name\n* security_center_properties.resource_name\n* resource_properties.a_property\n* security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following are the allowed field and operator combinations:\n\n* name: `=`\n* update_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `update_time = \"2019-06-10T16:07:18-07:00\"`\n `update_time = 1560208038000`\n\n* create_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `create_time = \"2019-06-10T16:07:18-07:00\"`\n `create_time = 1560208038000`\n\n* iam_policy.policy_blob: `=`, `:`\n* resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n* security_marks.marks: `=`, `:`\n* security_center_properties.resource_name: `=`, `:`\n* security_center_properties.resource_display_name: `=`, `:`\n* security_center_properties.resource_type: `=`, `:`\n* security_center_properties.resource_parent: `=`, `:`\n* security_center_properties.resource_parent_display_name: `=`, `:`\n* security_center_properties.resource_project: `=`, `:`\n* security_center_properties.resource_project_display_name: `=`, `:`\n* security_center_properties.resource_owners: `=`, `:`\n\nFor example, `resource_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `resource_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-resource_properties.my_property : \"\"`", "location": "query", "type": "string" }, @@ -454,7 +454,7 @@ ] }, "patch": { - "description": "\nUpdates a notification config.", + "description": "\nUpdates a notification config. The following update\nfields are allowed: description, pubsub_topic, streaming_config.filter", "flatPath": "v1p1beta1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.notificationConfigs.patch", @@ -832,7 +832,7 @@ ], "parameters": { "findingId": { - "description": "Required. Unique identifier provided by the client within the parent scope.\nIt must be alphanumeric and less than or equal to 32 characters and\ngreater than 0 characters in length.", + "description": "Required. Unique identifier provided by the client within the parent scope.", "location": "query", "type": "string" }, @@ -899,13 +899,13 @@ "type": "string" }, "fieldMask": { - "description": "Optional.\nA field mask to specify the Finding fields to be listed in the response.\nAn empty field mask will list all fields.", + "description": "\nA field mask to specify the Finding fields to be listed in the response.\nAn empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n * name\n * source_properties.a_property\n * security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\nname: `=`\nparent: `=`, `:`\nresource_name: `=`, `:`\nstate: `=`, `:`\ncategory: `=`, `:`\nexternal_uri: `=`, `:`\nevent_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"event_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"event_time = 1560208038000\"\n\nsecurity_marks.marks: `=`, `:`\nsource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: \"source_properties.my_property : \\\"\\\"\"\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: \"-source_properties.my_property : \\\"\\\"\"", + "description": "Expression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n * name\n * source_properties.a_property\n * security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\nname: `=`\nparent: `=`, `:`\nresource_name: `=`, `:`\nstate: `=`, `:`\ncategory: `=`, `:`\nexternal_uri: `=`, `:`\nevent_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `event_time = \"2019-06-10T16:07:18-07:00\"`\n `event_time = 1560208038000`\n\nsecurity_marks.marks: `=`, `:`\nsource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `source_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-source_properties.my_property : \"\"`", "location": "query", "type": "string" }, @@ -1056,7 +1056,7 @@ } } }, - "revision": "20200406", + "revision": "20200703", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "AssetDiscoveryConfig": { @@ -1088,7 +1088,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1106,7 +1106,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1141,7 +1141,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1187,7 +1187,7 @@ "type": "object" }, "Finding": { - "description": "Security Command Center finding.\n\nA finding is a record of assessment data like security, risk, health, or\nprivacy, that is ingested into Security Command Center for presentation,\nnotification, analysis, policy testing, and enforcement. For example, a\ncross-site scripting (XSS) vulnerability in an App Engine application is a\nfinding.\n\nWhen adding a new field hidden behind a visibility label, ensure it is also\nhidden from Notifications:\nhttp://google3/java/com/google/cloud/security/riskdashboard/notification/actions/streaming/FindingTranslator.java?l=26", + "description": "Security Command Center finding.\n\nA finding is a record of assessment data like security, risk, health, or\nprivacy, that is ingested into Security Command Center for presentation,\nnotification, analysis, policy testing, and enforcement. For example, a\ncross-site scripting (XSS) vulnerability in an App Engine application is a\nfinding.", "id": "Finding", "properties": { "category": { @@ -1254,7 +1254,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1264,7 +1264,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1282,6 +1282,37 @@ "notificationConfigName": { "description": "Name of the notification config that generated current notification.", "type": "string" + }, + "resource": { + "$ref": "GoogleCloudSecuritycenterV1Resource", + "description": "The Cloud resource tied to this notification's Finding." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV1Resource": { + "description": "\nInformation related to the Google Cloud resource.", + "id": "GoogleCloudSecuritycenterV1Resource", + "properties": { + "name": { + "description": "The full resource name of the resource. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "\nThe human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "\nThe human readable name of project that the resource belongs to.", + "type": "string" } }, "type": "object" @@ -1467,6 +1498,10 @@ "description": "Name of the notification config that generated current notification.", "type": "string" }, + "resource": { + "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", + "description": "The Cloud resource tied to the notification." + }, "temporalAsset": { "$ref": "GoogleCloudSecuritycenterV1p1beta1TemporalAsset", "description": "If it's an asset based notification config, this field will be\npopulated." @@ -1474,6 +1509,33 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV1p1beta1Resource": { + "description": "\nInformation related to the Google Cloud resource.", + "id": "GoogleCloudSecuritycenterV1p1beta1Resource", + "properties": { + "name": { + "description": "The full resource name of the resource. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "\nThe human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "\nThe human readable name of project that the resource belongs to.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", @@ -1599,7 +1661,7 @@ "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets.\nThe expression is a list of zero or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. The fields map to those\ndefined in the Asset resource. Examples include:\n\n* name\n* security_center_properties.resource_name\n* resource_properties.a_property\n* security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n* name: `=`\n* update_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"update_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"update_time = 1560208038000\"\n\n* create_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"create_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"create_time = 1560208038000\"\n\n* iam_policy.policy_blob: `=`, `:`\n* resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n* security_marks.marks: `=`, `:`\n* security_center_properties.resource_name: `=`, `:`\n* security_center_properties.resource_name_display_name: `=`, `:`\n* security_center_properties.resource_type: `=`, `:`\n* security_center_properties.resource_parent: `=`, `:`\n* security_center_properties.resource_parent_display_name: `=`, `:`\n* security_center_properties.resource_project: `=`, `:`\n* security_center_properties.resource_project_display_name: `=`, `:`\n* security_center_properties.resource_owners: `=`, `:`\n\nFor example, `resource_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: \"resource_properties.my_property : \\\"\\\"\"\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: \"-resource_properties.my_property : \\\"\\\"\"", + "description": "Expression that defines the filter to apply across assets.\nThe expression is a list of zero or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. The fields map to those\ndefined in the Asset resource. Examples include:\n\n* name\n* security_center_properties.resource_name\n* resource_properties.a_property\n* security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n* name: `=`\n* update_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `update_time = \"2019-06-10T16:07:18-07:00\"`\n `update_time = 1560208038000`\n\n* create_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `create_time = \"2019-06-10T16:07:18-07:00\"`\n `create_time = 1560208038000`\n\n* iam_policy.policy_blob: `=`, `:`\n* resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n* security_marks.marks: `=`, `:`\n* security_center_properties.resource_name: `=`, `:`\n* security_center_properties.resource_name_display_name: `=`, `:`\n* security_center_properties.resource_type: `=`, `:`\n* security_center_properties.resource_parent: `=`, `:`\n* security_center_properties.resource_parent_display_name: `=`, `:`\n* security_center_properties.resource_project: `=`, `:`\n* security_center_properties.resource_project_display_name: `=`, `:`\n* security_center_properties.resource_owners: `=`, `:`\n\nFor example, `resource_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `resource_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-resource_properties.my_property : \"\"`", "type": "string" }, "groupBy": { @@ -1661,7 +1723,7 @@ "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n * name\n * source_properties.a_property\n * security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n* name: `=`\n* parent: `=`, `:`\n* resource_name: `=`, `:`\n* state: `=`, `:`\n* category: `=`, `:`\n* external_uri: `=`, `:`\n* event_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n \"event_time = \\\"2019-06-10T16:07:18-07:00\\\"\"\n \"event_time = 1560208038000\"\n\n* security_marks.marks: `=`, `:`\n* source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: \"source_properties.my_property : \\\"\\\"\"\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: \"-source_properties.my_property : \\\"\\\"\"", + "description": "Expression that defines the filter to apply across findings.\nThe expression is a list of one or more restrictions combined via logical\noperators `AND` and `OR`.\nParentheses are supported, and `OR` has higher precedence than `AND`.\n\nRestrictions have the form ` ` and may have a `-`\ncharacter in front of them to indicate negation. Examples include:\n\n * name\n * source_properties.a_property\n * security_marks.marks.marka\n\nThe supported operators are:\n\n* `=` for all value types.\n* `>`, `<`, `>=`, `<=` for integer values.\n* `:`, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals `true` and `false` without quotes.\n\nThe following field and operator combinations are supported:\n\n* name: `=`\n* parent: `=`, `:`\n* resource_name: `=`, `:`\n* state: `=`, `:`\n* category: `=`, `:`\n* external_uri: `=`, `:`\n* event_time: `=`, `>`, `<`, `>=`, `<=`\n\n Usage: This should be milliseconds since epoch or an RFC3339 string.\n Examples:\n `event_time = \"2019-06-10T16:07:18-07:00\"`\n `event_time = 1560208038000`\n\n* security_marks.marks: `=`, `:`\n* source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`\n\nFor example, `source_properties.size = 100` is a valid filter string.\n\nUse a partial match on the empty string to filter based on a property\nexisting: `source_properties.my_property : \"\"`\n\nUse a negated partial match on the empty string to filter based on a\nproperty not existing: `-source_properties.my_property : \"\"`", "type": "string" }, "groupBy": { @@ -1996,7 +2058,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -2019,7 +2081,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2112,7 +2174,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/serviceconsumermanagement/v1/serviceconsumermanagement-api.json b/etc/api/serviceconsumermanagement/v1/serviceconsumermanagement-api.json index fe9766c9b4..ae3609a81d 100644 --- a/etc/api/serviceconsumermanagement/v1/serviceconsumermanagement-api.json +++ b/etc/api/serviceconsumermanagement/v1/serviceconsumermanagement-api.json @@ -542,7 +542,7 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "AddTenantProjectRequest": { @@ -804,10 +804,6 @@ "description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.", "type": "string" }, - "renameTo": { - "description": "Unimplemented. Do not use.\n\nThe new name the selected proto elements should be renamed to.\n\nThe package, the service and the method can all be renamed.\nThe backend server should implement the renamed proto. However, clients\nshould call the original method, and ESF routes the traffic to the renamed\nmethod.\n\nHTTP clients should call the URL mapped to the original method.\ngRPC and Stubby clients should call the original method with package name.\n\nFor legacy reasons, ESF allows Stubby clients to call with the\nshort name (without the package name). However, for API Versioning(or\nmultiple methods mapped to the same short name), all Stubby clients must\ncall the method's full name with the package name, otherwise the first one\n(selector) wins.\n\nIf this `rename_to` is specified with a trailing `*`, the `selector` must\nbe specified with a trailing `*` as well. The all element short names\nmatched by the `*` in the selector will be kept in the `rename_to`.\n\nFor example,\n rename_rules:\n - selector: |-\n google.example.library.v1.*\n rename_to: google.example.library.*\n\nThe selector matches `google.example.library.v1.Library.CreateShelf` and\n`google.example.library.v1.Library.CreateBook`, they will be renamed to\n`google.example.library.Library.CreateShelf` and\n`google.example.library.Library.CreateBook`. It essentially renames the\nproto package name section of the matched proto service and methods.", - "type": "string" - }, "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" @@ -816,7 +812,7 @@ "type": "object" }, "Billing": { - "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing, `consumer_destinations` is the only supported destination and\nthe monitored resources need at least one label key\n`cloud.googleapis.com/location` to indicate the location of the billing\nusage, using different monitored resources between monitoring and billing is\nrecommended so they can be evolved independently:\n\n\n monitored_resources:\n - type: library.googleapis.com/billing_branch\n labels:\n - key: cloud.googleapis.com/location\n description: |\n Predefined label to support billing location restriction.\n - key: city\n description: |\n Custom label to define the city where the library branch is located\n in.\n - key: name\n description: Custom label to define the name of the library branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/billing_branch\n metrics:\n - library.googleapis.com/book/borrowed_count", "id": "Billing", "properties": { "consumerDestinations": { @@ -1078,13 +1074,6 @@ "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed.", "type": "boolean" }, - "features": { - "description": "The list of features enabled on this endpoint.", - "items": { - "type": "string" - }, - "type": "array" - }, "name": { "description": "The canonical name of this endpoint.", "type": "string" @@ -1534,7 +1523,7 @@ "type": "object" }, "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", + "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.\n\nThe following are specific rules for service defined Monitoring metric\ndescriptors:\n\n* `type`, `metric_kind`, `value_type`, `description`, `display_name`,\n `launch_stage` fields are all required. The `unit` field must be specified\n if the `value_type` is any of DOUBLE, INT64, DISTRIBUTION.\n* Maximum of default 500 metric descriptors per service is allowed.\n* Maximum of default 10 labels per metric descriptor is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas", "id": "MetricDescriptor", "properties": { "description": { @@ -1546,7 +1535,7 @@ "type": "string" }, "labels": { - "description": "The set of labels that can be used to describe a specific\ninstance of this metric type. For example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", + "description": "The set of labels that can be used to describe a specific\ninstance of this metric type.\n\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", "items": { "$ref": "LabelDescriptor" }, @@ -1608,11 +1597,11 @@ "type": "string" }, "type": { - "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined metric types have the DNS name\n`custom.googleapis.com` or `external.googleapis.com`. Metric types should\nuse a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded.\n\nAll service defined metrics must be prefixed with the service name, in the\nformat of `{service name}/{relative metric name}`, such as\n`cloudsql.googleapis.com/database/cpu/utilization`. The relative metric\nname must follow:\n\n* Only upper and lower-case letters, digits, '/' and underscores '_' are\n allowed.\n* The maximum number of characters allowed for the relative_metric_name is\n 100.\n\nAll user-defined metric types have the DNS name\n`custom.googleapis.com`, `external.googleapis.com`, or\n`logging.googleapis.com/user/`.\n\nMetric types should use a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", "type": "string" }, "unit": { - "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", + "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n* `1` dimensionless\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", "type": "string" }, "valueType": { @@ -1716,7 +1705,7 @@ "type": "object" }, "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent APIs can support different monitored resource types. APIs generally\nprovide a `list` method that returns the monitored resource descriptors used\nby the API.", + "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent services can support different monitored resource types.\n\nThe following are specific rules to service defined monitored resources for\nMonitoring and Logging:\n\n* The `type`, `display_name`, `description`, `labels` and `launch_stage`\n fields are all required.\n* The first label of the monitored resource descriptor must be\n `resource_container`. There are legacy monitored resource descritptors\n start with `project_id`.\n* It must include a `location` label.\n* Maximum of default 5 service defined monitored resource descriptors\n is allowed per service.\n* Maximum of default 10 labels per monitored resource is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas\n", "id": "MonitoredResourceDescriptor", "properties": { "description": { @@ -1728,7 +1717,7 @@ "type": "string" }, "labels": { - "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", + "description": "Required. A set of labels used to describe instances of this monitored\nresource type.\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, an individual Google Cloud SQL database is\nidentified by values for the labels `database_id` and `location`.", "items": { "$ref": "LabelDescriptor" }, @@ -1763,25 +1752,25 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type\n`\"cloudsql_database\"` represents databases in Google Cloud SQL.\nThe maximum length of this value is 256 characters.", + "description": "Required. The monitored resource type. For example, the type\n`cloudsql_database` represents databases in Google Cloud SQL.\n\nAll service defined monitored resource types must be prefixed with the\nservice name, in the format of `{service name}/{relative resource name}`.\nThe relative resource name must follow:\n\n* Only upper and lower-case letters and digits are allowed.\n* It must start with upper case character and is recommended to use Upper\n Camel Case style.\n* The maximum number of characters allowed for the relative_resource_name\n is 100.\n\nNote there are legacy service monitored resources not following this rule.", "type": "string" } }, "type": "object" }, "Monitoring": { - "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count", + "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/num_overdue` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/Branch\n display_name: \"Library Branch\"\n description: \"A branch of a library.\"\n launch_stage: GA\n labels:\n - key: resource_container\n description: \"The Cloud container (ie. project id) for the Branch.\"\n - key: location\n description: \"The location of the library branch.\"\n - key: branch_id\n description: \"The id of the branch.\"\n metrics:\n - name: library.googleapis.com/book/returned_count\n display_name: \"Books Returned\"\n description: \"The count of books that have been returned.\"\n launch_stage: GA\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n - name: library.googleapis.com/book/num_overdue\n display_name: \"Books Overdue\"\n description: \"The current number of overdue books.\"\n launch_stage: GA\n metric_kind: GAUGE\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/num_overdue", "id": "Monitoring", "properties": { "consumerDestinations": { - "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, "type": "array" }, "producerDestinations": { - "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, @@ -2590,10 +2579,63 @@ }, "type": "object" }, + "V1Beta1ImportProducerQuotaPoliciesResponse": { + "description": "Response message for ImportProducerQuotaPolicies", + "id": "V1Beta1ImportProducerQuotaPoliciesResponse", + "properties": { + "policies": { + "description": "The policies that were created from the imported data.", + "items": { + "$ref": "V1Beta1ProducerQuotaPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "V1Beta1ProducerQuotaPolicy": { + "description": "Quota policy created by service producer.", + "id": "V1Beta1ProducerQuotaPolicy", + "properties": { + "container": { + "description": "The cloud resource container at which the quota policy is created. The\nformat is {container_type}/{container_number}", + "type": "string" + }, + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "\nIf this map is nonempty, then this policy applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an policy on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe policy is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n\n* Keys that are not defined in the limit's unit are not valid keys.\n Any string appearing in {brackets} in the unit (besides {project} or\n {user}) is a defined key.\n* \"project\" is not a valid key; the project is already specified in\n the parent resource name.\n* \"user\" is not a valid key; the API does not support quota polcies\n that apply only to a specific user.\n* If \"region\" appears as a key, its value must be a valid Cloud region.\n* If \"zone\" appears as a key, its value must be a valid Cloud zone.\n* If any valid key other than \"region\" or \"zone\" appears in the map, then\n all valid keys other than \"region\" or \"zone\" must also appear in the\n map.", + "type": "object" + }, + "metric": { + "description": "The name of the metric to which this policy applies.\n\nAn example name would be:\n`compute.googleapis.com/cpus`", + "type": "string" + }, + "name": { + "description": "The resource name of the producer policy.\nAn example name would be:\n`services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d`", + "type": "string" + }, + "policyValue": { + "description": "The quota policy value.\nCan be any nonnegative integer, or -1 (unlimited quota).", + "format": "int64", + "type": "string" + }, + "unit": { + "description": "The limit unit of the limit to which this policy applies.\n\nAn example unit would be:\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.", + "type": "string" + } + }, + "type": "object" + }, "V1Beta1QuotaOverride": { "description": "A quota override", "id": "V1Beta1QuotaOverride", "properties": { + "adminOverrideAncestor": { + "description": "The resource name of the ancestor that requested the override. For example:\n\"organizations/12345\" or \"folders/67890\".\nUsed by admin overrides only.", + "type": "string" + }, "dimensions": { "additionalProperties": { "type": "string" diff --git a/etc/api/serviceconsumermanagement/v1beta1/serviceconsumermanagement-api.json b/etc/api/serviceconsumermanagement/v1beta1/serviceconsumermanagement-api.json new file mode 100644 index 0000000000..d2e03ac36b --- /dev/null +++ b/etc/api/serviceconsumermanagement/v1beta1/serviceconsumermanagement-api.json @@ -0,0 +1,2561 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://serviceconsumermanagement.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Service Consumer Management", + "description": "Manages the service consumers of a Service Infrastructure service.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/service-consumer-management/docs/overview", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "serviceconsumermanagement:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://serviceconsumermanagement.mtls.googleapis.com/", + "name": "serviceconsumermanagement", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta1/operations/{operationsId}", + "httpMethod": "GET", + "id": "serviceconsumermanagement.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "services": { + "resources": { + "consumerQuotaMetrics": { + "methods": { + "get": { + "description": "Retrieves a summary of quota information for a specific quota metric.", + "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}", + "httpMethod": "GET", + "id": "serviceconsumermanagement.services.consumerQuotaMetrics.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the quota metric, returned by a\nListConsumerQuotaMetrics call.\n\nAn example name would be:\n`services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus`", + "location": "path", + "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies the level of detail for quota information in the response.", + "enum": [ + "QUOTA_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "V1Beta1ConsumerQuotaMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importProducerOverrides": { + "description": "Create or update multiple producer overrides atomically, all on the\nsame consumer, but on many different metrics or limits.\nThe name field in the quota override message should not be set.", + "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics:importProducerOverrides", + "httpMethod": "POST", + "id": "serviceconsumermanagement.services.consumerQuotaMetrics.importProducerOverrides", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The resource name of the consumer.\n\nAn example name would be:\n`services/compute.googleapis.com/projects/123`", + "location": "path", + "pattern": "^services/[^/]+/[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/consumerQuotaMetrics:importProducerOverrides", + "request": { + "$ref": "V1Beta1ImportProducerOverridesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieves a summary of all quota information about this consumer that is\nvisible to the service producer, for each quota metric defined by the\nservice. Each metric includes information about all of its defined limits.\nEach limit includes the limit configuration (quota unit, preciseness,\ndefault value), the current effective limit value, and all of the overrides\napplied to the limit.", + "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics", + "httpMethod": "GET", + "id": "serviceconsumermanagement.services.consumerQuotaMetrics.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested size of the next page of data.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token identifying which result to start with; returned by a previous list\ncall.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Parent of the quotas resource.\n\nAn example parent would be:\n`services/serviceconsumermanagement.googleapis.com/projects/123`", + "location": "path", + "pattern": "^services/[^/]+/[^/]+/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies the level of detail for quota information in the response.", + "enum": [ + "QUOTA_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/consumerQuotaMetrics", + "response": { + "$ref": "V1Beta1ListConsumerQuotaMetricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "limits": { + "methods": { + "get": { + "description": "Retrieves a summary of quota information for a specific quota limit.", + "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}", + "httpMethod": "GET", + "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the quota limit, returned by a\nListConsumerQuotaMetrics or GetConsumerQuotaMetric call.\n\nAn example name would be:\n`services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`", + "location": "path", + "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies the level of detail for quota information in the response.", + "enum": [ + "QUOTA_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "V1Beta1ConsumerQuotaLimit" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "producerOverrides": { + "methods": { + "create": { + "description": "Creates a producer override.\nA producer override is applied by the owner or administrator of a service\nto increase or decrease the amount of quota a consumer of the service is\nallowed to use.\nTo create multiple overrides at once, use ImportProducerOverrides instead.\nIf an override with the specified dimensions already exists, this call will\nfail. To overwrite an existing override if one is already present (\"upsert\"\nsemantics), use ImportProducerOverrides instead.", + "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides", + "httpMethod": "POST", + "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "force": { + "description": "Whether to force the creation of the quota override.\nIf creating an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "The resource name of the parent quota limit, returned by a\nListConsumerQuotaMetrics or GetConsumerQuotaMetric call.\n\nAn example name would be:\n`services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`", + "location": "path", + "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/producerOverrides", + "request": { + "$ref": "V1Beta1QuotaOverride" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a producer override.", + "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides/{producerOverridesId}", + "httpMethod": "DELETE", + "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Whether to force the deletion of the quota override.\nIf deleting an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The resource name of the override to delete.\n\nAn example name would be:\n`services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`", + "location": "path", + "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/producerOverrides/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all producer overrides on this limit.", + "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides", + "httpMethod": "GET", + "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested size of the next page of data.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token identifying which result to start with; returned by a previous list\ncall.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The resource name of the parent quota limit, returned by a\nListConsumerQuotaMetrics or GetConsumerQuotaMetric call.\n\nAn example name would be:\n`services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`", + "location": "path", + "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/producerOverrides", + "response": { + "$ref": "V1Beta1ListProducerOverridesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a producer override.", + "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides/{producerOverridesId}", + "httpMethod": "PATCH", + "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Whether to force the update of the quota override.\nIf updating an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The resource name of the override to update.\n\nAn example name would be:\n`services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`", + "location": "path", + "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/producerOverrides/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Update only the specified fields. If unset, all modifiable fields will be\nupdated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "V1Beta1QuotaOverride" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200708", + "rootUrl": "https://serviceconsumermanagement.googleapis.com/", + "schemas": { + "Api": { + "description": "Api is a light-weight descriptor for an API Interface.\n\nInterfaces are also described as \"protocol buffer services\" in some contexts,\nsuch as by the \"service\" keyword in a .proto file, but they are different\nfrom API Services, which represent a concrete implementation of an interface\nas opposed to simply a description of methods and bindings. They are also\nsometimes simply referred to as \"APIs\" in other contexts, such as the name of\nthis message itself. See https://cloud.google.com/apis/design/glossary for\ndetailed terminology.", + "id": "Api", + "properties": { + "methods": { + "description": "The methods of this interface, in unspecified order.", + "items": { + "$ref": "Method" + }, + "type": "array" + }, + "mixins": { + "description": "Included interfaces. See Mixin.", + "items": { + "$ref": "Mixin" + }, + "type": "array" + }, + "name": { + "description": "The fully qualified name of this interface, including package name\nfollowed by the interface's simple name.", + "type": "string" + }, + "options": { + "description": "Any metadata attached to the interface.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "sourceContext": { + "$ref": "SourceContext", + "description": "Source context for the protocol buffer service represented by this\nmessage." + }, + "syntax": { + "description": "The source syntax of the service.", + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "type": "string" + }, + "version": { + "description": "A version string for this interface. If specified, must have the form\n`major-version.minor-version`, as in `1.10`. If the minor version is\nomitted, it defaults to zero. If the entire version field is empty, the\nmajor version is derived from the package name, as outlined below. If the\nfield is not empty, the version in the package name will be verified to be\nconsistent with what is provided here.\n\nThe versioning schema uses [semantic\nversioning](http://semver.org) where the major version number\nindicates a breaking change and the minor version an additive,\nnon-breaking change. Both version numbers are signals to users\nwhat to expect from different versions, and should be carefully\nchosen based on the product plan.\n\nThe major version is also reflected in the package name of the\ninterface, which must end in `v`, as in\n`google.feature.v1`. For major versions 0 and 1, the suffix can\nbe omitted. Zero major versions must only be used for\nexperimental, non-GA interfaces.\n", + "type": "string" + } + }, + "type": "object" + }, + "AuthProvider": { + "description": "Configuration for an authentication provider, including support for\n[JSON Web Token\n(JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", + "id": "AuthProvider", + "properties": { + "audiences": { + "description": "The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, JWTs with audiences:\n - \"https://[service.name]/[google.protobuf.Api.name]\"\n - \"https://[service.name]/\"\nwill be accepted.\nFor example, if no audiences are in the setting, LibraryService API will\naccept JWTs with the following audiences:\n -\n https://library-example.googleapis.com/google.example.library.v1.LibraryService\n - https://library-example.googleapis.com/\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com", + "type": "string" + }, + "authorizationUrl": { + "description": "Redirect URL if JWT token is required but not present or is expired.\nImplement authorizationUrl of securityDefinitions in OpenAPI spec.", + "type": "string" + }, + "id": { + "description": "The unique identifier of the auth provider. It will be referred to by\n`AuthRequirement.provider_id`.\n\nExample: \"bookstore_auth\".", + "type": "string" + }, + "issuer": { + "description": "Identifies the principal that issued the JWT. See\nhttps://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1\nUsually a URL or an email address.\n\nExample: https://securetoken.google.com\nExample: 1234567-compute@developer.gserviceaccount.com", + "type": "string" + }, + "jwksUri": { + "description": "URL of the provider's public key set to validate signature of the JWT. See\n[OpenID\nDiscovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).\nOptional if the key set document:\n - can be retrieved from\n [OpenID\n Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of\n the issuer.\n - can be inferred from the email domain of the issuer (e.g. a Google\n service account).\n\nExample: https://www.googleapis.com/oauth2/v1/certs", + "type": "string" + }, + "jwtLocations": { + "description": "Defines the locations to extract the JWT.\n\nJWT locations can be either from HTTP headers or URL query parameters.\nThe rule is that the first match wins. The checking order is: checking\nall headers first, then URL query parameters.\n\nIf not specified, default to use following 3 locations:\n 1) Authorization: Bearer\n 2) x-goog-iap-jwt-assertion\n 3) access_token query parameter\n\nDefault locations can be specified as followings:\n jwt_locations:\n - header: Authorization\n value_prefix: \"Bearer \"\n - header: x-goog-iap-jwt-assertion\n - query: access_token", + "items": { + "$ref": "JwtLocation" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthRequirement": { + "description": "User-defined authentication requirements, including support for\n[JSON Web Token\n(JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", + "id": "AuthRequirement", + "properties": { + "audiences": { + "description": "NOTE: This will be deprecated soon, once AuthProvider.audiences is\nimplemented and accepted in all the runtime components.\n\nThe list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com", + "type": "string" + }, + "providerId": { + "description": "id from authentication provider.\n\nExample:\n\n provider_id: bookstore_auth", + "type": "string" + } + }, + "type": "object" + }, + "Authentication": { + "description": "`Authentication` defines the authentication configuration for an API.\n\nExample for an API targeted for external use:\n\n name: calendar.googleapis.com\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth", + "id": "Authentication", + "properties": { + "providers": { + "description": "Defines a set of authentication providers that a service supports.", + "items": { + "$ref": "AuthProvider" + }, + "type": "array" + }, + "rules": { + "description": "A list of authentication rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "AuthenticationRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthenticationRule": { + "description": "Authentication rules for the service.\n\nBy default, if a method has any authentication requirements, every request\nmust include a valid credential matching one of the requirements.\nIt's an error to include more than one kind of credential in a single\nrequest.\n\nIf a method doesn't have any auth requirements, request credentials will be\nignored.", + "id": "AuthenticationRule", + "properties": { + "allowWithoutCredential": { + "description": "If true, the service accepts API keys without any other credential.", + "type": "boolean" + }, + "oauth": { + "$ref": "OAuthRequirements", + "description": "The requirements for OAuth credentials." + }, + "requirements": { + "description": "Requirements for additional authentication providers.", + "items": { + "$ref": "AuthRequirement" + }, + "type": "array" + }, + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, + "Backend": { + "description": "`Backend` defines the backend configuration for a service.", + "id": "Backend", + "properties": { + "rules": { + "description": "A list of API backend rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "BackendRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "BackendRule": { + "description": "A backend rule provides configuration for an individual API element.", + "id": "BackendRule", + "properties": { + "address": { + "description": "The address of the API backend.\n\nThe scheme is used to determine the backend protocol and security.\nThe following schemes are accepted:\n\n SCHEME PROTOCOL SECURITY\n http:// HTTP None\n https:// HTTP TLS\n grpc:// gRPC None\n grpcs:// gRPC TLS\n\nIt is recommended to explicitly include a scheme. Leaving out the scheme\nmay cause constrasting behaviors across platforms.\n\nIf the port is unspecified, the default is:\n- 80 for schemes without TLS\n- 443 for schemes with TLS\n\nFor HTTP backends, use protocol\nto specify the protocol version.", + "type": "string" + }, + "deadline": { + "description": "The number of seconds to wait for a response from a request. The default\nvaries based on the request protocol and deployment environment.", + "format": "double", + "type": "number" + }, + "disableAuth": { + "description": "When disable_auth is true, a JWT ID token won't be generated and the\noriginal \"Authorization\" HTTP header will be preserved. If the header is\nused to carry the original token and is expected by the backend, this\nfield must be set to true to preserve the header.", + "type": "boolean" + }, + "jwtAudience": { + "description": "The JWT audience is used when generating a JWT ID token for the backend.\nThis ID token will be added in the HTTP \"authorization\" header, and sent\nto the backend.", + "type": "string" + }, + "minDeadline": { + "description": "Minimum deadline in seconds needed for this method. Calls having deadline\nvalue lower than this will be rejected.", + "format": "double", + "type": "number" + }, + "operationDeadline": { + "description": "The number of seconds to wait for the completion of a long running\noperation. The default is no deadline.", + "format": "double", + "type": "number" + }, + "pathTranslation": { + "enum": [ + "PATH_TRANSLATION_UNSPECIFIED", + "CONSTANT_ADDRESS", + "APPEND_PATH_TO_ADDRESS" + ], + "enumDescriptions": [ + "", + "Use the backend address as-is, with no modification to the path. If the\nURL pattern contains variables, the variable names and values will be\nappended to the query string. If a query string parameter and a URL\npattern variable have the same name, this may result in duplicate keys in\nthe query string.\n\n# Examples\n\nGiven the following operation config:\n\n Method path: /api/company/{cid}/user/{uid}\n Backend address: https://example.cloudfunctions.net/getUser\n\nRequests to the following request paths will call the backend at the\ntranslated path:\n\n Request path: /api/company/widgetworks/user/johndoe\n Translated:\n https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe\n\n Request path: /api/company/widgetworks/user/johndoe?timezone=EST\n Translated:\n https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe", + "The request path will be appended to the backend address.\n\n# Examples\n\nGiven the following operation config:\n\n Method path: /api/company/{cid}/user/{uid}\n Backend address: https://example.appspot.com\n\nRequests to the following request paths will call the backend at the\ntranslated path:\n\n Request path: /api/company/widgetworks/user/johndoe\n Translated:\n https://example.appspot.com/api/company/widgetworks/user/johndoe\n\n Request path: /api/company/widgetworks/user/johndoe?timezone=EST\n Translated:\n https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST" + ], + "type": "string" + }, + "protocol": { + "description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.", + "type": "string" + }, + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, + "Billing": { + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing, `consumer_destinations` is the only supported destination and\nthe monitored resources need at least one label key\n`cloud.googleapis.com/location` to indicate the location of the billing\nusage, using different monitored resources between monitoring and billing is\nrecommended so they can be evolved independently:\n\n\n monitored_resources:\n - type: library.googleapis.com/billing_branch\n labels:\n - key: cloud.googleapis.com/location\n description: |\n Predefined label to support billing location restriction.\n - key: city\n description: |\n Custom label to define the city where the library branch is located\n in.\n - key: name\n description: Custom label to define the name of the library branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/billing_branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "id": "Billing", + "properties": { + "consumerDestinations": { + "description": "Billing configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations per service, each one must have\na different monitored resource type. A metric can be used in at most\none consumer destination.", + "items": { + "$ref": "BillingDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "BillingDestination": { + "description": "Configuration of a specific billing destination (Currently only support\nbill against consumer project).", + "id": "BillingDestination", + "properties": { + "metrics": { + "description": "Names of the metrics to report to this billing destination.\nEach name must be defined in Service.metrics section.", + "items": { + "type": "string" + }, + "type": "array" + }, + "monitoredResource": { + "description": "The monitored resource type. The type must be defined in\nService.monitored_resources section.", + "type": "string" + } + }, + "type": "object" + }, + "Context": { + "description": "`Context` defines which contexts an API requests.\n\nExample:\n\n context:\n rules:\n - selector: \"*\"\n requested:\n - google.rpc.context.ProjectContext\n - google.rpc.context.OriginContext\n\nThe above specifies that all methods in the API request\n`google.rpc.context.ProjectContext` and\n`google.rpc.context.OriginContext`.\n\nAvailable context types are defined in package\n`google.rpc.context`.\n\nThis also provides mechanism to whitelist any protobuf message extension that\ncan be sent in grpc metadata using \u201cx-goog-ext--bin\u201d and\n\u201cx-goog-ext--jspb\u201d format. For example, list any service\nspecific protobuf types that can appear in grpc metadata as follows in your\nyaml file:\n\nExample:\n\n context:\n rules:\n - selector: \"google.example.library.v1.LibraryService.CreateBook\"\n allowed_request_extensions:\n - google.foo.v1.NewExtension\n allowed_response_extensions:\n - google.foo.v1.NewExtension\n\nYou can also specify extension ID instead of fully qualified extension name\nhere.", + "id": "Context", + "properties": { + "rules": { + "description": "A list of RPC context rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "ContextRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContextRule": { + "description": "A context rule provides information about the context for an individual API\nelement.", + "id": "ContextRule", + "properties": { + "allowedRequestExtensions": { + "description": "A list of full type names or extension IDs of extensions allowed in grpc\nside channel from client to backend.", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowedResponseExtensions": { + "description": "A list of full type names or extension IDs of extensions allowed in grpc\nside channel from backend to client.", + "items": { + "type": "string" + }, + "type": "array" + }, + "provided": { + "description": "A list of full type names of provided contexts.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requested": { + "description": "A list of full type names of requested contexts.", + "items": { + "type": "string" + }, + "type": "array" + }, + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, + "Control": { + "description": "Selects and configures the service controller used by the service. The\nservice controller handles features like abuse, quota, billing, logging,\nmonitoring, etc.", + "id": "Control", + "properties": { + "environment": { + "description": "The service control environment to use. If empty, no control plane\nfeature (like quota and billing) will be enabled.", + "type": "string" + } + }, + "type": "object" + }, + "CustomError": { + "description": "Customize service error responses. For example, list any service\nspecific protobuf types that can appear in error detail lists of\nerror responses.\n\nExample:\n\n custom_error:\n types:\n - google.foo.v1.CustomError\n - google.foo.v1.AnotherError", + "id": "CustomError", + "properties": { + "rules": { + "description": "The list of custom error rules that apply to individual API messages.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "CustomErrorRule" + }, + "type": "array" + }, + "types": { + "description": "The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomErrorRule": { + "description": "A custom error rule.", + "id": "CustomErrorRule", + "properties": { + "isErrorType": { + "description": "Mark this message as possible payload in error response. Otherwise,\nobjects of this type will be filtered when they appear in error payload.", + "type": "boolean" + }, + "selector": { + "description": "Selects messages to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, + "CustomHttpPattern": { + "description": "A custom pattern is used for defining custom HTTP verb.", + "id": "CustomHttpPattern", + "properties": { + "kind": { + "description": "The name of this custom HTTP verb.", + "type": "string" + }, + "path": { + "description": "The path matched by this custom verb.", + "type": "string" + } + }, + "type": "object" + }, + "Documentation": { + "description": "`Documentation` provides the information for describing a service.\n\nExample:\n
documentation:\n  summary: >\n    The Google Calendar API gives access\n    to most calendar features.\n  pages:\n  - name: Overview\n    content: (== include google/foo/overview.md ==)\n  - name: Tutorial\n    content: (== include google/foo/tutorial.md ==)\n    subpages;\n    - name: Java\n      content: (== include google/foo/tutorial_java.md ==)\n  rules:\n  - selector: google.calendar.Calendar.Get\n    description: >\n      ...\n  - selector: google.calendar.Calendar.Put\n    description: >\n      ...\n
\nDocumentation is provided in markdown syntax. In addition to\nstandard markdown features, definition lists, tables and fenced\ncode blocks are supported. Section headers can be provided and are\ninterpreted relative to the section nesting of the context where\na documentation fragment is embedded.\n\nDocumentation from the IDL is merged with documentation defined\nvia the config at normalization time, where documentation provided\nby config rules overrides IDL provided.\n\nA number of constructs specific to the API platform are supported\nin documentation text.\n\nIn order to reference a proto element, the following\nnotation can be used:\n
[fully.qualified.proto.name][]
\nTo override the display text used for the link, this can be used:\n
[display text][fully.qualified.proto.name]
\nText can be excluded from doc using the following notation:\n
(-- internal comment --)
\n\nA few directives are available in documentation. Note that\ndirectives must appear on a single line to be properly\nidentified. The `include` directive includes a markdown file from\nan external source:\n
(== include path/to/file ==)
\nThe `resource_for` directive marks a message to be the resource of\na collection in REST view. If it is not specified, tools attempt\nto infer the resource from the operations in a collection:\n
(== resource_for v1.shelves.books ==)
\nThe directive `suppress_warning` does not directly affect documentation\nand is documented together with service config validation.", + "id": "Documentation", + "properties": { + "documentationRootUrl": { + "description": "The URL to the root of documentation.", + "type": "string" + }, + "overview": { + "description": "Declares a single overview page. For example:\n
documentation:\n  summary: ...\n  overview: (== include overview.md ==)\n
\nThis is a shortcut for the following declaration (using pages style):\n
documentation:\n  summary: ...\n  pages:\n  - name: Overview\n    content: (== include overview.md ==)\n
\nNote: you cannot specify both `overview` field and `pages` field.", + "type": "string" + }, + "pages": { + "description": "The top level pages for the documentation set.", + "items": { + "$ref": "Page" + }, + "type": "array" + }, + "rules": { + "description": "A list of documentation rules that apply to individual API elements.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "DocumentationRule" + }, + "type": "array" + }, + "serviceRootUrl": { + "description": "Specifies the service root url if the default one (the service name\nfrom the yaml file) is not suitable. This can be seen in any fully\nspecified service urls as well as sections that show a base that other\nurls are relative to.", + "type": "string" + }, + "summary": { + "description": "A short summary of what the service does. Can only be provided by\nplain text.", + "type": "string" + } + }, + "type": "object" + }, + "DocumentationRule": { + "description": "A documentation rule provides information about individual API elements.", + "id": "DocumentationRule", + "properties": { + "deprecationDescription": { + "description": "Deprecation description of the selected element(s). It can be provided if\nan element is marked as `deprecated`.", + "type": "string" + }, + "description": { + "description": "Description of the selected API(s).", + "type": "string" + }, + "selector": { + "description": "The selector is a comma-separated list of patterns. Each pattern is a\nqualified name of the element which may end in \"*\", indicating a wildcard.\nWildcards are only allowed at the end and for a whole component of the\nqualified name, i.e. \"foo.*\" is ok, but not \"foo.b*\" or \"foo.*.bar\". A\nwildcard will match one or more components. To specify a default for all\napplicable elements, the whole pattern \"*\" is used.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Endpoint": { + "description": "`Endpoint` describes a network endpoint that serves a set of APIs.\nA service may expose any number of endpoints, and all endpoints share the\nsame service configuration, such as quota configuration and monitoring\nconfiguration.\n\nExample service configuration:\n\n name: library-example.googleapis.com\n endpoints:\n # Below entry makes 'google.example.library.v1.Library'\n # API be served from endpoint address library-example.googleapis.com.\n # It also allows HTTP OPTIONS calls to be passed to the backend, for\n # it to decide whether the subsequent cross-origin request is\n # allowed to proceed.\n - name: library-example.googleapis.com\n allow_cors: true", + "id": "Endpoint", + "properties": { + "aliases": { + "description": "DEPRECATED: This field is no longer supported. Instead of using aliases,\nplease specify multiple google.api.Endpoint for each of the intended\naliases.\n\nAdditional names that this endpoint will be hosted on.", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowCors": { + "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed.", + "type": "boolean" + }, + "name": { + "description": "The canonical name of this endpoint.", + "type": "string" + }, + "target": { + "description": "The specification of an Internet routable address of API frontend that will\nhandle requests to this [API\nEndpoint](https://cloud.google.com/apis/design/glossary). It should be\neither a valid IPv4 address or a fully-qualified domain name. For example,\n\"8.8.8.8\" or \"myservice.appspot.com\".", + "type": "string" + } + }, + "type": "object" + }, + "Enum": { + "description": "Enum type definition.", + "id": "Enum", + "properties": { + "enumvalue": { + "description": "Enum value definitions.", + "items": { + "$ref": "EnumValue" + }, + "type": "array" + }, + "name": { + "description": "Enum type name.", + "type": "string" + }, + "options": { + "description": "Protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "sourceContext": { + "$ref": "SourceContext", + "description": "The source context." + }, + "syntax": { + "description": "The source syntax.", + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "type": "string" + } + }, + "type": "object" + }, + "EnumValue": { + "description": "Enum value definition.", + "id": "EnumValue", + "properties": { + "name": { + "description": "Enum value name.", + "type": "string" + }, + "number": { + "description": "Enum value number.", + "format": "int32", + "type": "integer" + }, + "options": { + "description": "Protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + } + }, + "type": "object" + }, + "Field": { + "description": "A single field of a message type.", + "id": "Field", + "properties": { + "cardinality": { + "description": "The field cardinality.", + "enum": [ + "CARDINALITY_UNKNOWN", + "CARDINALITY_OPTIONAL", + "CARDINALITY_REQUIRED", + "CARDINALITY_REPEATED" + ], + "enumDescriptions": [ + "For fields with unknown cardinality.", + "For optional fields.", + "For required fields. Proto2 syntax only.", + "For repeated fields." + ], + "type": "string" + }, + "defaultValue": { + "description": "The string value of the default value of this field. Proto2 syntax only.", + "type": "string" + }, + "jsonName": { + "description": "The field JSON name.", + "type": "string" + }, + "kind": { + "description": "The field type.", + "enum": [ + "TYPE_UNKNOWN", + "TYPE_DOUBLE", + "TYPE_FLOAT", + "TYPE_INT64", + "TYPE_UINT64", + "TYPE_INT32", + "TYPE_FIXED64", + "TYPE_FIXED32", + "TYPE_BOOL", + "TYPE_STRING", + "TYPE_GROUP", + "TYPE_MESSAGE", + "TYPE_BYTES", + "TYPE_UINT32", + "TYPE_ENUM", + "TYPE_SFIXED32", + "TYPE_SFIXED64", + "TYPE_SINT32", + "TYPE_SINT64" + ], + "enumDescriptions": [ + "Field type unknown.", + "Field type double.", + "Field type float.", + "Field type int64.", + "Field type uint64.", + "Field type int32.", + "Field type fixed64.", + "Field type fixed32.", + "Field type bool.", + "Field type string.", + "Field type group. Proto2 syntax only, and deprecated.", + "Field type message.", + "Field type bytes.", + "Field type uint32.", + "Field type enum.", + "Field type sfixed32.", + "Field type sfixed64.", + "Field type sint32.", + "Field type sint64." + ], + "type": "string" + }, + "name": { + "description": "The field name.", + "type": "string" + }, + "number": { + "description": "The field number.", + "format": "int32", + "type": "integer" + }, + "oneofIndex": { + "description": "The index of the field type in `Type.oneofs`, for message or enumeration\ntypes. The first type has index 1; zero means the type is not in the list.", + "format": "int32", + "type": "integer" + }, + "options": { + "description": "The protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "packed": { + "description": "Whether to use alternative packed wire representation.", + "type": "boolean" + }, + "typeUrl": { + "description": "The field type URL, without the scheme, for message or enumeration\ntypes. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`.", + "type": "string" + } + }, + "type": "object" + }, + "Http": { + "description": "Defines the HTTP configuration for an API service. It contains a list of\nHttpRule, each specifying the mapping of an RPC method\nto one or more HTTP REST API methods.", + "id": "Http", + "properties": { + "fullyDecodeReservedExpansion": { + "description": "When set to true, URL path parameters will be fully URI-decoded except in\ncases of single segment matches in reserved expansion, where \"%2F\" will be\nleft encoded.\n\nThe default behavior is to not decode RFC 6570 reserved characters in multi\nsegment matches.", + "type": "boolean" + }, + "rules": { + "description": "A list of HTTP configuration rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "HttpRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "HttpRule": { + "description": "# gRPC Transcoding\n\ngRPC Transcoding is a feature for mapping between a gRPC method and one or\nmore HTTP REST endpoints. It allows developers to build a single API service\nthat supports both gRPC APIs and REST APIs. Many systems, including [Google\nAPIs](https://github.com/googleapis/googleapis),\n[Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC\nGateway](https://github.com/grpc-ecosystem/grpc-gateway),\nand [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature\nand use it for large scale production services.\n\n`HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies\nhow different portions of the gRPC request message are mapped to the URL\npath, URL query parameters, and HTTP request body. It also controls how the\ngRPC response message is mapped to the HTTP response body. `HttpRule` is\ntypically specified as an `google.api.http` annotation on the gRPC method.\n\nEach mapping specifies a URL path template and an HTTP method. The path\ntemplate may refer to one or more fields in the gRPC request message, as long\nas each field is a non-repeated field with a primitive (non-message) type.\nThe path template controls how fields of the request message are mapped to\nthe URL path.\n\nExample:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/{name=messages/*}\"\n };\n }\n }\n message GetMessageRequest {\n string name = 1; // Mapped to URL path.\n }\n message Message {\n string text = 1; // The resource content.\n }\n\nThis enables an HTTP REST to gRPC mapping as below:\n\nHTTP | gRPC\n-----|-----\n`GET /v1/messages/123456` | `GetMessage(name: \"messages/123456\")`\n\nAny fields in the request message which are not bound by the path template\nautomatically become HTTP query parameters if there is no HTTP request body.\nFor example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get:\"/v1/messages/{message_id}\"\n };\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // Mapped to URL path.\n int64 revision = 2; // Mapped to URL query parameter `revision`.\n SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.\n }\n\nThis enables a HTTP JSON to RPC mapping as below:\n\nHTTP | gRPC\n-----|-----\n`GET /v1/messages/123456?revision=2&sub.subfield=foo` |\n`GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield:\n\"foo\"))`\n\nNote that fields which are mapped to URL query parameters must have a\nprimitive type or a repeated primitive type or a non-repeated message type.\nIn the case of a repeated type, the parameter can be repeated in the URL\nas `...?param=A¶m=B`. In the case of a message type, each field of the\nmessage is mapped to a separate parameter, such as\n`...?foo.a=A&foo.b=B&foo.c=C`.\n\nFor HTTP methods that allow a request body, the `body` field\nspecifies the mapping. Consider a REST update method on the\nmessage resource collection:\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\nThe following HTTP JSON to RPC mapping is enabled, where the\nrepresentation of the JSON in the request body is determined by\nprotos JSON encoding:\n\nHTTP | gRPC\n-----|-----\n`PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\n\"123456\" message { text: \"Hi!\" })`\n\nThe special name `*` can be used in the body mapping to define that\nevery field not bound by the path template should be mapped to the\nrequest body. This enables the following alternative definition of\nthe update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\nThe following HTTP JSON to RPC mapping is enabled:\n\nHTTP | gRPC\n-----|-----\n`PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\n\"123456\" text: \"Hi!\")`\n\nNote that when using `*` in the body mapping, it is not possible to\nhave HTTP parameters, as all fields not bound by the path end in\nthe body. This makes this option more rarely used in practice when\ndefining REST APIs. The common usage of `*` is in custom methods\nwhich don't use the URL at all for transferring data.\n\nIt is possible to define multiple HTTP methods for one RPC by using\nthe `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\nThis enables the following two alternative HTTP JSON to RPC mappings:\n\nHTTP | gRPC\n-----|-----\n`GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n`GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id:\n\"123456\")`\n\n## Rules for HTTP mapping\n\n1. Leaf request fields (recursive expansion nested messages in the request\n message) are classified into three categories:\n - Fields referred by the path template. They are passed via the URL path.\n - Fields referred by the HttpRule.body. They are passed via the HTTP\n request body.\n - All other fields are passed via the URL query parameters, and the\n parameter name is the field path in the request message. A repeated\n field can be represented as multiple query parameters under the same\n name.\n 2. If HttpRule.body is \"*\", there is no URL query parameter, all fields\n are passed via URL path and HTTP request body.\n 3. If HttpRule.body is omitted, there is no HTTP request body, all\n fields are passed via URL path and URL query parameters.\n\n### Path template syntax\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\nThe syntax `*` matches a single URL path segment. The syntax `**` matches\nzero or more URL path segments, which must be the last part of the URL path\nexcept the `Verb`.\n\nThe syntax `Variable` matches part of the URL path as specified by its\ntemplate. A variable template must not contain other variables. If a variable\nmatches a single path segment, its template may be omitted, e.g. `{var}`\nis equivalent to `{var=*}`.\n\nThe syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`\ncontains any reserved character, such characters should be percent-encoded\nbefore the matching.\n\nIf a variable contains exactly one path segment, such as `\"{var}\"` or\n`\"{var=*}\"`, when such a variable is expanded into a URL path on the client\nside, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The\nserver side does the reverse decoding. Such variables show up in the\n[Discovery\nDocument](https://developers.google.com/discovery/v1/reference/apis) as\n`{var}`.\n\nIf a variable contains multiple path segments, such as `\"{var=foo/*}\"`\nor `\"{var=**}\"`, when such a variable is expanded into a URL path on the\nclient side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.\nThe server side does the reverse decoding, except \"%2F\" and \"%2f\" are left\nunchanged. Such variables show up in the\n[Discovery\nDocument](https://developers.google.com/discovery/v1/reference/apis) as\n`{+var}`.\n\n## Using gRPC API Service Configuration\n\ngRPC API Service Configuration (service config) is a configuration language\nfor configuring a gRPC service to become a user-facing product. The\nservice config is simply the YAML representation of the `google.api.Service`\nproto message.\n\nAs an alternative to annotating your proto file, you can configure gRPC\ntranscoding in your service config YAML files. You do this by specifying a\n`HttpRule` that maps the gRPC method to a REST endpoint, achieving the same\neffect as the proto annotation. This can be particularly useful if you\nhave a proto that is reused in multiple services. Note that any transcoding\nspecified in the service config will override any matching transcoding\nconfiguration in the proto.\n\nExample:\n\n http:\n rules:\n # Selects a gRPC method and applies HttpRule to it.\n - selector: example.v1.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\n## Special notes\n\nWhen gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the\nproto to JSON conversion must follow the [proto3\nspecification](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\nWhile the single segment variable follows the semantics of\n[RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\nExpansion, the multi segment variable **does not** follow RFC 6570 Section\n3.2.3 Reserved Expansion. The reason is that the Reserved Expansion\ndoes not expand special characters like `?` and `#`, which would lead\nto invalid URLs. As the result, gRPC Transcoding uses a custom encoding\nfor multi segment variables.\n\nThe path variables **must not** refer to any repeated or mapped field,\nbecause client libraries are not capable of handling such variable expansion.\n\nThe path variables **must not** capture the leading \"/\" character. The reason\nis that the most common use case \"{var}\" does not capture the leading \"/\"\ncharacter. For consistency, all path variables must share the same behavior.\n\nRepeated message fields must not be mapped to URL query parameters, because\nno client library can support such complicated mapping.\n\nIf an API needs to use a JSON array for request or response body, it can map\nthe request or response body to a repeated field. However, some gRPC\nTranscoding implementations may not support this feature.", + "id": "HttpRule", + "properties": { + "additionalBindings": { + "description": "Additional HTTP bindings for the selector. Nested bindings must\nnot contain an `additional_bindings` field themselves (that is,\nthe nesting may only be one level deep).", + "items": { + "$ref": "HttpRule" + }, + "type": "array" + }, + "allowHalfDuplex": { + "description": "When this flag is set to true, HTTP requests will be allowed to invoke a\nhalf-duplex streaming method.", + "type": "boolean" + }, + "body": { + "description": "The name of the request field whose value is mapped to the HTTP request\nbody, or `*` for mapping all request fields not captured by the path\npattern to the HTTP body, or omitted for not having any HTTP request body.\n\nNOTE: the referred field must be present at the top-level of the request\nmessage type.", + "type": "string" + }, + "custom": { + "$ref": "CustomHttpPattern", + "description": "The custom pattern is used for specifying an HTTP method that is not\nincluded in the `pattern` field, such as HEAD, or \"*\" to leave the\nHTTP method unspecified for this rule. The wild-card rule is useful\nfor services that provide content to Web (HTML) clients." + }, + "delete": { + "description": "Maps to HTTP DELETE. Used for deleting a resource.", + "type": "string" + }, + "get": { + "description": "Maps to HTTP GET. Used for listing and getting information about\nresources.", + "type": "string" + }, + "patch": { + "description": "Maps to HTTP PATCH. Used for updating a resource.", + "type": "string" + }, + "post": { + "description": "Maps to HTTP POST. Used for creating a resource or performing an action.", + "type": "string" + }, + "put": { + "description": "Maps to HTTP PUT. Used for replacing a resource.", + "type": "string" + }, + "responseBody": { + "description": "Optional. The name of the response field whose value is mapped to the HTTP\nresponse body. When omitted, the entire response message will be used\nas the HTTP response body.\n\nNOTE: The referred field must be present at the top-level of the response\nmessage type.", + "type": "string" + }, + "selector": { + "description": "Selects a method to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, + "JwtLocation": { + "description": "Specifies a location to extract JWT from an API request.", + "id": "JwtLocation", + "properties": { + "header": { + "description": "Specifies HTTP header name to extract JWT token.", + "type": "string" + }, + "query": { + "description": "Specifies URL query parameter name to extract JWT token.", + "type": "string" + }, + "valuePrefix": { + "description": "The value prefix. The value format is \"value_prefix{token}\"\nOnly applies to \"in\" header type. Must be empty for \"in\" query type.\nIf not empty, the header value has to match (case sensitive) this prefix.\nIf not matched, JWT will not be extracted. If matched, JWT will be\nextracted after the prefix is removed.\n\nFor example, for \"Authorization: Bearer {JWT}\",\nvalue_prefix=\"Bearer \" with a space at the end.", + "type": "string" + } + }, + "type": "object" + }, + "LabelDescriptor": { + "description": "A description of a label.", + "id": "LabelDescriptor", + "properties": { + "description": { + "description": "A human-readable description for the label.", + "type": "string" + }, + "key": { + "description": "The label key.", + "type": "string" + }, + "valueType": { + "description": "The type of data that can be assigned to the label.", + "enum": [ + "STRING", + "BOOL", + "INT64" + ], + "enumDescriptions": [ + "A variable-length string. This is the default.", + "Boolean; true or false.", + "A 64-bit signed integer." + ], + "type": "string" + } + }, + "type": "object" + }, + "LogDescriptor": { + "description": "A description of a log type. Example in YAML format:\n\n - name: library.googleapis.com/activity_history\n description: The history of borrowing and returning library items.\n display_name: Activity\n labels:\n - key: /customer_id\n description: Identifier of a library customer", + "id": "LogDescriptor", + "properties": { + "description": { + "description": "A human-readable description of this log. This information appears in\nthe documentation and can contain details.", + "type": "string" + }, + "displayName": { + "description": "The human-readable name for this log. This information appears on\nthe user interface and should be concise.", + "type": "string" + }, + "labels": { + "description": "The set of labels that are available to describe a specific log entry.\nRuntime requests that contain labels not specified here are\nconsidered invalid.", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + }, + "name": { + "description": "The name of the log. It must be less than 512 characters long and can\ninclude the following characters: upper- and lower-case alphanumeric\ncharacters [A-Za-z0-9], and punctuation characters including\nslash, underscore, hyphen, period [/_-.].", + "type": "string" + } + }, + "type": "object" + }, + "Logging": { + "description": "Logging configuration of the service.\n\nThe following example shows how to configure logs to be sent to the\nproducer and consumer projects. In the example, the `activity_history`\nlog is sent to both the producer and consumer projects, whereas the\n`purchase_history` log is only sent to the producer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n logs:\n - name: activity_history\n labels:\n - key: /customer_id\n - name: purchase_history\n logging:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n logs:\n - activity_history\n - purchase_history\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n logs:\n - activity_history", + "id": "Logging", + "properties": { + "consumerDestinations": { + "description": "Logging configurations for sending logs to the consumer project.\nThere can be multiple consumer destinations, each one must have a\ndifferent monitored resource type. A log can be used in at most\none consumer destination.", + "items": { + "$ref": "LoggingDestination" + }, + "type": "array" + }, + "producerDestinations": { + "description": "Logging configurations for sending logs to the producer project.\nThere can be multiple producer destinations, each one must have a\ndifferent monitored resource type. A log can be used in at most\none producer destination.", + "items": { + "$ref": "LoggingDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "LoggingDestination": { + "description": "Configuration of a specific logging destination (the producer project\nor the consumer project).", + "id": "LoggingDestination", + "properties": { + "logs": { + "description": "Names of the logs to be sent to this destination. Each name must\nbe defined in the Service.logs section. If the log name is\nnot a domain scoped name, it will be automatically prefixed with\nthe service name followed by \"/\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "monitoredResource": { + "description": "The monitored resource type. The type must be defined in the\nService.monitored_resources section.", + "type": "string" + } + }, + "type": "object" + }, + "Method": { + "description": "Method represents a method of an API interface.", + "id": "Method", + "properties": { + "name": { + "description": "The simple name of this method.", + "type": "string" + }, + "options": { + "description": "Any metadata attached to the method.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "requestStreaming": { + "description": "If true, the request is streamed.", + "type": "boolean" + }, + "requestTypeUrl": { + "description": "A URL of the input message type.", + "type": "string" + }, + "responseStreaming": { + "description": "If true, the response is streamed.", + "type": "boolean" + }, + "responseTypeUrl": { + "description": "The URL of the output message type.", + "type": "string" + }, + "syntax": { + "description": "The source syntax of this method.", + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "type": "string" + } + }, + "type": "object" + }, + "MetricDescriptor": { + "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.\n\nThe following are specific rules for service defined Monitoring metric\ndescriptors:\n\n* `type`, `metric_kind`, `value_type`, `description`, `display_name`,\n `launch_stage` fields are all required. The `unit` field must be specified\n if the `value_type` is any of DOUBLE, INT64, DISTRIBUTION.\n* Maximum of default 500 metric descriptors per service is allowed.\n* Maximum of default 10 labels per metric descriptor is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas", + "id": "MetricDescriptor", + "properties": { + "description": { + "description": "A detailed description of the metric, which can be used in documentation.", + "type": "string" + }, + "displayName": { + "description": "A concise name for the metric, which can be displayed in user interfaces.\nUse sentence case without an ending period, for example \"Request count\".\nThis field is optional but it is recommended to be set for any metrics\nassociated with user-visible concepts, such as Quota.", + "type": "string" + }, + "labels": { + "description": "The set of labels that can be used to describe a specific\ninstance of this metric type.\n\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + }, + "launchStage": { + "description": "Optional. The launch stage of the metric definition.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "UNIMPLEMENTED", + "PRELAUNCH", + "EARLY_ACCESS", + "ALPHA", + "BETA", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The feature is not yet implemented. Users can not use it.", + "Prelaunch features are hidden from users and are only visible internally.", + "Early Access features are limited to a closed group of testers. To use\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.", + "Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.", + "Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.", + "GA features are open to all developers and are considered stable and\nfully qualified for production use.", + "Deprecated features are scheduled to be shut down and removed. For more\ninformation, see the \u201cDeprecation Policy\u201d section of our [Terms of\nService](https://cloud.google.com/terms/)\nand the [Google Cloud Platform Subject to the Deprecation\nPolicy](https://cloud.google.com/terms/deprecation) documentation." + ], + "type": "string" + }, + "metadata": { + "$ref": "MetricDescriptorMetadata", + "description": "Optional. Metadata which can be used to guide usage of the metric." + }, + "metricKind": { + "description": "Whether the metric records instantaneous values, changes to a value, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative\nmeasurements in a time series should have the same start time\nand increasing end times, until an event resets the cumulative\nvalue to zero and sets a new start time for the following\npoints." + ], + "type": "string" + }, + "monitoredResourceTypes": { + "description": "Read-only. If present, then a time\nseries, which is identified partially by\na metric type and a MonitoredResourceDescriptor, that is associated\nwith this metric type can only be associated with one of the monitored\nresource types listed here.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the metric descriptor.", + "type": "string" + }, + "type": { + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded.\n\nAll service defined metrics must be prefixed with the service name, in the\nformat of `{service name}/{relative metric name}`, such as\n`cloudsql.googleapis.com/database/cpu/utilization`. The relative metric\nname must follow:\n\n* Only upper and lower-case letters, digits, '/' and underscores '_' are\n allowed.\n* The maximum number of characters allowed for the relative_metric_name is\n 100.\n\nAll user-defined metric types have the DNS name\n`custom.googleapis.com`, `external.googleapis.com`, or\n`logging.googleapis.com/user/`.\n\nMetric types should use a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "type": "string" + }, + "unit": { + "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n* `1` dimensionless\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", + "type": "string" + }, + "valueType": { + "description": "Whether the measurement is an integer, a floating-point number, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean.\nThis value type can be used only if the metric kind is `GAUGE`.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string.\nThis value type can be used only if the metric kind is `GAUGE`.", + "The value is a `Distribution`.", + "The value is money." + ], + "type": "string" + } + }, + "type": "object" + }, + "MetricDescriptorMetadata": { + "description": "Additional annotations that can be used to guide the usage of a metric.", + "id": "MetricDescriptorMetadata", + "properties": { + "ingestDelay": { + "description": "The delay of data points caused by ingestion. Data points older than this\nage are guaranteed to be ingested and available to be read, excluding\ndata loss due to errors.", + "format": "google-duration", + "type": "string" + }, + "launchStage": { + "description": "Deprecated. Must use the MetricDescriptor.launch_stage instead.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "UNIMPLEMENTED", + "PRELAUNCH", + "EARLY_ACCESS", + "ALPHA", + "BETA", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The feature is not yet implemented. Users can not use it.", + "Prelaunch features are hidden from users and are only visible internally.", + "Early Access features are limited to a closed group of testers. To use\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.", + "Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.", + "Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.", + "GA features are open to all developers and are considered stable and\nfully qualified for production use.", + "Deprecated features are scheduled to be shut down and removed. For more\ninformation, see the \u201cDeprecation Policy\u201d section of our [Terms of\nService](https://cloud.google.com/terms/)\nand the [Google Cloud Platform Subject to the Deprecation\nPolicy](https://cloud.google.com/terms/deprecation) documentation." + ], + "type": "string" + }, + "samplePeriod": { + "description": "The sampling period of metric data points. For metrics which are written\nperiodically, consecutive data points are stored at this time interval,\nexcluding data loss due to errors. Metrics with a higher granularity have\na smaller sampling period.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "MetricRule": { + "description": "Bind API methods to metrics. Binding a method to a metric causes that\nmetric's configured quota behaviors to apply to the method call.", + "id": "MetricRule", + "properties": { + "metricCosts": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Metrics to update when the selected methods are called, and the associated\ncost applied to each metric.\n\nThe key of the map is the metric name, and the values are the amount\nincreased for the metric against which the quota limits are defined.\nThe value must not be negative.", + "type": "object" + }, + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, + "Mixin": { + "description": "Declares an API Interface to be included in this interface. The including\ninterface must redeclare all the methods from the included interface, but\ndocumentation and options are inherited as follows:\n\n- If after comment and whitespace stripping, the documentation\n string of the redeclared method is empty, it will be inherited\n from the original method.\n\n- Each annotation belonging to the service config (http,\n visibility) which is not set in the redeclared method will be\n inherited.\n\n- If an http annotation is inherited, the path pattern will be\n modified as follows. Any version prefix will be replaced by the\n version of the including interface plus the root path if\n specified.\n\nExample of a simple mixin:\n\n package google.acl.v1;\n service AccessControl {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v1/{resource=**}:getAcl\";\n }\n }\n\n package google.storage.v2;\n service Storage {\n // rpc GetAcl(GetAclRequest) returns (Acl);\n\n // Get a data record.\n rpc GetData(GetDataRequest) returns (Data) {\n option (google.api.http).get = \"/v2/{resource=**}\";\n }\n }\n\nExample of a mixin configuration:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n\nThe mixin construct implies that all methods in `AccessControl` are\nalso declared with same name and request/response types in\n`Storage`. A documentation generator or annotation processor will\nsee the effective `Storage.GetAcl` method after inherting\ndocumentation and annotations as follows:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/{resource=**}:getAcl\";\n }\n ...\n }\n\nNote how the version in the path pattern changed from `v1` to `v2`.\n\nIf the `root` field in the mixin is specified, it should be a\nrelative path under which inherited HTTP paths are placed. Example:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n root: acls\n\nThis implies the following inherited HTTP annotation:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/acls/{resource=**}:getAcl\";\n }\n ...\n }", + "id": "Mixin", + "properties": { + "name": { + "description": "The fully qualified name of the interface which is included.", + "type": "string" + }, + "root": { + "description": "If non-empty specifies a path under which inherited HTTP paths\nare rooted.", + "type": "string" + } + }, + "type": "object" + }, + "MonitoredResourceDescriptor": { + "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent services can support different monitored resource types.\n\nThe following are specific rules to service defined monitored resources for\nMonitoring and Logging:\n\n* The `type`, `display_name`, `description`, `labels` and `launch_stage`\n fields are all required.\n* The first label of the monitored resource descriptor must be\n `resource_container`. There are legacy monitored resource descritptors\n start with `project_id`.\n* It must include a `location` label.\n* Maximum of default 5 service defined monitored resource descriptors\n is allowed per service.\n* Maximum of default 10 labels per monitored resource is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas\n", + "id": "MonitoredResourceDescriptor", + "properties": { + "description": { + "description": "Optional. A detailed description of the monitored resource type that might\nbe used in documentation.", + "type": "string" + }, + "displayName": { + "description": "Optional. A concise name for the monitored resource type that might be\ndisplayed in user interfaces. It should be a Title Cased Noun Phrase,\nwithout any article or other determiners. For example,\n`\"Google Cloud SQL Database\"`.", + "type": "string" + }, + "labels": { + "description": "Required. A set of labels used to describe instances of this monitored\nresource type.\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, an individual Google Cloud SQL database is\nidentified by values for the labels `database_id` and `location`.", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + }, + "launchStage": { + "description": "Optional. The launch stage of the monitored resource definition.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "UNIMPLEMENTED", + "PRELAUNCH", + "EARLY_ACCESS", + "ALPHA", + "BETA", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The feature is not yet implemented. Users can not use it.", + "Prelaunch features are hidden from users and are only visible internally.", + "Early Access features are limited to a closed group of testers. To use\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.", + "Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.", + "Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.", + "GA features are open to all developers and are considered stable and\nfully qualified for production use.", + "Deprecated features are scheduled to be shut down and removed. For more\ninformation, see the \u201cDeprecation Policy\u201d section of our [Terms of\nService](https://cloud.google.com/terms/)\nand the [Google Cloud Platform Subject to the Deprecation\nPolicy](https://cloud.google.com/terms/deprecation) documentation." + ], + "type": "string" + }, + "name": { + "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type. APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.", + "type": "string" + }, + "type": { + "description": "Required. The monitored resource type. For example, the type\n`cloudsql_database` represents databases in Google Cloud SQL.\n\nAll service defined monitored resource types must be prefixed with the\nservice name, in the format of `{service name}/{relative resource name}`.\nThe relative resource name must follow:\n\n* Only upper and lower-case letters and digits are allowed.\n* It must start with upper case character and is recommended to use Upper\n Camel Case style.\n* The maximum number of characters allowed for the relative_resource_name\n is 100.\n\nNote there are legacy service monitored resources not following this rule.", + "type": "string" + } + }, + "type": "object" + }, + "Monitoring": { + "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/num_overdue` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/Branch\n display_name: \"Library Branch\"\n description: \"A branch of a library.\"\n launch_stage: GA\n labels:\n - key: resource_container\n description: \"The Cloud container (ie. project id) for the Branch.\"\n - key: location\n description: \"The location of the library branch.\"\n - key: branch_id\n description: \"The id of the branch.\"\n metrics:\n - name: library.googleapis.com/book/returned_count\n display_name: \"Books Returned\"\n description: \"The count of books that have been returned.\"\n launch_stage: GA\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n - name: library.googleapis.com/book/num_overdue\n display_name: \"Books Overdue\"\n description: \"The current number of overdue books.\"\n launch_stage: GA\n metric_kind: GAUGE\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/num_overdue", + "id": "Monitoring", + "properties": { + "consumerDestinations": { + "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "items": { + "$ref": "MonitoringDestination" + }, + "type": "array" + }, + "producerDestinations": { + "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "items": { + "$ref": "MonitoringDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "MonitoringDestination": { + "description": "Configuration of a specific monitoring destination (the producer project\nor the consumer project).", + "id": "MonitoringDestination", + "properties": { + "metrics": { + "description": "Types of the metrics to report to this monitoring destination.\nEach type must be defined in Service.metrics section.", + "items": { + "type": "string" + }, + "type": "array" + }, + "monitoredResource": { + "description": "The monitored resource type. The type must be defined in\nService.monitored_resources section.", + "type": "string" + } + }, + "type": "object" + }, + "OAuthRequirements": { + "description": "OAuth scopes are a way to define data and permissions on data. For example,\nthere are scopes defined for \"Read-only access to Google Calendar\" and\n\"Access to Cloud Platform\". Users can consent to a scope for an application,\ngiving it permission to access that data on their behalf.\n\nOAuth scope specifications should be fairly coarse grained; a user will need\nto see and understand the text description of what your scope means.\n\nIn most cases: use one or at most two OAuth scopes for an entire family of\nproducts. If your product has multiple APIs, you should probably be sharing\nthe OAuth scope across all of those APIs.\n\nWhen you need finer grained OAuth consent screens: talk with your product\nmanagement about how developers will use them in practice.\n\nPlease note that even though each of the canonical scopes is enough for a\nrequest to be accepted and passed to the backend, a request can still fail\ndue to the backend requiring additional scopes or permissions.", + "id": "OAuthRequirements", + "properties": { + "canonicalScopes": { + "description": "The list of publicly documented OAuth scopes that are allowed access. An\nOAuth token containing any of these scopes will be accepted.\n\nExample:\n\n canonical_scopes: https://www.googleapis.com/auth/calendar,\n https://www.googleapis.com/auth/calendar.read", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Option": { + "description": "A protocol buffer option, which can be attached to a message, field,\nenumeration, etc.", + "id": "Option", + "properties": { + "name": { + "description": "The option's name. For protobuf built-in options (options defined in\ndescriptor.proto), this is the short name. For example, `\"map_entry\"`.\nFor custom options, it should be the fully-qualified name. For example,\n`\"google.api.http\"`.", + "type": "string" + }, + "value": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The option's value packed in an Any message. If the value is a primitive,\nthe corresponding wrapper type defined in google/protobuf/wrappers.proto\nshould be used. If the value is an enum, it should be stored as an int32\nvalue using the google.protobuf.Int32Value type.", + "type": "object" + } + }, + "type": "object" + }, + "Page": { + "description": "Represents a documentation page. A page can contain subpages to represent\nnested documentation set structure.", + "id": "Page", + "properties": { + "content": { + "description": "The Markdown content of the page. You can use (== include {path}\n==) to include content from a Markdown file.", + "type": "string" + }, + "name": { + "description": "The name of the page. It will be used as an identity of the page to\ngenerate URI of the page, text of the link to this page in navigation,\netc. The full page name (start from the root page name to this page\nconcatenated with `.`) can be used as reference to the page in your\ndocumentation. For example:\n
pages:\n- name: Tutorial\n  content: (== include tutorial.md ==)\n  subpages:\n  - name: Java\n    content: (== include tutorial_java.md ==)\n
\nYou can reference `Java` page using Markdown reference link syntax:\n`Java`.", + "type": "string" + }, + "subpages": { + "description": "Subpages of this page. The order of subpages specified here will be\nhonored in the generated docset.", + "items": { + "$ref": "Page" + }, + "type": "array" + } + }, + "type": "object" + }, + "Quota": { + "description": "Quota configuration helps to achieve fairness and budgeting in service\nusage.\n\nThe metric based quota configuration works this way:\n- The service configuration defines a set of metrics.\n- For API calls, the quota.metric_rules maps methods to metrics with\n corresponding costs.\n- The quota.limits defines limits on the metrics, which will be used for\n quota checks at runtime.\n\nAn example quota configuration in yaml format:\n\n quota:\n limits:\n\n - name: apiWriteQpsPerProject\n metric: library.googleapis.com/write_calls\n unit: \"1/min/{project}\" # rate limit for consumer projects\n values:\n STANDARD: 10000\n\n\n # The metric rules bind all methods to the read_calls metric,\n # except for the UpdateBook and DeleteBook methods. These two methods\n # are mapped to the write_calls metric, with the UpdateBook method\n # consuming at twice rate as the DeleteBook method.\n metric_rules:\n - selector: \"*\"\n metric_costs:\n library.googleapis.com/read_calls: 1\n - selector: google.example.library.v1.LibraryService.UpdateBook\n metric_costs:\n library.googleapis.com/write_calls: 2\n - selector: google.example.library.v1.LibraryService.DeleteBook\n metric_costs:\n library.googleapis.com/write_calls: 1\n\n Corresponding Metric definition:\n\n metrics:\n - name: library.googleapis.com/read_calls\n display_name: Read requests\n metric_kind: DELTA\n value_type: INT64\n\n - name: library.googleapis.com/write_calls\n display_name: Write requests\n metric_kind: DELTA\n value_type: INT64\n\n", + "id": "Quota", + "properties": { + "limits": { + "description": "List of `QuotaLimit` definitions for the service.", + "items": { + "$ref": "QuotaLimit" + }, + "type": "array" + }, + "metricRules": { + "description": "List of `MetricRule` definitions, each one mapping a selected method to one\nor more metrics.", + "items": { + "$ref": "MetricRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "QuotaLimit": { + "description": "`QuotaLimit` defines a specific limit that applies over a specified duration\nfor a limit type. There can be at most one limit for a duration and limit\ntype combination defined within a `QuotaGroup`.", + "id": "QuotaLimit", + "properties": { + "defaultLimit": { + "description": "Default number of tokens that can be consumed during the specified\nduration. This is the number of tokens assigned when a client\napplication developer activates the service for his/her project.\n\nSpecifying a value of 0 will block all requests. This can be used if you\nare provisioning quota to selected consumers and blocking others.\nSimilarly, a value of -1 will indicate an unlimited quota. No other\nnegative values are allowed.\n\nUsed by group-based quotas only.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "Optional. User-visible, extended description for this quota limit.\nShould be used only when more context is needed to understand this limit\nthan provided by the limit's display name (see: `display_name`).", + "type": "string" + }, + "displayName": { + "description": "User-visible display name for this limit.\nOptional. If not set, the UI will provide a default display name based on\nthe quota configuration. This field can be used to override the default\ndisplay name generated from the configuration.", + "type": "string" + }, + "duration": { + "description": "Duration of this limit in textual notation. Must be \"100s\" or \"1d\".\n\nUsed by group-based quotas only.", + "type": "string" + }, + "freeTier": { + "description": "Free tier value displayed in the Developers Console for this limit.\nThe free tier is the number of tokens that will be subtracted from the\nbilled amount when billing is enabled.\nThis field can only be set on a limit with duration \"1d\", in a billable\ngroup; it is invalid on any other limit. If this field is not set, it\ndefaults to 0, indicating that there is no free tier for this service.\n\nUsed by group-based quotas only.", + "format": "int64", + "type": "string" + }, + "maxLimit": { + "description": "Maximum number of tokens that can be consumed during the specified\nduration. Client application developers can override the default limit up\nto this maximum. If specified, this value cannot be set to a value less\nthan the default limit. If not specified, it is set to the default limit.\n\nTo allow clients to apply overrides with no upper bound, set this to -1,\nindicating unlimited maximum quota.\n\nUsed by group-based quotas only.", + "format": "int64", + "type": "string" + }, + "metric": { + "description": "The name of the metric this quota limit applies to. The quota limits with\nthe same metric will be checked together during runtime. The metric must be\ndefined within the service config.", + "type": "string" + }, + "name": { + "description": "Name of the quota limit.\n\nThe name must be provided, and it must be unique within the service. The\nname can only include alphanumeric characters as well as '-'.\n\nThe maximum length of the limit name is 64 characters.", + "type": "string" + }, + "unit": { + "description": "Specify the unit of the quota limit. It uses the same syntax as\nMetric.unit. The supported unit kinds are determined by the quota\nbackend system.\n\nHere are some examples:\n* \"1/min/{project}\" for quota per minute per project.\n\nNote: the order of unit components is insignificant.\nThe \"1\" at the beginning is required to follow the metric unit syntax.", + "type": "string" + }, + "values": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Tiered limit values. You must specify this as a key:value pair, with an\ninteger value that is the maximum number of requests allowed for the\nspecified unit. Currently only STANDARD is supported.", + "type": "object" + } + }, + "type": "object" + }, + "Service": { + "description": "`Service` is the root object of Google service configuration schema. It\ndescribes basic information about a service, such as the name and the\ntitle, and delegates other aspects to sub-sections. Each sub-section is\neither a proto message or a repeated proto message that configures a\nspecific aspect, such as auth. See each proto message definition for details.\n\nExample:\n\n type: google.api.Service\n config_version: 3\n name: calendar.googleapis.com\n title: Google Calendar API\n apis:\n - name: google.calendar.v3.Calendar\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth", + "id": "Service", + "properties": { + "apis": { + "description": "A list of API interfaces exported by this service. Only the `name` field\nof the google.protobuf.Api needs to be provided by the configuration\nauthor, as the remaining fields will be derived from the IDL during the\nnormalization process. It is an error to specify an API interface here\nwhich cannot be resolved against the associated IDL files.", + "items": { + "$ref": "Api" + }, + "type": "array" + }, + "authentication": { + "$ref": "Authentication", + "description": "Auth configuration." + }, + "backend": { + "$ref": "Backend", + "description": "API backend configuration." + }, + "billing": { + "$ref": "Billing", + "description": "Billing configuration." + }, + "configVersion": { + "description": "The semantic version of the service configuration. The config version\naffects the interpretation of the service configuration. For example,\ncertain features are enabled by default for certain config versions.\n\nThe latest config version is `3`.", + "format": "uint32", + "type": "integer" + }, + "context": { + "$ref": "Context", + "description": "Context configuration." + }, + "control": { + "$ref": "Control", + "description": "Configuration for the service control plane." + }, + "customError": { + "$ref": "CustomError", + "description": "Custom error configuration." + }, + "documentation": { + "$ref": "Documentation", + "description": "Additional API documentation." + }, + "endpoints": { + "description": "Configuration for network endpoints. If this is empty, then an endpoint\nwith the same name as the service is automatically generated to service all\ndefined APIs.", + "items": { + "$ref": "Endpoint" + }, + "type": "array" + }, + "enums": { + "description": "A list of all enum types included in this API service. Enums\nreferenced directly or indirectly by the `apis` are automatically\nincluded. Enums which are not referenced but shall be included\nshould be listed here by name. Example:\n\n enums:\n - name: google.someapi.v1.SomeEnum", + "items": { + "$ref": "Enum" + }, + "type": "array" + }, + "http": { + "$ref": "Http", + "description": "HTTP configuration." + }, + "id": { + "description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. Must be no longer than 63 characters\nand only lower case letters, digits, '.', '_' and '-' are allowed. If\nempty, the server may choose to generate one instead.", + "type": "string" + }, + "logging": { + "$ref": "Logging", + "description": "Logging configuration." + }, + "logs": { + "description": "Defines the logs used by this service.", + "items": { + "$ref": "LogDescriptor" + }, + "type": "array" + }, + "metrics": { + "description": "Defines the metrics used by this service.", + "items": { + "$ref": "MetricDescriptor" + }, + "type": "array" + }, + "monitoredResources": { + "description": "Defines the monitored resources used by this service. This is required\nby the Service.monitoring and Service.logging configurations.", + "items": { + "$ref": "MonitoredResourceDescriptor" + }, + "type": "array" + }, + "monitoring": { + "$ref": "Monitoring", + "description": "Monitoring configuration." + }, + "name": { + "description": "The service name, which is a DNS-like logical identifier for the\nservice, such as `calendar.googleapis.com`. The service name\ntypically goes through DNS verification to make sure the owner\nof the service also owns the DNS name.", + "type": "string" + }, + "producerProjectId": { + "description": "The Google project that owns this service.", + "type": "string" + }, + "quota": { + "$ref": "Quota", + "description": "Quota configuration." + }, + "sourceInfo": { + "$ref": "SourceInfo", + "description": "Output only. The source information for this configuration if available." + }, + "systemParameters": { + "$ref": "SystemParameters", + "description": "System parameter configuration." + }, + "systemTypes": { + "description": "A list of all proto message types included in this API service.\nIt serves similar purpose as [google.api.Service.types], except that\nthese types are not needed by user-defined APIs. Therefore, they will not\nshow up in the generated discovery doc. This field should only be used\nto define system APIs in ESF.", + "items": { + "$ref": "Type" + }, + "type": "array" + }, + "title": { + "description": "The product title for this service.", + "type": "string" + }, + "types": { + "description": "A list of all proto message types included in this API service.\nTypes referenced directly or indirectly by the `apis` are\nautomatically included. Messages which are not referenced but\nshall be included, such as types used by the `google.protobuf.Any` type,\nshould be listed here by name. Example:\n\n types:\n - name: google.protobuf.Int32", + "items": { + "$ref": "Type" + }, + "type": "array" + }, + "usage": { + "$ref": "Usage", + "description": "Configuration controlling usage of this service." + } + }, + "type": "object" + }, + "ServiceIdentity": { + "description": "The per-product per-project service identity for a service.\n\n\nUse this field to configure per-product per-project service identity.\nExample of a service identity configuration.\n\n usage:\n service_identity:\n - service_account_parent: \"projects/123456789\"\n display_name: \"Cloud XXX Service Agent\"\n description: \"Used as the identity of Cloud XXX to access resources\"", + "id": "ServiceIdentity", + "properties": { + "description": { + "description": "Optional. A user-specified opaque description of the service account.\nMust be less than or equal to 256 UTF-8 bytes.", + "type": "string" + }, + "displayName": { + "description": "Optional. A user-specified name for the service account.\nMust be less than or equal to 100 UTF-8 bytes.", + "type": "string" + }, + "serviceAccountParent": { + "description": "A service account project that hosts the service accounts.\n\nAn example name would be:\n`projects/123456789`", + "type": "string" + } + }, + "type": "object" + }, + "SourceContext": { + "description": "`SourceContext` represents information about the source of a\nprotobuf element, like the file in which it is defined.", + "id": "SourceContext", + "properties": { + "fileName": { + "description": "The path-qualified name of the .proto file that contained the associated\nprotobuf element. For example: `\"google/protobuf/source_context.proto\"`.", + "type": "string" + } + }, + "type": "object" + }, + "SourceInfo": { + "description": "Source information used to create a Service Config", + "id": "SourceInfo", + "properties": { + "sourceFiles": { + "description": "All files used during config generation.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "SystemParameter": { + "description": "Define a parameter's name and location. The parameter may be passed as either\nan HTTP header or a URL query parameter, and if both are passed the behavior\nis implementation-dependent.", + "id": "SystemParameter", + "properties": { + "httpHeader": { + "description": "Define the HTTP header name to use for the parameter. It is case\ninsensitive.", + "type": "string" + }, + "name": { + "description": "Define the name of the parameter, such as \"api_key\" . It is case sensitive.", + "type": "string" + }, + "urlQueryParameter": { + "description": "Define the URL query parameter name to use for the parameter. It is case\nsensitive.", + "type": "string" + } + }, + "type": "object" + }, + "SystemParameterRule": { + "description": "Define a system parameter rule mapping system parameter definitions to\nmethods.", + "id": "SystemParameterRule", + "properties": { + "parameters": { + "description": "Define parameters. Multiple names may be defined for a parameter.\nFor a given method call, only one of them should be used. If multiple\nnames are used the behavior is implementation-dependent.\nIf none of the specified names are present the behavior is\nparameter-dependent.", + "items": { + "$ref": "SystemParameter" + }, + "type": "array" + }, + "selector": { + "description": "Selects the methods to which this rule applies. Use '*' to indicate all\nmethods in all APIs.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "type": "object" + }, + "SystemParameters": { + "description": "### System parameter configuration\n\nA system parameter is a special kind of parameter defined by the API\nsystem, not by an individual API. It is typically mapped to an HTTP header\nand/or a URL query parameter. This configuration specifies which methods\nchange the names of the system parameters.", + "id": "SystemParameters", + "properties": { + "rules": { + "description": "Define system parameters.\n\nThe parameters defined here will override the default parameters\nimplemented by the system. If this field is missing from the service\nconfig, default system parameters will be used. Default system parameters\nand names is implementation-dependent.\n\nExample: define api key for all methods\n\n system_parameters\n rules:\n - selector: \"*\"\n parameters:\n - name: api_key\n url_query_parameter: api_key\n\n\nExample: define 2 api key names for a specific method.\n\n system_parameters\n rules:\n - selector: \"/ListShelves\"\n parameters:\n - name: api_key\n http_header: Api-Key1\n - name: api_key\n http_header: Api-Key2\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "SystemParameterRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "description": "A protocol buffer message type.", + "id": "Type", + "properties": { + "fields": { + "description": "The list of fields.", + "items": { + "$ref": "Field" + }, + "type": "array" + }, + "name": { + "description": "The fully qualified message name.", + "type": "string" + }, + "oneofs": { + "description": "The list of types appearing in `oneof` definitions in this type.", + "items": { + "type": "string" + }, + "type": "array" + }, + "options": { + "description": "The protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "sourceContext": { + "$ref": "SourceContext", + "description": "The source context." + }, + "syntax": { + "description": "The source syntax.", + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "type": "string" + } + }, + "type": "object" + }, + "Usage": { + "description": "Configuration controlling usage of a service.", + "id": "Usage", + "properties": { + "producerNotificationChannel": { + "description": "The full resource name of a channel used for sending notifications to the\nservice producer.\n\nGoogle Service Management currently only supports\n[Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification\nchannel. To use Google Cloud Pub/Sub as the channel, this must be the name\nof a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format\ndocumented in https://cloud.google.com/pubsub/docs/overview.", + "type": "string" + }, + "requirements": { + "description": "Requirements that must be satisfied before a consumer project can use the\nservice. Each requirement is of the form /;\nfor example 'serviceusage.googleapis.com/billing-enabled'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "rules": { + "description": "A list of usage rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "UsageRule" + }, + "type": "array" + }, + "serviceIdentity": { + "$ref": "ServiceIdentity", + "description": "The configuration of a per-product per-project service identity." + } + }, + "type": "object" + }, + "UsageRule": { + "description": "Usage configuration rules for the service.\n\nNOTE: Under development.\n\n\nUse this rule to configure unregistered calls for the service. Unregistered\ncalls are calls that do not contain consumer project identity.\n(Example: calls that do not contain an API key).\nBy default, API methods do not allow unregistered calls, and each method call\nmust be identified by a consumer project identity. Use this rule to\nallow/disallow unregistered calls.\n\nExample of an API that wants to allow unregistered calls for entire service.\n\n usage:\n rules:\n - selector: \"*\"\n allow_unregistered_calls: true\n\nExample of a method that wants to allow unregistered calls.\n\n usage:\n rules:\n - selector: \"google.example.library.v1.LibraryService.CreateBook\"\n allow_unregistered_calls: true", + "id": "UsageRule", + "properties": { + "allowUnregisteredCalls": { + "description": "If true, the selected method allows unregistered calls, e.g. calls\nthat don't identify any user or application.", + "type": "boolean" + }, + "selector": { + "description": "Selects the methods to which this rule applies. Use '*' to indicate all\nmethods in all APIs.\n\nRefer to selector for syntax details.", + "type": "string" + }, + "skipServiceControl": { + "description": "If true, the selected method should skip service control and the control\nplane features, such as quota and billing, will not be available.\nThis flag is used by Google Cloud Endpoints to bypass checks for internal\nmethods, such as service health check methods.", + "type": "boolean" + } + }, + "type": "object" + }, + "V1Beta1BatchCreateProducerOverridesResponse": { + "description": "Response message for BatchCreateProducerOverrides", + "id": "V1Beta1BatchCreateProducerOverridesResponse", + "properties": { + "overrides": { + "description": "The overrides that were created.", + "items": { + "$ref": "V1Beta1QuotaOverride" + }, + "type": "array" + } + }, + "type": "object" + }, + "V1Beta1ConsumerQuotaLimit": { + "description": "Consumer quota settings for a quota limit.", + "id": "V1Beta1ConsumerQuotaLimit", + "properties": { + "isPrecise": { + "description": "Whether this limit is precise or imprecise.", + "type": "boolean" + }, + "metric": { + "description": "The name of the parent metric of this limit.\n\nAn example name would be:\n`compute.googleapis.com/cpus`", + "type": "string" + }, + "name": { + "description": "The resource name of the quota limit.\n\nAn example name would be:\n`services/compute.googleapis.com/projects/123/quotas/metrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`\n\nThe resource name is intended to be opaque and should not be parsed for\nits component strings, since its representation could change in the future.", + "type": "string" + }, + "quotaBuckets": { + "description": "Summary of the enforced quota buckets, organized by quota dimension,\nordered from least specific to most specific (for example, the global\ndefault bucket, with no quota dimensions, will always appear first).", + "items": { + "$ref": "V1Beta1QuotaBucket" + }, + "type": "array" + }, + "unit": { + "description": "The limit unit.\n\nAn example unit would be:\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.", + "type": "string" + } + }, + "type": "object" + }, + "V1Beta1ConsumerQuotaMetric": { + "description": "Consumer quota settings for a quota metric.", + "id": "V1Beta1ConsumerQuotaMetric", + "properties": { + "consumerQuotaLimits": { + "description": "The consumer quota for each quota limit defined on the metric.", + "items": { + "$ref": "V1Beta1ConsumerQuotaLimit" + }, + "type": "array" + }, + "displayName": { + "description": "The display name of the metric.\n\nAn example name would be:\n\"CPUs\"", + "type": "string" + }, + "metric": { + "description": "The name of the metric.\n\nAn example name would be:\n`compute.googleapis.com/cpus`", + "type": "string" + }, + "name": { + "description": "The resource name of the quota settings on this metric for this consumer.\n\nAn example name would be:\n`services/serviceconsumermanagement.googleapis.com/projects/123/quota/metrics/compute.googleapis.com%2Fcpus\n\nThe resource name is intended to be opaque and should not be parsed for\nits component strings, since its representation could change in the future.", + "type": "string" + }, + "unit": { + "description": "The units in which the metric value is reported.", + "type": "string" + } + }, + "type": "object" + }, + "V1Beta1DisableConsumerResponse": { + "description": "Response message for the `DisableConsumer` method.\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1Beta1DisableConsumerResponse", + "properties": {}, + "type": "object" + }, + "V1Beta1EnableConsumerResponse": { + "description": "Response message for the `EnableConsumer` method.\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1Beta1EnableConsumerResponse", + "properties": {}, + "type": "object" + }, + "V1Beta1GenerateServiceIdentityResponse": { + "description": "Response message for the `GenerateServiceIdentity` method.\n\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1Beta1GenerateServiceIdentityResponse", + "properties": { + "identity": { + "$ref": "V1Beta1ServiceIdentity", + "description": "ServiceIdentity that was created or retrieved." + } + }, + "type": "object" + }, + "V1Beta1ImportProducerOverridesRequest": { + "description": "Request message for ImportProducerOverrides", + "id": "V1Beta1ImportProducerOverridesRequest", + "properties": { + "force": { + "description": "Whether to force the creation of the quota overrides.\nIf creating an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.", + "type": "boolean" + }, + "inlineSource": { + "$ref": "V1Beta1OverrideInlineSource", + "description": "The import data is specified in the request message itself" + } + }, + "type": "object" + }, + "V1Beta1ImportProducerOverridesResponse": { + "description": "Response message for ImportProducerOverrides", + "id": "V1Beta1ImportProducerOverridesResponse", + "properties": { + "overrides": { + "description": "The overrides that were created from the imported data.", + "items": { + "$ref": "V1Beta1QuotaOverride" + }, + "type": "array" + } + }, + "type": "object" + }, + "V1Beta1ImportProducerQuotaPoliciesResponse": { + "description": "Response message for ImportProducerQuotaPolicies", + "id": "V1Beta1ImportProducerQuotaPoliciesResponse", + "properties": { + "policies": { + "description": "The policies that were created from the imported data.", + "items": { + "$ref": "V1Beta1ProducerQuotaPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "V1Beta1ListConsumerQuotaMetricsResponse": { + "description": "Response message for ListConsumerQuotaMetrics.", + "id": "V1Beta1ListConsumerQuotaMetricsResponse", + "properties": { + "metrics": { + "description": "Quota settings for the consumer, organized by quota metric.", + "items": { + "$ref": "V1Beta1ConsumerQuotaMetric" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token identifying which result to start with; returned by a previous list\ncall.", + "type": "string" + } + }, + "type": "object" + }, + "V1Beta1ListProducerOverridesResponse": { + "description": "Response message for ListProducerOverrides.", + "id": "V1Beta1ListProducerOverridesResponse", + "properties": { + "nextPageToken": { + "description": "Token identifying which result to start with; returned by a previous list\ncall.", + "type": "string" + }, + "overrides": { + "description": "Producer overrides on this limit.", + "items": { + "$ref": "V1Beta1QuotaOverride" + }, + "type": "array" + } + }, + "type": "object" + }, + "V1Beta1OverrideInlineSource": { + "description": "Import data embedded in the request message", + "id": "V1Beta1OverrideInlineSource", + "properties": { + "overrides": { + "description": "The overrides to create.\nEach override must have a value for 'metric' and 'unit', to specify\nwhich metric and which limit the override should be applied to.", + "items": { + "$ref": "V1Beta1QuotaOverride" + }, + "type": "array" + } + }, + "type": "object" + }, + "V1Beta1ProducerQuotaPolicy": { + "description": "Quota policy created by service producer.", + "id": "V1Beta1ProducerQuotaPolicy", + "properties": { + "container": { + "description": "The cloud resource container at which the quota policy is created. The\nformat is {container_type}/{container_number}", + "type": "string" + }, + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "\nIf this map is nonempty, then this policy applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an policy on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe policy is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n\n* Keys that are not defined in the limit's unit are not valid keys.\n Any string appearing in {brackets} in the unit (besides {project} or\n {user}) is a defined key.\n* \"project\" is not a valid key; the project is already specified in\n the parent resource name.\n* \"user\" is not a valid key; the API does not support quota polcies\n that apply only to a specific user.\n* If \"region\" appears as a key, its value must be a valid Cloud region.\n* If \"zone\" appears as a key, its value must be a valid Cloud zone.\n* If any valid key other than \"region\" or \"zone\" appears in the map, then\n all valid keys other than \"region\" or \"zone\" must also appear in the\n map.", + "type": "object" + }, + "metric": { + "description": "The name of the metric to which this policy applies.\n\nAn example name would be:\n`compute.googleapis.com/cpus`", + "type": "string" + }, + "name": { + "description": "The resource name of the producer policy.\nAn example name would be:\n`services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d`", + "type": "string" + }, + "policyValue": { + "description": "The quota policy value.\nCan be any nonnegative integer, or -1 (unlimited quota).", + "format": "int64", + "type": "string" + }, + "unit": { + "description": "The limit unit of the limit to which this policy applies.\n\nAn example unit would be:\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.", + "type": "string" + } + }, + "type": "object" + }, + "V1Beta1QuotaBucket": { + "description": "A quota bucket is a quota provisioning unit for a specific set of dimensions.", + "id": "V1Beta1QuotaBucket", + "properties": { + "adminOverride": { + "$ref": "V1Beta1QuotaOverride", + "description": "Admin override on this quota bucket." + }, + "consumerOverride": { + "$ref": "V1Beta1QuotaOverride", + "description": "Consumer override on this quota bucket." + }, + "defaultLimit": { + "description": "The default limit of this quota bucket, as specified by the service\nconfiguration.", + "format": "int64", + "type": "string" + }, + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "The dimensions of this quota bucket.\n\nIf this map is empty, this is the global bucket, which is the default quota\nvalue applied to all requests that do not have a more specific override.\n\nIf this map is nonempty, the default limit, effective limit, and quota\noverrides apply only to requests that have the dimensions given in the map.\n\nFor example, if the map has key \"region\" and value \"us-east-1\", then the\nspecified effective limit is only effective in that region, and the\nspecified overrides apply only in that region.", + "type": "object" + }, + "effectiveLimit": { + "description": "The effective limit of this quota bucket. Equal to default_limit if there\nare no overrides.", + "format": "int64", + "type": "string" + }, + "producerOverride": { + "$ref": "V1Beta1QuotaOverride", + "description": "Producer override on this quota bucket." + } + }, + "type": "object" + }, + "V1Beta1QuotaOverride": { + "description": "A quota override", + "id": "V1Beta1QuotaOverride", + "properties": { + "adminOverrideAncestor": { + "description": "The resource name of the ancestor that requested the override. For example:\n\"organizations/12345\" or \"folders/67890\".\nUsed by admin overrides only.", + "type": "string" + }, + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "\nIf this map is nonempty, then this override applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an override on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe override is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n\n* Keys that are not defined in the limit's unit are not valid keys.\n Any string appearing in {brackets} in the unit (besides {project} or\n {user}) is a defined key.\n* \"project\" is not a valid key; the project is already specified in\n the parent resource name.\n* \"user\" is not a valid key; the API does not support quota overrides\n that apply only to a specific user.\n* If \"region\" appears as a key, its value must be a valid Cloud region.\n* If \"zone\" appears as a key, its value must be a valid Cloud zone.\n* If any valid key other than \"region\" or \"zone\" appears in the map, then\n all valid keys other than \"region\" or \"zone\" must also appear in the\n map.", + "type": "object" + }, + "metric": { + "description": "The name of the metric to which this override applies.\n\nAn example name would be:\n`compute.googleapis.com/cpus`", + "type": "string" + }, + "name": { + "description": "The resource name of the producer override.\nAn example name would be:\n`services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`", + "type": "string" + }, + "overrideValue": { + "description": "The overriding quota limit value.\nCan be any nonnegative integer, or -1 (unlimited quota).", + "format": "int64", + "type": "string" + }, + "unit": { + "description": "The limit unit of the limit to which this override applies.\n\nAn example unit would be:\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.", + "type": "string" + } + }, + "type": "object" + }, + "V1Beta1RefreshConsumerResponse": { + "description": "Response message for the `RefreshConsumer` method.\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1Beta1RefreshConsumerResponse", + "properties": {}, + "type": "object" + }, + "V1Beta1ServiceIdentity": { + "description": "A service identity in the Identity and Access Management API.", + "id": "V1Beta1ServiceIdentity", + "properties": { + "email": { + "description": "The email address of the service identity.", + "type": "string" + }, + "name": { + "description": "P4 service identity resource name.\n\nAn example name would be:\n`services/serviceconsumermanagement.googleapis.com/projects/123/serviceIdentities/default`", + "type": "string" + }, + "tag": { + "description": "The P4 service identity configuration tag. This must be defined in\nactivation_grants. If not specified when creating the account, the tag is\nset to \"default\".", + "type": "string" + }, + "uniqueId": { + "description": "The unique and stable id of the service identity.", + "type": "string" + } + }, + "type": "object" + }, + "V1beta1AddVisibilityLabelsResponse": { + "description": "Response message for the `AddVisibilityLabels` method.\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1beta1AddVisibilityLabelsResponse", + "properties": { + "labels": { + "description": "The updated set of visibility labels for this consumer on this service.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "V1beta1DefaultIdentity": { + "description": "A default identity in the Identity and Access Management API.", + "id": "V1beta1DefaultIdentity", + "properties": { + "email": { + "description": "The email address of the default identity.", + "type": "string" + }, + "name": { + "description": "Default identity resource name.\n\nAn example name would be:\n`services/serviceconsumermanagement.googleapis.com/projects/123/defaultIdentity`", + "type": "string" + }, + "uniqueId": { + "description": "The unique and stable id of the default identity.", + "type": "string" + } + }, + "type": "object" + }, + "V1beta1DisableConsumerResponse": { + "description": "Response message for the `DisableConsumer` method.\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1beta1DisableConsumerResponse", + "properties": {}, + "type": "object" + }, + "V1beta1EnableConsumerResponse": { + "description": "Response message for the `EnableConsumer` method.\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1beta1EnableConsumerResponse", + "properties": {}, + "type": "object" + }, + "V1beta1GenerateDefaultIdentityResponse": { + "description": "Response message for the `GenerateDefaultIdentity` method.\n\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1beta1GenerateDefaultIdentityResponse", + "properties": { + "attachStatus": { + "description": "Status of the role attachment. Under development (go/si-attach-role),\ncurrently always return ATTACH_STATUS_UNSPECIFIED)", + "enum": [ + "ATTACH_STATUS_UNSPECIFIED", + "ATTACHED", + "ATTACH_SKIPPED", + "PREVIOUSLY_ATTACHED", + "ATTACH_DENIED_BY_ORG_POLICY" + ], + "enumDescriptions": [ + "Indicates that the AttachStatus was not set.", + "The default identity was attached to a role successfully in this request.", + "The request specified that no attempt should be made to attach the role.", + "Role was attached to the consumer project at some point in time. Tenant\nmanager doesn't make assertion about the current state of the identity\nwith respect to the consumer.\n\nRole attachment should happen only once after activation and cannot be\nreattached after customer removes it. (go/si-attach-role)", + "Role attachment was denied in this request by customer set org policy.\n(go/si-attach-role)" + ], + "type": "string" + }, + "identity": { + "$ref": "V1beta1DefaultIdentity", + "description": "DefaultIdentity that was created or retrieved." + }, + "role": { + "description": "Role attached to consumer project. Empty if not attached in this\nrequest. (Under development, currently always return empty.)", + "type": "string" + } + }, + "type": "object" + }, + "V1beta1GenerateServiceAccountResponse": { + "description": "Response message for the `GenerateServiceAccount` method.\n\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1beta1GenerateServiceAccountResponse", + "properties": { + "account": { + "$ref": "V1beta1ServiceAccount", + "description": "ServiceAccount that was created or retrieved." + } + }, + "type": "object" + }, + "V1beta1RefreshConsumerResponse": { + "description": "Response message for the `RefreshConsumer` method.\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1beta1RefreshConsumerResponse", + "properties": {}, + "type": "object" + }, + "V1beta1RemoveVisibilityLabelsResponse": { + "description": "Response message for the `RemoveVisibilityLabels` method.\nThis response message is assigned to the `response` field of the returned\nOperation when that operation is done.", + "id": "V1beta1RemoveVisibilityLabelsResponse", + "properties": { + "labels": { + "description": "The updated set of visibility labels for this consumer on this service.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "V1beta1ServiceAccount": { + "description": "A service account in the Identity and Access Management API.", + "id": "V1beta1ServiceAccount", + "properties": { + "email": { + "description": "The email address of the service account.", + "type": "string" + }, + "iamAccountName": { + "description": "Deprecated. See b/136209818.", + "type": "string" + }, + "name": { + "description": "P4 SA resource name.\n\nAn example name would be:\n`services/serviceconsumermanagement.googleapis.com/projects/123/serviceAccounts/default`", + "type": "string" + }, + "tag": { + "description": "The P4 SA configuration tag. This must be defined in activation_grants.\nIf not specified when creating the account, the tag is set to \"default\".", + "type": "string" + }, + "uniqueId": { + "description": "The unique and stable id of the service account.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Service Consumer Management API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/servicecontrol/v1/servicecontrol-api.json b/etc/api/servicecontrol/v1/servicecontrol-api.json index 5c17dcee32..aa2ff6fc1d 100644 --- a/etc/api/servicecontrol/v1/servicecontrol-api.json +++ b/etc/api/servicecontrol/v1/servicecontrol-api.json @@ -197,7 +197,7 @@ } } }, - "revision": "20200407", + "revision": "20200630", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "AllocateInfo": { @@ -399,7 +399,7 @@ "type": "array" }, "audiences": { - "description": "The intended audience(s) for this authentication information. Reflects\nthe audience (`aud`) claim within a JWT. The audience\nvalue(s) depends on the `issuer`, but typically include one or more of\nthe following pieces of information:\n\n* The services intended to receive the credential such as\n [\"pubsub.googleapis.com\", \"storage.googleapis.com\"]\n* A set of service-based scopes. For example,\n [\"https://www.googleapis.com/auth/cloud-platform\"]\n* The client id of an app, such as the Firebase project id for JWTs\n from Firebase Auth.\n\nConsult the documentation for the credential issuer to determine the\ninformation provided.", + "description": "The intended audience(s) for this authentication information. Reflects\nthe audience (`aud`) claim within a JWT. The audience\nvalue(s) depends on the `issuer`, but typically include one or more of\nthe following pieces of information:\n\n* The services intended to receive the credential. For example,\n [\"https://pubsub.googleapis.com/\", \"https://storage.googleapis.com/\"].\n* A set of service-based scopes. For example,\n [\"https://www.googleapis.com/auth/cloud-platform\"].\n* The client id of an app, such as the Firebase project id for JWTs\n from Firebase Auth.\n\nConsult the documentation for the credential issuer to determine the\ninformation provided.", "items": { "type": "string" }, @@ -578,7 +578,7 @@ "description": "Contains public information about the check error. If available,\n`status.code` will be non zero and client can propagate it out as public\nerror." }, "subject": { - "description": "Subject to whom this error applies. See the specific code enum for more\ndetails on this field. For example:\n - \u201cproject:\u201d\n - \u201cfolder:\u201d\n - \u201corganization:\u201d", + "description": "Subject to whom this error applies. See the specific code enum for more\ndetails on this field. For example:\n\n- \"project:\"\n- \"folder:\"\n- \"organization:\"", "type": "string" } }, @@ -1165,6 +1165,17 @@ "format": "google-datetime", "type": "string" }, + "extensions": { + "description": "Unimplemented.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, "importance": { "description": "DO NOT USE. This is an experimental field.", "enum": [ @@ -1389,14 +1400,16 @@ "NORMAL", "BEST_EFFORT", "CHECK_ONLY", - "QUERY_ONLY" + "QUERY_ONLY", + "ADJUST_ONLY" ], "enumDescriptions": [ "Guard against implicit default. Must not be used.", "For AllocateQuota request, allocates quota for the amount specified in\nthe service configuration or specified using the quota metrics. If the\namount is higher than the available quota, allocation error will be\nreturned and no quota will be allocated.\nIf multiple quotas are part of the request, and one fails, none of the\nquotas are allocated or released.", "The operation allocates quota for the amount specified in the service\nconfiguration or specified using the quota metrics. If the amount is\nhigher than the available quota, request does not fail but all available\nquota will be allocated.\nFor rate quota, BEST_EFFORT will continue to deduct from other groups\neven if one does not have enough quota. For allocation, it will find the\nminimum available amount across all groups and deduct that amount from\nall the affected groups.", "For AllocateQuota request, only checks if there is enough quota\navailable and does not change the available quota. No lock is placed on\nthe available quota either.", - "Unimplemented. When used in AllocateQuotaRequest, this returns the\neffective quota limit(s) in the response, and no quota check will be\nperformed. Not supported for other requests, and even for\nAllocateQuotaRequest, this is currently supported only for whitelisted\nservices." + "Unimplemented. When used in AllocateQuotaRequest, this returns the\neffective quota limit(s) in the response, and no quota check will be\nperformed. Not supported for other requests, and even for\nAllocateQuotaRequest, this is currently supported only for whitelisted\nservices.", + "The operation allocates quota for the amount specified in the service\nconfiguration or specified using the quota metrics. If the requested\namount is higher than the available quota, request does not fail and\nremaining quota would become negative (going over the limit)\nNot supported for Rate Quota." ], "type": "string" } diff --git a/etc/api/servicedirectory/v1beta1/servicedirectory-api.json b/etc/api/servicedirectory/v1beta1/servicedirectory-api.json new file mode 100644 index 0000000000..2aef6c4081 --- /dev/null +++ b/etc/api/servicedirectory/v1beta1/servicedirectory-api.json @@ -0,0 +1,1233 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://servicedirectory.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Service Directory", + "description": "Service Directory is a platform for discovering, publishing, and connecting services.\n", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/service-directory", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "servicedirectory:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://servicedirectory.mtls.googleapis.com/", + "name": "servicedirectory", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "servicedirectory.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "servicedirectory.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "namespaces": { + "methods": { + "create": { + "description": "Creates a namespace, and returns the new Namespace.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "namespaceId": { + "description": "Required. The Resource ID must be 1-63 characters long, and comply with\nRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the project and location the namespace\nwill be created in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/namespaces", + "request": { + "$ref": "Namespace" + }, + "response": { + "$ref": "Namespace" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a namespace. This also deletes all services and endpoints in\nthe namespace.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}", + "httpMethod": "DELETE", + "id": "servicedirectory.projects.locations.namespaces.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the namespace to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a namespace.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}", + "httpMethod": "GET", + "id": "servicedirectory.projects.locations.namespaces.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the namespace to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Namespace" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM Policy for a resource (namespace or service only).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}:getIamPolicy", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all namespaces.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces", + "httpMethod": "GET", + "id": "servicedirectory.projects.locations.namespaces.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to list result by.\n\nGeneral filter string syntax:\n ()\n can be \"name\", or \"labels.\" for map field.\n can be \"<, >, <=, >=, !=, =, :\". Of which \":\" means HAS, and\nis roughly the same as \"=\".\n must be the same data type as field.\n can be \"AND, OR, NOT\".\n\nExamples of valid filters:\n* \"labels.owner\" returns Namespaces that have a label with the key \"owner\"\n this is the same as \"labels:owner\".\n* \"labels.protocol=gRPC\" returns Namespaces that have key/value\n \"protocol=gRPC\".\n* \"name>projects/my-project/locations/us-east/namespaces/namespace-c\"\n returns Namespaces that have name that is alphabetically later than the\n string, so \"namespace-e\" will be returned but \"namespace-a\" will not be.\n* \"labels.owner!=sd AND labels.foo=bar\" returns Namespaces that have\n \"owner\" in label key but value is not \"sd\" AND have key/value foo=bar.\n* \"doesnotexist.foo=bar\" returns an empty list. Note that Namespace doesn't\n have a field called \"doesnotexist\". Since the filter does not match any\n Namespaces, it returns no results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The order to list result by.\n\nGeneral order by string syntax:\n () (,)\n allows values {\"name\"}\n ascending or descending order by . If this is left\nblank, \"asc\" is used.\nNote that an empty order_by string result in default order, which is order\nby name in ascending order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the project and location whose namespaces we'd like to\nlist.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/namespaces", + "response": { + "$ref": "ListNamespacesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a namespace.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}", + "httpMethod": "PATCH", + "id": "servicedirectory.projects.locations.namespaces.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name for the namespace in the format\n'projects/*/locations/*/namespaces/*'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. List of fields to be updated in this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Namespace" + }, + "response": { + "$ref": "Namespace" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM Policy for a resource (namespace or service only).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}:setIamPolicy", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests IAM permissions for a resource (namespace or service only).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}:testIamPermissions", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "services": { + "methods": { + "create": { + "description": "Creates a service, and returns the new Service.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.services.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the namespace this service will belong to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + }, + "serviceId": { + "description": "Required. The Resource ID must be 1-63 characters long, and comply with\nRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/services", + "request": { + "$ref": "Service" + }, + "response": { + "$ref": "Service" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a service. This also deletes all endpoints associated with\nthe service.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}", + "httpMethod": "DELETE", + "id": "servicedirectory.projects.locations.namespaces.services.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the service to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a service.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}", + "httpMethod": "GET", + "id": "servicedirectory.projects.locations.namespaces.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the service to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Service" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM Policy for a resource (namespace or service only).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:getIamPolicy", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.services.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all services belonging to a namespace.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services", + "httpMethod": "GET", + "id": "servicedirectory.projects.locations.namespaces.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to list result by.\n\nGeneral filter string syntax:\n ()\n can be \"name\", or \"metadata.\" for map field.\n can be \"<, >, <=, >=, !=, =, :\". Of which \":\" means HAS, and\nis roughly the same as \"=\".\n must be the same data type as field.\n can be \"AND, OR, NOT\".\n\nExamples of valid filters:\n* \"metadata.owner\" returns Services that have a label with the key \"owner\"\n this is the same as \"metadata:owner\".\n* \"metadata.protocol=gRPC\" returns Services that have key/value\n \"protocol=gRPC\".\n* \"name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c\"\n returns Services that have name that is alphabetically later than the\n string, so \"service-e\" will be returned but \"service-a\" will not be.\n* \"metadata.owner!=sd AND metadata.foo=bar\" returns Services that have\n \"owner\" in label key but value is not \"sd\" AND have key/value foo=bar.\n* \"doesnotexist.foo=bar\" returns an empty list. Note that Service doesn't\n have a field called \"doesnotexist\". Since the filter does not match any\n Services, it returns no results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The order to list result by.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request,\nif any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the namespace whose services we'd\nlike to list.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/services", + "response": { + "$ref": "ListServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a service.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}", + "httpMethod": "PATCH", + "id": "servicedirectory.projects.locations.namespaces.services.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name for the service in the format\n'projects/*/locations/*/namespaces/*/services/*'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. List of fields to be updated in this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Service" + }, + "response": { + "$ref": "Service" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resolve": { + "description": "Returns a service and its\nassociated endpoints.\nResolving a service is not considered an active developer method.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:resolve", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.services.resolve", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the service to resolve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:resolve", + "request": { + "$ref": "ResolveServiceRequest" + }, + "response": { + "$ref": "ResolveServiceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM Policy for a resource (namespace or service only).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:setIamPolicy", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.services.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests IAM permissions for a resource (namespace or service only).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:testIamPermissions", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.services.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "endpoints": { + "methods": { + "create": { + "description": "Creates a endpoint, and returns the new Endpoint.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.namespaces.services.endpoints.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "endpointId": { + "description": "Required. The Resource ID must be 1-63 characters long, and comply with\nRFC1035.\nSpecifically, the name must be 1-63 characters long and match the regular\nexpression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first\ncharacter must be a lowercase letter, and all following characters must\nbe a dash, lowercase letter, or digit, except the last character, which\ncannot be a dash.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the service that this endpoint provides.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/endpoints", + "request": { + "$ref": "Endpoint" + }, + "response": { + "$ref": "Endpoint" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a endpoint.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints/{endpointsId}", + "httpMethod": "DELETE", + "id": "servicedirectory.projects.locations.namespaces.services.endpoints.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the endpoint to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a endpoint.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints/{endpointsId}", + "httpMethod": "GET", + "id": "servicedirectory.projects.locations.namespaces.services.endpoints.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the endpoint to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Endpoint" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all endpoints.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints", + "httpMethod": "GET", + "id": "servicedirectory.projects.locations.namespaces.services.endpoints.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to list result by.\n\nGeneral filter string syntax:\n ()\n can be \"name\", \"address\", \"port\" or \"metadata.\" for map field.\n can be \"<, >, <=, >=, !=, =, :\". Of which \":\" means HAS, and\nis roughly the same as \"=\".\n must be the same data type as field.\n can be \"AND, OR, NOT\".\n\nExamples of valid filters:\n* \"metadata.owner\" returns Endpoints that have a label with the key \"owner\"\n this is the same as \"metadata:owner\".\n* \"metadata.protocol=gRPC\" returns Endpoints that have key/value\n \"protocol=gRPC\".\n* \"address=192.108.1.105\" returns Endpoints that have this address.\n* \"port>8080\" returns Endpoints that have port number larger than 8080.\n* \"name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c\"\n returns Endpoints that have name that is alphabetically later than the\n string, so \"endpoint-e\" will be returned but \"endpoint-a\" will not be.\n* \"metadata.owner!=sd AND metadata.foo=bar\" returns Endpoints that have\n \"owner\" in label key but value is not \"sd\" AND have key/value foo=bar.\n* \"doesnotexist.foo=bar\" returns an empty list. Note that Endpoint doesn't\n have a field called \"doesnotexist\". Since the filter does not match any\n Endpoints, it returns no results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The order to list result by.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request,\nif any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the service whose endpoints we'd like to\nlist.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/endpoints", + "response": { + "$ref": "ListEndpointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a endpoint.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}/endpoints/{endpointsId}", + "httpMethod": "PATCH", + "id": "servicedirectory.projects.locations.namespaces.services.endpoints.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name for the endpoint in the format\n'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/namespaces/[^/]+/services/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. List of fields to be updated in this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Endpoint" + }, + "response": { + "$ref": "Endpoint" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + } + } + }, + "revision": "20200624", + "rootUrl": "https://servicedirectory.googleapis.com/", + "schemas": { + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Endpoint": { + "description": "An individual endpoint that provides a\nservice. The service must\nalready exist to create an endpoint.", + "id": "Endpoint", + "properties": { + "address": { + "description": "Optional. An IPv4 or IPv6 address. Service Directory will reject bad\naddresses like:\n \"8.8.8\"\n \"8.8.8.8:53\"\n \"test:bad:address\"\n \"[::1]\"\n \"[::1]:8080\"\nLimited to 45 characters.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Metadata for the endpoint. This data can be consumed by service\nclients. The entire metadata dictionary may contain up to 512 characters,\nspread accoss all key-value pairs. Metadata that goes beyond any these\nlimits will be rejected.", + "type": "object" + }, + "name": { + "description": "Immutable. The resource name for the endpoint in the format\n'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.", + "type": "string" + }, + "port": { + "description": "Optional. Service Directory will reject values outside of [0, 65535].", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "id": "GetIamPolicyRequest", + "properties": { + "options": { + "$ref": "GetPolicyOptions", + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." + } + }, + "type": "object" + }, + "GetPolicyOptions": { + "description": "Encapsulates settings provided to GetIamPolicy.", + "id": "GetPolicyOptions", + "properties": { + "requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ListEndpointsResponse": { + "description": "The response message for RegistrationService.ListEndpoints.", + "id": "ListEndpointsResponse", + "properties": { + "endpoints": { + "description": "The list of endpoints.", + "items": { + "$ref": "Endpoint" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListNamespacesResponse": { + "description": "The response message for RegistrationService.ListNamespaces.", + "id": "ListNamespacesResponse", + "properties": { + "namespaces": { + "description": "The list of namespaces.", + "items": { + "$ref": "Namespace" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListServicesResponse": { + "description": "The response message for RegistrationService.ListServices.", + "id": "ListServicesResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + }, + "services": { + "description": "The list of services.", + "items": { + "$ref": "Service" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Namespace": { + "description": "A container for services.\nNamespaces allow administrators to group services together and define\npermissions for a collection of services.", + "id": "Namespace", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels associated with this Namespace.\nNo more than 64 user labels can be associated with a given resource. Label\nkeys and values can be no longer than 63 characters.", + "type": "object" + }, + "name": { + "description": "Immutable. The resource name for the namespace in the format\n'projects/*/locations/*/namespaces/*'.", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ResolveServiceRequest": { + "description": "The request message for LookupService.ResolveService.\nLooks up a service by its name, returns the service and its endpoints.", + "id": "ResolveServiceRequest", + "properties": { + "endpointFilter": { + "description": "Optional. The filter applied to the endpoints of the resolved service.\n\nGeneral filter string syntax:\n ()\n can be \"name\" or \"metadata.\" for map field.\n can be \"<, >, <=, >=, !=, =, :\". Of which \":\" means HAS and is\nroughly the same as \"=\".\n must be the same data type as the field.\n can be \"AND, OR, NOT\".\n\nExamples of valid filters:\n* \"metadata.owner\" returns Endpoints that have a label with the\n key \"owner\", this is the same as \"metadata:owner\"\n* \"metadata.protocol=gRPC\" returns Endpoints that have key/value\n \"protocol=gRPC\"\n* \"metadata.owner!=sd AND metadata.foo=bar\" returns\n Endpoints that have \"owner\" field in metadata with a value that is not\n \"sd\" AND have the key/value foo=bar.", + "type": "string" + }, + "maxEndpoints": { + "description": "Optional. The maximum number of endpoints to return. Defaults to 25. Maximum is 100.\nIf a value less than one is specified, the Default is used.\nIf a value greater than the Maximum is specified, the Maximum is used.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ResolveServiceResponse": { + "description": "The response message for LookupService.ResolveService.", + "id": "ResolveServiceResponse", + "properties": { + "service": { + "$ref": "Service" + } + }, + "type": "object" + }, + "Service": { + "description": "An individual service. A service contains a name and optional metadata.\nA service must exist before\nendpoints can be\nadded to it.", + "id": "Service", + "properties": { + "endpoints": { + "description": "Output only. Endpoints associated with this service. Returned on LookupService.Resolve.\nControl plane clients should use RegistrationService.ListEndpoints.", + "items": { + "$ref": "Endpoint" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Metadata for the service. This data can be consumed by service\nclients. The entire metadata dictionary may contain up to 2000 characters,\nspread across all key-value pairs. Metadata that goes beyond any these\nlimits will be rejected.", + "type": "object" + }, + "name": { + "description": "Immutable. The resource name for the service in the format\n'projects/*/locations/*/namespaces/*/services/*'.", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Service Directory API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/servicemanagement/v1/servicemanagement-api.json b/etc/api/servicemanagement/v1/servicemanagement-api.json index bfe81e61aa..6cc8c49312 100644 --- a/etc/api/servicemanagement/v1/servicemanagement-api.json +++ b/etc/api/servicemanagement/v1/servicemanagement-api.json @@ -185,7 +185,7 @@ "services": { "methods": { "create": { - "description": "Creates a new managed service.\nPlease note one producer project can own no more than 20 services.\n\nOperation", + "description": "Creates a new managed service.\n\nA managed service is immutable, and is subject to mandatory 30-day\ndata retention. You cannot move a service or recreate it within 30 days\nafter deletion.\n\nOne producer project can own no more than 500 services. For security and\nreliability purposes, a production service should be hosted in a\ndedicated producer project.\n\nOperation", "flatPath": "v1/services", "httpMethod": "POST", "id": "servicemanagement.services.create", @@ -443,7 +443,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/services/{servicesId}:setIamPolicy", "httpMethod": "POST", "id": "servicemanagement.services.setIamPolicy", @@ -472,7 +472,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/services/{servicesId}:testIamPermissions", "httpMethod": "POST", "id": "servicemanagement.services.testIamPermissions", @@ -704,7 +704,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/services/{servicesId}/consumers/{consumersId}:setIamPolicy", "httpMethod": "POST", "id": "servicemanagement.services.consumers.setIamPolicy", @@ -733,7 +733,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/services/{servicesId}/consumers/{consumersId}:testIamPermissions", "httpMethod": "POST", "id": "servicemanagement.services.consumers.testIamPermissions", @@ -877,7 +877,7 @@ } } }, - "revision": "20200406", + "revision": "20200701", "rootUrl": "https://servicemanagement.googleapis.com/", "schemas": { "Advice": { @@ -944,7 +944,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -962,7 +962,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1149,10 +1149,6 @@ "description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.", "type": "string" }, - "renameTo": { - "description": "Unimplemented. Do not use.\n\nThe new name the selected proto elements should be renamed to.\n\nThe package, the service and the method can all be renamed.\nThe backend server should implement the renamed proto. However, clients\nshould call the original method, and ESF routes the traffic to the renamed\nmethod.\n\nHTTP clients should call the URL mapped to the original method.\ngRPC and Stubby clients should call the original method with package name.\n\nFor legacy reasons, ESF allows Stubby clients to call with the\nshort name (without the package name). However, for API Versioning(or\nmultiple methods mapped to the same short name), all Stubby clients must\ncall the method's full name with the package name, otherwise the first one\n(selector) wins.\n\nIf this `rename_to` is specified with a trailing `*`, the `selector` must\nbe specified with a trailing `*` as well. The all element short names\nmatched by the `*` in the selector will be kept in the `rename_to`.\n\nFor example,\n rename_rules:\n - selector: |-\n google.example.library.v1.*\n rename_to: google.example.library.*\n\nThe selector matches `google.example.library.v1.Library.CreateShelf` and\n`google.example.library.v1.Library.CreateBook`, they will be renamed to\n`google.example.library.Library.CreateShelf` and\n`google.example.library.Library.CreateBook`. It essentially renames the\nproto package name section of the matched proto service and methods.", - "type": "string" - }, "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" @@ -1161,7 +1157,7 @@ "type": "object" }, "Billing": { - "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing, `consumer_destinations` is the only supported destination and\nthe monitored resources need at least one label key\n`cloud.googleapis.com/location` to indicate the location of the billing\nusage, using different monitored resources between monitoring and billing is\nrecommended so they can be evolved independently:\n\n\n monitored_resources:\n - type: library.googleapis.com/billing_branch\n labels:\n - key: cloud.googleapis.com/location\n description: |\n Predefined label to support billing location restriction.\n - key: city\n description: |\n Custom label to define the city where the library branch is located\n in.\n - key: name\n description: Custom label to define the name of the library branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/billing_branch\n metrics:\n - library.googleapis.com/book/borrowed_count", "id": "Billing", "properties": { "consumerDestinations": { @@ -1198,7 +1194,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1588,13 +1584,6 @@ "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed.", "type": "boolean" }, - "features": { - "description": "The list of features enabled on this endpoint.", - "items": { - "type": "string" - }, - "type": "array" - }, "name": { "description": "The canonical name of this endpoint.", "type": "string" @@ -1872,7 +1861,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1882,7 +1871,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2208,7 +2197,7 @@ "type": "object" }, "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", + "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.\n\nThe following are specific rules for service defined Monitoring metric\ndescriptors:\n\n* `type`, `metric_kind`, `value_type`, `description`, `display_name`,\n `launch_stage` fields are all required. The `unit` field must be specified\n if the `value_type` is any of DOUBLE, INT64, DISTRIBUTION.\n* Maximum of default 500 metric descriptors per service is allowed.\n* Maximum of default 10 labels per metric descriptor is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas", "id": "MetricDescriptor", "properties": { "description": { @@ -2220,7 +2209,7 @@ "type": "string" }, "labels": { - "description": "The set of labels that can be used to describe a specific\ninstance of this metric type. For example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", + "description": "The set of labels that can be used to describe a specific\ninstance of this metric type.\n\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", "items": { "$ref": "LabelDescriptor" }, @@ -2282,11 +2271,11 @@ "type": "string" }, "type": { - "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined metric types have the DNS name\n`custom.googleapis.com` or `external.googleapis.com`. Metric types should\nuse a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded.\n\nAll service defined metrics must be prefixed with the service name, in the\nformat of `{service name}/{relative metric name}`, such as\n`cloudsql.googleapis.com/database/cpu/utilization`. The relative metric\nname must follow:\n\n* Only upper and lower-case letters, digits, '/' and underscores '_' are\n allowed.\n* The maximum number of characters allowed for the relative_metric_name is\n 100.\n\nAll user-defined metric types have the DNS name\n`custom.googleapis.com`, `external.googleapis.com`, or\n`logging.googleapis.com/user/`.\n\nMetric types should use a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", "type": "string" }, "unit": { - "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", + "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n* `1` dimensionless\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", "type": "string" }, "valueType": { @@ -2390,7 +2379,7 @@ "type": "object" }, "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent APIs can support different monitored resource types. APIs generally\nprovide a `list` method that returns the monitored resource descriptors used\nby the API.", + "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent services can support different monitored resource types.\n\nThe following are specific rules to service defined monitored resources for\nMonitoring and Logging:\n\n* The `type`, `display_name`, `description`, `labels` and `launch_stage`\n fields are all required.\n* The first label of the monitored resource descriptor must be\n `resource_container`. There are legacy monitored resource descritptors\n start with `project_id`.\n* It must include a `location` label.\n* Maximum of default 5 service defined monitored resource descriptors\n is allowed per service.\n* Maximum of default 10 labels per monitored resource is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas\n", "id": "MonitoredResourceDescriptor", "properties": { "description": { @@ -2402,7 +2391,7 @@ "type": "string" }, "labels": { - "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", + "description": "Required. A set of labels used to describe instances of this monitored\nresource type.\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, an individual Google Cloud SQL database is\nidentified by values for the labels `database_id` and `location`.", "items": { "$ref": "LabelDescriptor" }, @@ -2437,25 +2426,25 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type\n`\"cloudsql_database\"` represents databases in Google Cloud SQL.\nThe maximum length of this value is 256 characters.", + "description": "Required. The monitored resource type. For example, the type\n`cloudsql_database` represents databases in Google Cloud SQL.\n\nAll service defined monitored resource types must be prefixed with the\nservice name, in the format of `{service name}/{relative resource name}`.\nThe relative resource name must follow:\n\n* Only upper and lower-case letters and digits are allowed.\n* It must start with upper case character and is recommended to use Upper\n Camel Case style.\n* The maximum number of characters allowed for the relative_resource_name\n is 100.\n\nNote there are legacy service monitored resources not following this rule.", "type": "string" } }, "type": "object" }, "Monitoring": { - "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count", + "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/num_overdue` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/Branch\n display_name: \"Library Branch\"\n description: \"A branch of a library.\"\n launch_stage: GA\n labels:\n - key: resource_container\n description: \"The Cloud container (ie. project id) for the Branch.\"\n - key: location\n description: \"The location of the library branch.\"\n - key: branch_id\n description: \"The id of the branch.\"\n metrics:\n - name: library.googleapis.com/book/returned_count\n display_name: \"Books Returned\"\n description: \"The count of books that have been returned.\"\n launch_stage: GA\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n - name: library.googleapis.com/book/num_overdue\n display_name: \"Books Overdue\"\n description: \"The current number of overdue books.\"\n launch_stage: GA\n metric_kind: GAUGE\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/num_overdue", "id": "Monitoring", "properties": { "consumerDestinations": { - "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, "type": "array" }, "producerDestinations": { - "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, @@ -2601,7 +2590,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -2624,7 +2613,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2928,7 +2917,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/servicenetworking/v1/servicenetworking-api.json b/etc/api/servicenetworking/v1/servicenetworking-api.json index 58c57d751b..bda9eca8bd 100644 --- a/etc/api/servicenetworking/v1/servicenetworking-api.json +++ b/etc/api/servicenetworking/v1/servicenetworking-api.json @@ -488,6 +488,159 @@ } } }, + "dnsRecordSets": { + "methods": { + "add": { + "description": "Service producers can use this method to add DNS record sets to private DNS\nzones in the shared producer host project.", + "flatPath": "v1/services/{servicesId}/dnsRecordSets:add", + "httpMethod": "POST", + "id": "servicenetworking.services.dnsRecordSets.add", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The service that is managing peering connectivity for a service producer's\norganization. For Google services that support this functionality, this\nvalue is `services/servicenetworking.googleapis.com`.", + "location": "path", + "pattern": "^services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dnsRecordSets:add", + "request": { + "$ref": "AddDnsRecordSetRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + }, + "remove": { + "description": "Service producers can use this method to remove DNS record sets from\nprivate DNS zones in the shared producer host project.", + "flatPath": "v1/services/{servicesId}/dnsRecordSets:remove", + "httpMethod": "POST", + "id": "servicenetworking.services.dnsRecordSets.remove", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The service that is managing peering connectivity for a service producer's\norganization. For Google services that support this functionality, this\nvalue is `services/servicenetworking.googleapis.com`.", + "location": "path", + "pattern": "^services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dnsRecordSets:remove", + "request": { + "$ref": "RemoveDnsRecordSetRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + }, + "update": { + "description": "Service producers can use this method to update DNS record sets from\nprivate DNS zones in the shared producer host project.", + "flatPath": "v1/services/{servicesId}/dnsRecordSets:update", + "httpMethod": "POST", + "id": "servicenetworking.services.dnsRecordSets.update", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The service that is managing peering connectivity for a service producer's\norganization. For Google services that support this functionality, this\nvalue is `services/servicenetworking.googleapis.com`.", + "location": "path", + "pattern": "^services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dnsRecordSets:update", + "request": { + "$ref": "UpdateDnsRecordSetRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + } + } + }, + "dnsZones": { + "methods": { + "add": { + "description": "Service producers can use this method to add private DNS zones in the\nshared producer host project and matching peering zones in the consumer\nproject.", + "flatPath": "v1/services/{servicesId}/dnsZones:add", + "httpMethod": "POST", + "id": "servicenetworking.services.dnsZones.add", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The service that is managing peering connectivity for a service producer's\norganization. For Google services that support this functionality, this\nvalue is `services/servicenetworking.googleapis.com`.", + "location": "path", + "pattern": "^services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dnsZones:add", + "request": { + "$ref": "AddDnsZoneRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + }, + "remove": { + "description": "Service producers can use this method to remove private DNS zones in the\nshared producer host project and matching peering zones in the consumer\nproject.", + "flatPath": "v1/services/{servicesId}/dnsZones:remove", + "httpMethod": "POST", + "id": "servicenetworking.services.dnsZones.remove", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The service that is managing peering connectivity for a service producer's\norganization. For Google services that support this functionality, this\nvalue is `services/servicenetworking.googleapis.com`.", + "location": "path", + "pattern": "^services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dnsZones:remove", + "request": { + "$ref": "RemoveDnsZoneRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + } + } + }, "roles": { "methods": { "add": { @@ -524,9 +677,74 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { + "AddDnsRecordSetMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nAddDnsRecordSet API", + "id": "AddDnsRecordSetMetadata", + "properties": {}, + "type": "object" + }, + "AddDnsRecordSetRequest": { + "description": "Request to add a record set to a private managed DNS zone in the shared\nproducer host project.", + "id": "AddDnsRecordSetRequest", + "properties": { + "consumerNetwork": { + "description": "Required. The network that the consumer is using to connect with services.\nMust be in the form of projects/{project}/global/networks/{network}\n{project} is the project number, as in '12345'\n{network} is the network name.", + "type": "string" + }, + "dnsRecordSet": { + "$ref": "DnsRecordSet", + "description": "Required. The DNS record set to add." + }, + "zone": { + "description": "Required. The name of the private DNS zone in the shared producer host project to\nwhich the record set will be added.", + "type": "string" + } + }, + "type": "object" + }, + "AddDnsZoneMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nAddDnsZone API", + "id": "AddDnsZoneMetadata", + "properties": {}, + "type": "object" + }, + "AddDnsZoneRequest": { + "description": "Request to add a private managed DNS zone in the shared producer host project\nand a matching DNS peering zone in the consumer project.", + "id": "AddDnsZoneRequest", + "properties": { + "consumerNetwork": { + "description": "Required. The network that the consumer is using to connect with services.\nMust be in the form of projects/{project}/global/networks/{network}\n{project} is the project number, as in '12345'\n{network} is the network name.", + "type": "string" + }, + "dnsSuffix": { + "description": "Required. The DNS name suffix for the zones e.g. `example.com`.", + "type": "string" + }, + "name": { + "description": "Required. The name for both the private zone in the shared producer host project and\nthe peering zone in the consumer project. Must be unique within both\nprojects. The name must be 1-63 characters long, must begin with a letter,\nend with a letter or digit, and only contain lowercase letters, digits or\ndashes.", + "type": "string" + } + }, + "type": "object" + }, + "AddDnsZoneResponse": { + "description": "Represents managed DNS zones created in the shared producer host and consumer\nprojects.", + "id": "AddDnsZoneResponse", + "properties": { + "consumerPeeringZone": { + "$ref": "DnsZone", + "description": "The DNS peering zone created in the consumer project." + }, + "producerPrivateZone": { + "$ref": "DnsZone", + "description": "The private DNS zone created in the shared producer host project." + } + }, + "type": "object" + }, "AddRolesMetadata": { "description": "Metadata provided through GetOperation request for the LRO generated by\nAddRoles API", "id": "AddRolesMetadata", @@ -822,10 +1040,6 @@ "description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.", "type": "string" }, - "renameTo": { - "description": "Unimplemented. Do not use.\n\nThe new name the selected proto elements should be renamed to.\n\nThe package, the service and the method can all be renamed.\nThe backend server should implement the renamed proto. However, clients\nshould call the original method, and ESF routes the traffic to the renamed\nmethod.\n\nHTTP clients should call the URL mapped to the original method.\ngRPC and Stubby clients should call the original method with package name.\n\nFor legacy reasons, ESF allows Stubby clients to call with the\nshort name (without the package name). However, for API Versioning(or\nmultiple methods mapped to the same short name), all Stubby clients must\ncall the method's full name with the package name, otherwise the first one\n(selector) wins.\n\nIf this `rename_to` is specified with a trailing `*`, the `selector` must\nbe specified with a trailing `*` as well. The all element short names\nmatched by the `*` in the selector will be kept in the `rename_to`.\n\nFor example,\n rename_rules:\n - selector: |-\n google.example.library.v1.*\n rename_to: google.example.library.*\n\nThe selector matches `google.example.library.v1.Library.CreateShelf` and\n`google.example.library.v1.Library.CreateBook`, they will be renamed to\n`google.example.library.Library.CreateShelf` and\n`google.example.library.Library.CreateBook`. It essentially renames the\nproto package name section of the matched proto service and methods.", - "type": "string" - }, "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" @@ -834,7 +1048,7 @@ "type": "object" }, "Billing": { - "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing, `consumer_destinations` is the only supported destination and\nthe monitored resources need at least one label key\n`cloud.googleapis.com/location` to indicate the location of the billing\nusage, using different monitored resources between monitoring and billing is\nrecommended so they can be evolved independently:\n\n\n monitored_resources:\n - type: library.googleapis.com/billing_branch\n labels:\n - key: cloud.googleapis.com/location\n description: |\n Predefined label to support billing location restriction.\n - key: city\n description: |\n Custom label to define the city where the library branch is located\n in.\n - key: name\n description: Custom label to define the name of the library branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/billing_branch\n metrics:\n - library.googleapis.com/book/borrowed_count", "id": "Billing", "properties": { "consumerDestinations": { @@ -1035,6 +1249,48 @@ }, "type": "object" }, + "DnsRecordSet": { + "description": "Represents a DNS record set resource.", + "id": "DnsRecordSet", + "properties": { + "data": { + "description": "Required. As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) for\nexamples see https://cloud.google.com/dns/records/json-record.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domain": { + "description": "Required. The DNS or domain name of the record set, e.g. `test.example.com`.", + "type": "string" + }, + "ttl": { + "description": "Required. The period of time for which this RecordSet can be cached by resolvers.", + "format": "google-duration", + "type": "string" + }, + "type": { + "description": "Required. The identifier of a supported record type.", + "type": "string" + } + }, + "type": "object" + }, + "DnsZone": { + "description": "Represents a DNS zone resource.", + "id": "DnsZone", + "properties": { + "dnsSuffix": { + "description": "The DNS name suffix of this zone e.g. `example.com.`.", + "type": "string" + }, + "name": { + "description": "User assigned name for this resource. Must be unique within the project.\nThe name must be 1-63 characters long, must begin with a letter, end with\na letter or digit, and only contain lowercase letters, digits or dashes.", + "type": "string" + } + }, + "type": "object" + }, "Documentation": { "description": "`Documentation` provides the information for describing a service.\n\nExample:\n
documentation:\n  summary: >\n    The Google Calendar API gives access\n    to most calendar features.\n  pages:\n  - name: Overview\n    content: (== include google/foo/overview.md ==)\n  - name: Tutorial\n    content: (== include google/foo/tutorial.md ==)\n    subpages;\n    - name: Java\n      content: (== include google/foo/tutorial_java.md ==)\n  rules:\n  - selector: google.calendar.Calendar.Get\n    description: >\n      ...\n  - selector: google.calendar.Calendar.Put\n    description: >\n      ...\n
\nDocumentation is provided in markdown syntax. In addition to\nstandard markdown features, definition lists, tables and fenced\ncode blocks are supported. Section headers can be provided and are\ninterpreted relative to the section nesting of the context where\na documentation fragment is embedded.\n\nDocumentation from the IDL is merged with documentation defined\nvia the config at normalization time, where documentation provided\nby config rules overrides IDL provided.\n\nA number of constructs specific to the API platform are supported\nin documentation text.\n\nIn order to reference a proto element, the following\nnotation can be used:\n
[fully.qualified.proto.name][]
\nTo override the display text used for the link, this can be used:\n
[display text][fully.qualified.proto.name]
\nText can be excluded from doc using the following notation:\n
(-- internal comment --)
\n\nA few directives are available in documentation. Note that\ndirectives must appear on a single line to be properly\nidentified. The `include` directive includes a markdown file from\nan external source:\n
(== include path/to/file ==)
\nThe `resource_for` directive marks a message to be the resource of\na collection in REST view. If it is not specified, tools attempt\nto infer the resource from the operations in a collection:\n
(== resource_for v1.shelves.books ==)
\nThe directive `suppress_warning` does not directly affect documentation\nand is documented together with service config validation.", "id": "Documentation", @@ -1123,13 +1379,6 @@ "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed.", "type": "boolean" }, - "features": { - "description": "The list of features enabled on this endpoint.", - "items": { - "type": "string" - }, - "type": "array" - }, "name": { "description": "The canonical name of this endpoint.", "type": "string" @@ -1598,7 +1847,7 @@ "type": "object" }, "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", + "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.\n\nThe following are specific rules for service defined Monitoring metric\ndescriptors:\n\n* `type`, `metric_kind`, `value_type`, `description`, `display_name`,\n `launch_stage` fields are all required. The `unit` field must be specified\n if the `value_type` is any of DOUBLE, INT64, DISTRIBUTION.\n* Maximum of default 500 metric descriptors per service is allowed.\n* Maximum of default 10 labels per metric descriptor is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas", "id": "MetricDescriptor", "properties": { "description": { @@ -1610,7 +1859,7 @@ "type": "string" }, "labels": { - "description": "The set of labels that can be used to describe a specific\ninstance of this metric type. For example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", + "description": "The set of labels that can be used to describe a specific\ninstance of this metric type.\n\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", "items": { "$ref": "LabelDescriptor" }, @@ -1672,11 +1921,11 @@ "type": "string" }, "type": { - "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined metric types have the DNS name\n`custom.googleapis.com` or `external.googleapis.com`. Metric types should\nuse a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded.\n\nAll service defined metrics must be prefixed with the service name, in the\nformat of `{service name}/{relative metric name}`, such as\n`cloudsql.googleapis.com/database/cpu/utilization`. The relative metric\nname must follow:\n\n* Only upper and lower-case letters, digits, '/' and underscores '_' are\n allowed.\n* The maximum number of characters allowed for the relative_metric_name is\n 100.\n\nAll user-defined metric types have the DNS name\n`custom.googleapis.com`, `external.googleapis.com`, or\n`logging.googleapis.com/user/`.\n\nMetric types should use a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", "type": "string" }, "unit": { - "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", + "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n* `1` dimensionless\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", "type": "string" }, "valueType": { @@ -1780,7 +2029,7 @@ "type": "object" }, "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent APIs can support different monitored resource types. APIs generally\nprovide a `list` method that returns the monitored resource descriptors used\nby the API.", + "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent services can support different monitored resource types.\n\nThe following are specific rules to service defined monitored resources for\nMonitoring and Logging:\n\n* The `type`, `display_name`, `description`, `labels` and `launch_stage`\n fields are all required.\n* The first label of the monitored resource descriptor must be\n `resource_container`. There are legacy monitored resource descritptors\n start with `project_id`.\n* It must include a `location` label.\n* Maximum of default 5 service defined monitored resource descriptors\n is allowed per service.\n* Maximum of default 10 labels per monitored resource is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas\n", "id": "MonitoredResourceDescriptor", "properties": { "description": { @@ -1792,7 +2041,7 @@ "type": "string" }, "labels": { - "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", + "description": "Required. A set of labels used to describe instances of this monitored\nresource type.\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, an individual Google Cloud SQL database is\nidentified by values for the labels `database_id` and `location`.", "items": { "$ref": "LabelDescriptor" }, @@ -1827,25 +2076,25 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type\n`\"cloudsql_database\"` represents databases in Google Cloud SQL.\nThe maximum length of this value is 256 characters.", + "description": "Required. The monitored resource type. For example, the type\n`cloudsql_database` represents databases in Google Cloud SQL.\n\nAll service defined monitored resource types must be prefixed with the\nservice name, in the format of `{service name}/{relative resource name}`.\nThe relative resource name must follow:\n\n* Only upper and lower-case letters and digits are allowed.\n* It must start with upper case character and is recommended to use Upper\n Camel Case style.\n* The maximum number of characters allowed for the relative_resource_name\n is 100.\n\nNote there are legacy service monitored resources not following this rule.", "type": "string" } }, "type": "object" }, "Monitoring": { - "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count", + "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/num_overdue` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/Branch\n display_name: \"Library Branch\"\n description: \"A branch of a library.\"\n launch_stage: GA\n labels:\n - key: resource_container\n description: \"The Cloud container (ie. project id) for the Branch.\"\n - key: location\n description: \"The location of the library branch.\"\n - key: branch_id\n description: \"The id of the branch.\"\n metrics:\n - name: library.googleapis.com/book/returned_count\n display_name: \"Books Returned\"\n description: \"The count of books that have been returned.\"\n launch_stage: GA\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n - name: library.googleapis.com/book/num_overdue\n display_name: \"Books Overdue\"\n description: \"The current number of overdue books.\"\n launch_stage: GA\n metric_kind: GAUGE\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/num_overdue", "id": "Monitoring", "properties": { "consumerDestinations": { - "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, "type": "array" }, "producerDestinations": { - "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, @@ -1968,7 +2217,7 @@ "type": "string" }, "role": { - "description": "Required. Role to apply. Only whitelisted roles can be used at the specified\ngranularity. The role must be one of the following:\n - 'roles/container.hostServiceAgentUser' applied on the shared VPC host\n project", + "description": "Required. Role to apply. Only whitelisted roles can be used at the specified\ngranularity. The role must be one of the following:\n - 'roles/container.hostServiceAgentUser' applied on the shared VPC host\n project\n - 'roles/compute.securityAdmin' applied on the shared VPC host project", "type": "string" } }, @@ -2084,6 +2333,64 @@ }, "type": "object" }, + "RemoveDnsRecordSetMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nRemoveDnsRecordSet API", + "id": "RemoveDnsRecordSetMetadata", + "properties": {}, + "type": "object" + }, + "RemoveDnsRecordSetRequest": { + "description": "Request to remove a record set from a private managed DNS zone in the shared\nproducer host project. The name, type, ttl, and data values must all exactly\nmatch an existing record set in the specified zone.", + "id": "RemoveDnsRecordSetRequest", + "properties": { + "consumerNetwork": { + "description": "Required. The network that the consumer is using to connect with services.\nMust be in the form of projects/{project}/global/networks/{network}\n{project} is the project number, as in '12345'\n{network} is the network name.", + "type": "string" + }, + "dnsRecordSet": { + "$ref": "DnsRecordSet", + "description": "Required. The DNS record set to remove." + }, + "zone": { + "description": "Required. The name of the private DNS zone in the shared producer host project from\nwhich the record set will be removed.", + "type": "string" + } + }, + "type": "object" + }, + "RemoveDnsRecordSetResponse": { + "description": "Blank message response type for RemoveDnsRecordSet API", + "id": "RemoveDnsRecordSetResponse", + "properties": {}, + "type": "object" + }, + "RemoveDnsZoneMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nRemoveDnsZone API", + "id": "RemoveDnsZoneMetadata", + "properties": {}, + "type": "object" + }, + "RemoveDnsZoneRequest": { + "description": "Request to remove a private managed DNS zone in the shared producer host\nproject and a matching DNS peering zone in the consumer project.", + "id": "RemoveDnsZoneRequest", + "properties": { + "consumerNetwork": { + "description": "Required. The network that the consumer is using to connect with services.\nMust be in the form of projects/{project}/global/networks/{network}\n{project} is the project number, as in '12345'\n{network} is the network name.", + "type": "string" + }, + "name": { + "description": "Required. The name for both the private zone in the shared producer host project and\nthe peering zone in the consumer project.", + "type": "string" + } + }, + "type": "object" + }, + "RemoveDnsZoneResponse": { + "description": "Blank message response type for RemoveDnsZone API", + "id": "RemoveDnsZoneResponse", + "properties": {}, + "type": "object" + }, "Route": { "description": "Represents a route that was created or discovered by a private access\nmanagement service.", "id": "Route", @@ -2460,6 +2767,35 @@ }, "type": "object" }, + "UpdateDnsRecordSetMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nUpdateDnsRecordSet API", + "id": "UpdateDnsRecordSetMetadata", + "properties": {}, + "type": "object" + }, + "UpdateDnsRecordSetRequest": { + "description": "Request to update a record set from a private managed DNS zone in the shared\nproducer host project. The name, type, ttl, and data values of the existing\nrecord set must all exactly match an existing record set in the specified\nzone.", + "id": "UpdateDnsRecordSetRequest", + "properties": { + "consumerNetwork": { + "description": "Required. The network that the consumer is using to connect with services.\nMust be in the form of projects/{project}/global/networks/{network}\n{project} is the project number, as in '12345'\n{network} is the network name.", + "type": "string" + }, + "existingDnsRecordSet": { + "$ref": "DnsRecordSet", + "description": "Required. The existing DNS record set to update." + }, + "newDnsRecordSet": { + "$ref": "DnsRecordSet", + "description": "Required. The new values that the DNS record set should be updated to hold." + }, + "zone": { + "description": "Required. The name of the private DNS zone in the shared producer host project from\nwhich the record set will be removed.", + "type": "string" + } + }, + "type": "object" + }, "Usage": { "description": "Configuration controlling usage of a service.", "id": "Usage", @@ -2550,7 +2886,8 @@ "CONSUMER_PROJECT_NOT_SERVICE_PROJECT", "RANGES_EXHAUSTED", "RANGES_NOT_RESERVED", - "RANGES_DELETED_LATER" + "RANGES_DELETED_LATER", + "COMPUTE_API_NOT_ENABLED" ], "enumDescriptions": [ "", @@ -2565,7 +2902,8 @@ "The consumer project is not a service project for\nthe specified host project.", "The reserved IP ranges do not have enough space to create\na subnet of desired size.", "The IP ranges were not reserved.", - "The IP ranges were reserved but deleted later." + "The IP ranges were reserved but deleted later.", + "The consumer project does not have the compute api enabled." ], "type": "string" } diff --git a/etc/api/servicenetworking/v1beta/servicenetworking-api.json b/etc/api/servicenetworking/v1beta/servicenetworking-api.json index d5502f5dc1..8934a28b84 100644 --- a/etc/api/servicenetworking/v1beta/servicenetworking-api.json +++ b/etc/api/servicenetworking/v1beta/servicenetworking-api.json @@ -307,9 +307,36 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { + "AddDnsRecordSetMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nAddDnsRecordSet API", + "id": "AddDnsRecordSetMetadata", + "properties": {}, + "type": "object" + }, + "AddDnsZoneMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nAddDnsZone API", + "id": "AddDnsZoneMetadata", + "properties": {}, + "type": "object" + }, + "AddDnsZoneResponse": { + "description": "Represents managed DNS zones created in the shared producer host and consumer\nprojects.", + "id": "AddDnsZoneResponse", + "properties": { + "consumerPeeringZone": { + "$ref": "DnsZone", + "description": "The DNS peering zone created in the consumer project." + }, + "producerPrivateZone": { + "$ref": "DnsZone", + "description": "The private DNS zone created in the shared producer host project." + } + }, + "type": "object" + }, "AddRolesMetadata": { "description": "Metadata provided through GetOperation request for the LRO generated by\nAddRoles API", "id": "AddRolesMetadata", @@ -583,10 +610,6 @@ "description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.", "type": "string" }, - "renameTo": { - "description": "Unimplemented. Do not use.\n\nThe new name the selected proto elements should be renamed to.\n\nThe package, the service and the method can all be renamed.\nThe backend server should implement the renamed proto. However, clients\nshould call the original method, and ESF routes the traffic to the renamed\nmethod.\n\nHTTP clients should call the URL mapped to the original method.\ngRPC and Stubby clients should call the original method with package name.\n\nFor legacy reasons, ESF allows Stubby clients to call with the\nshort name (without the package name). However, for API Versioning(or\nmultiple methods mapped to the same short name), all Stubby clients must\ncall the method's full name with the package name, otherwise the first one\n(selector) wins.\n\nIf this `rename_to` is specified with a trailing `*`, the `selector` must\nbe specified with a trailing `*` as well. The all element short names\nmatched by the `*` in the selector will be kept in the `rename_to`.\n\nFor example,\n rename_rules:\n - selector: |-\n google.example.library.v1.*\n rename_to: google.example.library.*\n\nThe selector matches `google.example.library.v1.Library.CreateShelf` and\n`google.example.library.v1.Library.CreateBook`, they will be renamed to\n`google.example.library.Library.CreateShelf` and\n`google.example.library.Library.CreateBook`. It essentially renames the\nproto package name section of the matched proto service and methods.", - "type": "string" - }, "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" @@ -595,7 +618,7 @@ "type": "object" }, "Billing": { - "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing, `consumer_destinations` is the only supported destination and\nthe monitored resources need at least one label key\n`cloud.googleapis.com/location` to indicate the location of the billing\nusage, using different monitored resources between monitoring and billing is\nrecommended so they can be evolved independently:\n\n\n monitored_resources:\n - type: library.googleapis.com/billing_branch\n labels:\n - key: cloud.googleapis.com/location\n description: |\n Predefined label to support billing location restriction.\n - key: city\n description: |\n Custom label to define the city where the library branch is located\n in.\n - key: name\n description: Custom label to define the name of the library branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/billing_branch\n metrics:\n - library.googleapis.com/book/borrowed_count", "id": "Billing", "properties": { "consumerDestinations": { @@ -767,6 +790,48 @@ }, "type": "object" }, + "DnsRecordSet": { + "description": "Represents a DNS record set resource.", + "id": "DnsRecordSet", + "properties": { + "data": { + "description": "Required. As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) for\nexamples see https://cloud.google.com/dns/records/json-record.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domain": { + "description": "Required. The DNS or domain name of the record set, e.g. `test.example.com`.", + "type": "string" + }, + "ttl": { + "description": "Required. The period of time for which this RecordSet can be cached by resolvers.", + "format": "google-duration", + "type": "string" + }, + "type": { + "description": "Required. The identifier of a supported record type.", + "type": "string" + } + }, + "type": "object" + }, + "DnsZone": { + "description": "Represents a DNS zone resource.", + "id": "DnsZone", + "properties": { + "dnsSuffix": { + "description": "The DNS name suffix of this zone e.g. `example.com.`.", + "type": "string" + }, + "name": { + "description": "User assigned name for this resource. Must be unique within the project.\nThe name must be 1-63 characters long, must begin with a letter, end with\na letter or digit, and only contain lowercase letters, digits or dashes.", + "type": "string" + } + }, + "type": "object" + }, "Documentation": { "description": "`Documentation` provides the information for describing a service.\n\nExample:\n
documentation:\n  summary: >\n    The Google Calendar API gives access\n    to most calendar features.\n  pages:\n  - name: Overview\n    content: (== include google/foo/overview.md ==)\n  - name: Tutorial\n    content: (== include google/foo/tutorial.md ==)\n    subpages;\n    - name: Java\n      content: (== include google/foo/tutorial_java.md ==)\n  rules:\n  - selector: google.calendar.Calendar.Get\n    description: >\n      ...\n  - selector: google.calendar.Calendar.Put\n    description: >\n      ...\n
\nDocumentation is provided in markdown syntax. In addition to\nstandard markdown features, definition lists, tables and fenced\ncode blocks are supported. Section headers can be provided and are\ninterpreted relative to the section nesting of the context where\na documentation fragment is embedded.\n\nDocumentation from the IDL is merged with documentation defined\nvia the config at normalization time, where documentation provided\nby config rules overrides IDL provided.\n\nA number of constructs specific to the API platform are supported\nin documentation text.\n\nIn order to reference a proto element, the following\nnotation can be used:\n
[fully.qualified.proto.name][]
\nTo override the display text used for the link, this can be used:\n
[display text][fully.qualified.proto.name]
\nText can be excluded from doc using the following notation:\n
(-- internal comment --)
\n\nA few directives are available in documentation. Note that\ndirectives must appear on a single line to be properly\nidentified. The `include` directive includes a markdown file from\nan external source:\n
(== include path/to/file ==)
\nThe `resource_for` directive marks a message to be the resource of\na collection in REST view. If it is not specified, tools attempt\nto infer the resource from the operations in a collection:\n
(== resource_for v1.shelves.books ==)
\nThe directive `suppress_warning` does not directly affect documentation\nand is documented together with service config validation.", "id": "Documentation", @@ -838,13 +903,6 @@ "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed.", "type": "boolean" }, - "features": { - "description": "The list of features enabled on this endpoint.", - "items": { - "type": "string" - }, - "type": "array" - }, "name": { "description": "The canonical name of this endpoint.", "type": "string" @@ -1295,7 +1353,7 @@ "type": "object" }, "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", + "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.\n\nThe following are specific rules for service defined Monitoring metric\ndescriptors:\n\n* `type`, `metric_kind`, `value_type`, `description`, `display_name`,\n `launch_stage` fields are all required. The `unit` field must be specified\n if the `value_type` is any of DOUBLE, INT64, DISTRIBUTION.\n* Maximum of default 500 metric descriptors per service is allowed.\n* Maximum of default 10 labels per metric descriptor is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas", "id": "MetricDescriptor", "properties": { "description": { @@ -1307,7 +1365,7 @@ "type": "string" }, "labels": { - "description": "The set of labels that can be used to describe a specific\ninstance of this metric type. For example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", + "description": "The set of labels that can be used to describe a specific\ninstance of this metric type.\n\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", "items": { "$ref": "LabelDescriptor" }, @@ -1369,11 +1427,11 @@ "type": "string" }, "type": { - "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined metric types have the DNS name\n`custom.googleapis.com` or `external.googleapis.com`. Metric types should\nuse a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded.\n\nAll service defined metrics must be prefixed with the service name, in the\nformat of `{service name}/{relative metric name}`, such as\n`cloudsql.googleapis.com/database/cpu/utilization`. The relative metric\nname must follow:\n\n* Only upper and lower-case letters, digits, '/' and underscores '_' are\n allowed.\n* The maximum number of characters allowed for the relative_metric_name is\n 100.\n\nAll user-defined metric types have the DNS name\n`custom.googleapis.com`, `external.googleapis.com`, or\n`logging.googleapis.com/user/`.\n\nMetric types should use a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", "type": "string" }, "unit": { - "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", + "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n* `1` dimensionless\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", "type": "string" }, "valueType": { @@ -1477,7 +1535,7 @@ "type": "object" }, "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent APIs can support different monitored resource types. APIs generally\nprovide a `list` method that returns the monitored resource descriptors used\nby the API.", + "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent services can support different monitored resource types.\n\nThe following are specific rules to service defined monitored resources for\nMonitoring and Logging:\n\n* The `type`, `display_name`, `description`, `labels` and `launch_stage`\n fields are all required.\n* The first label of the monitored resource descriptor must be\n `resource_container`. There are legacy monitored resource descritptors\n start with `project_id`.\n* It must include a `location` label.\n* Maximum of default 5 service defined monitored resource descriptors\n is allowed per service.\n* Maximum of default 10 labels per monitored resource is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas\n", "id": "MonitoredResourceDescriptor", "properties": { "description": { @@ -1489,7 +1547,7 @@ "type": "string" }, "labels": { - "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", + "description": "Required. A set of labels used to describe instances of this monitored\nresource type.\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, an individual Google Cloud SQL database is\nidentified by values for the labels `database_id` and `location`.", "items": { "$ref": "LabelDescriptor" }, @@ -1524,25 +1582,25 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type\n`\"cloudsql_database\"` represents databases in Google Cloud SQL.\nThe maximum length of this value is 256 characters.", + "description": "Required. The monitored resource type. For example, the type\n`cloudsql_database` represents databases in Google Cloud SQL.\n\nAll service defined monitored resource types must be prefixed with the\nservice name, in the format of `{service name}/{relative resource name}`.\nThe relative resource name must follow:\n\n* Only upper and lower-case letters and digits are allowed.\n* It must start with upper case character and is recommended to use Upper\n Camel Case style.\n* The maximum number of characters allowed for the relative_resource_name\n is 100.\n\nNote there are legacy service monitored resources not following this rule.", "type": "string" } }, "type": "object" }, "Monitoring": { - "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count", + "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/num_overdue` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/Branch\n display_name: \"Library Branch\"\n description: \"A branch of a library.\"\n launch_stage: GA\n labels:\n - key: resource_container\n description: \"The Cloud container (ie. project id) for the Branch.\"\n - key: location\n description: \"The location of the library branch.\"\n - key: branch_id\n description: \"The id of the branch.\"\n metrics:\n - name: library.googleapis.com/book/returned_count\n display_name: \"Books Returned\"\n description: \"The count of books that have been returned.\"\n launch_stage: GA\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n - name: library.googleapis.com/book/num_overdue\n display_name: \"Books Overdue\"\n description: \"The current number of overdue books.\"\n launch_stage: GA\n metric_kind: GAUGE\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/num_overdue", "id": "Monitoring", "properties": { "consumerDestinations": { - "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, "type": "array" }, "producerDestinations": { - "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, @@ -1665,7 +1723,7 @@ "type": "string" }, "role": { - "description": "Required. Role to apply. Only whitelisted roles can be used at the specified\ngranularity. The role must be one of the following:\n - 'roles/container.hostServiceAgentUser' applied on the shared VPC host\n project", + "description": "Required. Role to apply. Only whitelisted roles can be used at the specified\ngranularity. The role must be one of the following:\n - 'roles/container.hostServiceAgentUser' applied on the shared VPC host\n project\n - 'roles/compute.securityAdmin' applied on the shared VPC host project", "type": "string" } }, @@ -1761,6 +1819,30 @@ }, "type": "object" }, + "RemoveDnsRecordSetMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nRemoveDnsRecordSet API", + "id": "RemoveDnsRecordSetMetadata", + "properties": {}, + "type": "object" + }, + "RemoveDnsRecordSetResponse": { + "description": "Blank message response type for RemoveDnsRecordSet API", + "id": "RemoveDnsRecordSetResponse", + "properties": {}, + "type": "object" + }, + "RemoveDnsZoneMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nRemoveDnsZone API", + "id": "RemoveDnsZoneMetadata", + "properties": {}, + "type": "object" + }, + "RemoveDnsZoneResponse": { + "description": "Blank message response type for RemoveDnsZone API", + "id": "RemoveDnsZoneResponse", + "properties": {}, + "type": "object" + }, "Route": { "description": "Represents a route that was created or discovered by a private access\nmanagement service.", "id": "Route", @@ -2137,6 +2219,12 @@ }, "type": "object" }, + "UpdateDnsRecordSetMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by\nUpdateDnsRecordSet API", + "id": "UpdateDnsRecordSetMetadata", + "properties": {}, + "type": "object" + }, "Usage": { "description": "Configuration controlling usage of a service.", "id": "Usage", diff --git a/etc/api/serviceusage/v1/serviceusage-api.json b/etc/api/serviceusage/v1/serviceusage-api.json index 3cc483536b..524fdb0046 100644 --- a/etc/api/serviceusage/v1/serviceusage-api.json +++ b/etc/api/serviceusage/v1/serviceusage-api.json @@ -275,7 +275,7 @@ ], "parameters": { "names": { - "description": "Names of the services to retrieve.\n\nAn example name would be:\n`projects/123/services/serviceusage.googleapis.com` where `123` is the\nproject number.\nA single request can get a maximum of 20 services at a time.", + "description": "Names of the services to retrieve.\n\nAn example name would be:\n`projects/123/services/serviceusage.googleapis.com` where `123` is the\nproject number.\nA single request can get a maximum of 30 services at a time.", "location": "query", "repeated": true, "type": "string" @@ -426,9 +426,44 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { + "AdminQuotaPolicy": { + "description": "Quota policy created by quota administrator.", + "id": "AdminQuotaPolicy", + "properties": { + "container": { + "description": "The cloud resource container at which the quota policy is created. The\nformat is {container_type}/{container_number}", + "type": "string" + }, + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "\nIf this map is nonempty, then this policy applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an policy on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe policy is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n\n* If \"region\" appears as a key, its value must be a valid Cloud region.\n* If \"zone\" appears as a key, its value must be a valid Cloud zone.\n* Keys other than \"region\" or \"zone\" are not valid.", + "type": "object" + }, + "metric": { + "description": "The name of the metric to which this policy applies.\n\nAn example name would be:\n`compute.googleapis.com/cpus`", + "type": "string" + }, + "name": { + "description": "The resource name of the policy.\nThis name is generated by the server when the policy is created.\n\nExample names would be:\n`organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d`", + "type": "string" + }, + "policyValue": { + "description": "The quota policy value.\nCan be any nonnegative integer, or -1 (unlimited quota).", + "format": "int64", + "type": "string" + }, + "unit": { + "description": "The limit unit of the limit to which this policy applies.\n\nAn example unit would be:\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.", + "type": "string" + } + }, + "type": "object" + }, "Api": { "description": "Api is a light-weight descriptor for an API Interface.\n\nInterfaces are also described as \"protocol buffer services\" in some contexts,\nsuch as by the \"service\" keyword in a .proto file, but they are different\nfrom API Services, which represent a concrete implementation of an interface\nas opposed to simply a description of methods and bindings. They are also\nsometimes simply referred to as \"APIs\" in other contexts, such as the name of\nthis message itself. See https://cloud.google.com/apis/design/glossary for\ndetailed terminology.", "id": "Api", @@ -639,10 +674,6 @@ "description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.", "type": "string" }, - "renameTo": { - "description": "Unimplemented. Do not use.\n\nThe new name the selected proto elements should be renamed to.\n\nThe package, the service and the method can all be renamed.\nThe backend server should implement the renamed proto. However, clients\nshould call the original method, and ESF routes the traffic to the renamed\nmethod.\n\nHTTP clients should call the URL mapped to the original method.\ngRPC and Stubby clients should call the original method with package name.\n\nFor legacy reasons, ESF allows Stubby clients to call with the\nshort name (without the package name). However, for API Versioning(or\nmultiple methods mapped to the same short name), all Stubby clients must\ncall the method's full name with the package name, otherwise the first one\n(selector) wins.\n\nIf this `rename_to` is specified with a trailing `*`, the `selector` must\nbe specified with a trailing `*` as well. The all element short names\nmatched by the `*` in the selector will be kept in the `rename_to`.\n\nFor example,\n rename_rules:\n - selector: |-\n google.example.library.v1.*\n rename_to: google.example.library.*\n\nThe selector matches `google.example.library.v1.Library.CreateShelf` and\n`google.example.library.v1.Library.CreateBook`, they will be renamed to\n`google.example.library.Library.CreateShelf` and\n`google.example.library.Library.CreateBook`. It essentially renames the\nproto package name section of the matched proto service and methods.", - "type": "string" - }, "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" @@ -728,7 +759,7 @@ "type": "object" }, "Billing": { - "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing, `consumer_destinations` is the only supported destination and\nthe monitored resources need at least one label key\n`cloud.googleapis.com/location` to indicate the location of the billing\nusage, using different monitored resources between monitoring and billing is\nrecommended so they can be evolved independently:\n\n\n monitored_resources:\n - type: library.googleapis.com/billing_branch\n labels:\n - key: cloud.googleapis.com/location\n description: |\n Predefined label to support billing location restriction.\n - key: city\n description: |\n Custom label to define the city where the library branch is located\n in.\n - key: name\n description: Custom label to define the name of the library branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/billing_branch\n metrics:\n - library.googleapis.com/book/borrowed_count", "id": "Billing", "properties": { "consumerDestinations": { @@ -884,6 +915,20 @@ "description": "Request message for the `DisableService` method.", "id": "DisableServiceRequest", "properties": { + "checkIfServiceHasUsage": { + "description": "Defines the behavior for checking service usage when disabling a service.", + "enum": [ + "CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED", + "SKIP", + "CHECK" + ], + "enumDescriptions": [ + "When unset, the default behavior is used, which is SKIP.", + "If set, skip checking service usage when disabling a service.", + "If set, service usage is checked when disabling the service. If a\nservice, or its dependents, has usage in the last 30 days, the request\nreturns a FAILED_PRECONDITION error." + ], + "type": "string" + }, "disableDependentServices": { "description": "Indicates if services that are enabled and which depend on this service\nshould also be disabled. If not set, an error will be generated if any\nenabled services depend on the service to be disabled. When set, the\nservice, and any enabled services that depend on it, will be disabled\ntogether.", "type": "boolean" @@ -1011,13 +1056,6 @@ "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed.", "type": "boolean" }, - "features": { - "description": "The list of features enabled on this endpoint.", - "items": { - "type": "string" - }, - "type": "array" - }, "name": { "description": "The canonical name of this endpoint.", "type": "string" @@ -1597,6 +1635,20 @@ }, "type": "object" }, + "ImportAdminQuotaPoliciesResponse": { + "description": "Response message for ImportAdminQuotaPolicies", + "id": "ImportAdminQuotaPoliciesResponse", + "properties": { + "policies": { + "description": "The policies that were created from the imported data.", + "items": { + "$ref": "AdminQuotaPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, "ImportConsumerOverridesResponse": { "description": "Response message for ImportConsumerOverrides", "id": "ImportConsumerOverridesResponse", @@ -1807,7 +1859,7 @@ "type": "object" }, "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", + "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.\n\nThe following are specific rules for service defined Monitoring metric\ndescriptors:\n\n* `type`, `metric_kind`, `value_type`, `description`, `display_name`,\n `launch_stage` fields are all required. The `unit` field must be specified\n if the `value_type` is any of DOUBLE, INT64, DISTRIBUTION.\n* Maximum of default 500 metric descriptors per service is allowed.\n* Maximum of default 10 labels per metric descriptor is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas", "id": "MetricDescriptor", "properties": { "description": { @@ -1819,7 +1871,7 @@ "type": "string" }, "labels": { - "description": "The set of labels that can be used to describe a specific\ninstance of this metric type. For example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", + "description": "The set of labels that can be used to describe a specific\ninstance of this metric type.\n\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", "items": { "$ref": "LabelDescriptor" }, @@ -1881,11 +1933,11 @@ "type": "string" }, "type": { - "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined metric types have the DNS name\n`custom.googleapis.com` or `external.googleapis.com`. Metric types should\nuse a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded.\n\nAll service defined metrics must be prefixed with the service name, in the\nformat of `{service name}/{relative metric name}`, such as\n`cloudsql.googleapis.com/database/cpu/utilization`. The relative metric\nname must follow:\n\n* Only upper and lower-case letters, digits, '/' and underscores '_' are\n allowed.\n* The maximum number of characters allowed for the relative_metric_name is\n 100.\n\nAll user-defined metric types have the DNS name\n`custom.googleapis.com`, `external.googleapis.com`, or\n`logging.googleapis.com/user/`.\n\nMetric types should use a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", "type": "string" }, "unit": { - "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", + "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n* `1` dimensionless\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", "type": "string" }, "valueType": { @@ -1989,7 +2041,7 @@ "type": "object" }, "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent APIs can support different monitored resource types. APIs generally\nprovide a `list` method that returns the monitored resource descriptors used\nby the API.", + "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent services can support different monitored resource types.\n\nThe following are specific rules to service defined monitored resources for\nMonitoring and Logging:\n\n* The `type`, `display_name`, `description`, `labels` and `launch_stage`\n fields are all required.\n* The first label of the monitored resource descriptor must be\n `resource_container`. There are legacy monitored resource descritptors\n start with `project_id`.\n* It must include a `location` label.\n* Maximum of default 5 service defined monitored resource descriptors\n is allowed per service.\n* Maximum of default 10 labels per monitored resource is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas\n", "id": "MonitoredResourceDescriptor", "properties": { "description": { @@ -2001,7 +2053,7 @@ "type": "string" }, "labels": { - "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", + "description": "Required. A set of labels used to describe instances of this monitored\nresource type.\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, an individual Google Cloud SQL database is\nidentified by values for the labels `database_id` and `location`.", "items": { "$ref": "LabelDescriptor" }, @@ -2036,25 +2088,25 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type\n`\"cloudsql_database\"` represents databases in Google Cloud SQL.\nThe maximum length of this value is 256 characters.", + "description": "Required. The monitored resource type. For example, the type\n`cloudsql_database` represents databases in Google Cloud SQL.\n\nAll service defined monitored resource types must be prefixed with the\nservice name, in the format of `{service name}/{relative resource name}`.\nThe relative resource name must follow:\n\n* Only upper and lower-case letters and digits are allowed.\n* It must start with upper case character and is recommended to use Upper\n Camel Case style.\n* The maximum number of characters allowed for the relative_resource_name\n is 100.\n\nNote there are legacy service monitored resources not following this rule.", "type": "string" } }, "type": "object" }, "Monitoring": { - "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count", + "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/num_overdue` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/Branch\n display_name: \"Library Branch\"\n description: \"A branch of a library.\"\n launch_stage: GA\n labels:\n - key: resource_container\n description: \"The Cloud container (ie. project id) for the Branch.\"\n - key: location\n description: \"The location of the library branch.\"\n - key: branch_id\n description: \"The id of the branch.\"\n metrics:\n - name: library.googleapis.com/book/returned_count\n display_name: \"Books Returned\"\n description: \"The count of books that have been returned.\"\n launch_stage: GA\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n - name: library.googleapis.com/book/num_overdue\n display_name: \"Books Overdue\"\n description: \"The current number of overdue books.\"\n launch_stage: GA\n metric_kind: GAUGE\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/num_overdue", "id": "Monitoring", "properties": { "consumerDestinations": { - "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, "type": "array" }, "producerDestinations": { - "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, @@ -2261,6 +2313,10 @@ "description": "A quota override", "id": "QuotaOverride", "properties": { + "adminOverrideAncestor": { + "description": "The resource name of the ancestor that requested the override. For example:\n\"organizations/12345\" or \"folders/67890\".\nUsed by admin overrides only.", + "type": "string" + }, "dimensions": { "additionalProperties": { "type": "string" diff --git a/etc/api/serviceusage/v1beta1/serviceusage-api.json b/etc/api/serviceusage/v1beta1/serviceusage-api.json index 5a31f3371a..756fcec096 100644 --- a/etc/api/serviceusage/v1beta1/serviceusage-api.json +++ b/etc/api/serviceusage/v1beta1/serviceusage-api.json @@ -268,6 +268,32 @@ "https://www.googleapis.com/auth/service.management" ] }, + "generateServiceIdentity": { + "description": "Generate service identity for service.", + "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}:generateServiceIdentity", + "httpMethod": "POST", + "id": "serviceusage.services.generateServiceIdentity", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Name of the consumer and service to generate an identity for.\n\nThe `GenerateServiceIdentity` methods currently only support projects.\n\nAn example name would be:\n`projects/123/services/example.googleapis.com` where `123` is the\nproject number.", + "location": "path", + "pattern": "^[^/]+/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}:generateServiceIdentity", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + }, "get": { "description": "Returns the service configuration and enabled state for a given service.", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}", @@ -376,6 +402,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "importConsumerOverrides": { + "description": "Create or update multiple consumer overrides atomically, all on the\nsame consumer, but on many different metrics or limits.\nThe name field in the quota override message should not be set.", + "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics:importConsumerOverrides", + "httpMethod": "POST", + "id": "serviceusage.services.consumerQuotaMetrics.importConsumerOverrides", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The resource name of the consumer.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com`", + "location": "path", + "pattern": "^[^/]+/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/consumerQuotaMetrics:importConsumerOverrides", + "request": { + "$ref": "ImportConsumerOverridesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + }, "list": { "description": "Retrieves a summary of all quota information visible to the service\nconsumer, organized by service metric. Each metric includes information\nabout all of its defined limits. Each limit includes the limit\nconfiguration (quota unit, preciseness, default value), the current\neffective limit value, and all of the overrides applied to the limit.", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics", @@ -764,9 +819,44 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { + "AdminQuotaPolicy": { + "description": "Quota policy created by quota administrator.", + "id": "AdminQuotaPolicy", + "properties": { + "container": { + "description": "The cloud resource container at which the quota policy is created. The\nformat is {container_type}/{container_number}", + "type": "string" + }, + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "\nIf this map is nonempty, then this policy applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an policy on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe policy is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n\n* If \"region\" appears as a key, its value must be a valid Cloud region.\n* If \"zone\" appears as a key, its value must be a valid Cloud zone.\n* Keys other than \"region\" or \"zone\" are not valid.", + "type": "object" + }, + "metric": { + "description": "The name of the metric to which this policy applies.\n\nAn example name would be:\n`compute.googleapis.com/cpus`", + "type": "string" + }, + "name": { + "description": "The resource name of the policy.\nThis name is generated by the server when the policy is created.\n\nExample names would be:\n`organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d`", + "type": "string" + }, + "policyValue": { + "description": "The quota policy value.\nCan be any nonnegative integer, or -1 (unlimited quota).", + "format": "int64", + "type": "string" + }, + "unit": { + "description": "The limit unit of the limit to which this policy applies.\n\nAn example unit would be:\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.", + "type": "string" + } + }, + "type": "object" + }, "Api": { "description": "Api is a light-weight descriptor for an API Interface.\n\nInterfaces are also described as \"protocol buffer services\" in some contexts,\nsuch as by the \"service\" keyword in a .proto file, but they are different\nfrom API Services, which represent a concrete implementation of an interface\nas opposed to simply a description of methods and bindings. They are also\nsometimes simply referred to as \"APIs\" in other contexts, such as the name of\nthis message itself. See https://cloud.google.com/apis/design/glossary for\ndetailed terminology.", "id": "Api", @@ -977,10 +1067,6 @@ "description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.", "type": "string" }, - "renameTo": { - "description": "Unimplemented. Do not use.\n\nThe new name the selected proto elements should be renamed to.\n\nThe package, the service and the method can all be renamed.\nThe backend server should implement the renamed proto. However, clients\nshould call the original method, and ESF routes the traffic to the renamed\nmethod.\n\nHTTP clients should call the URL mapped to the original method.\ngRPC and Stubby clients should call the original method with package name.\n\nFor legacy reasons, ESF allows Stubby clients to call with the\nshort name (without the package name). However, for API Versioning(or\nmultiple methods mapped to the same short name), all Stubby clients must\ncall the method's full name with the package name, otherwise the first one\n(selector) wins.\n\nIf this `rename_to` is specified with a trailing `*`, the `selector` must\nbe specified with a trailing `*` as well. The all element short names\nmatched by the `*` in the selector will be kept in the `rename_to`.\n\nFor example,\n rename_rules:\n - selector: |-\n google.example.library.v1.*\n rename_to: google.example.library.*\n\nThe selector matches `google.example.library.v1.Library.CreateShelf` and\n`google.example.library.v1.Library.CreateBook`, they will be renamed to\n`google.example.library.Library.CreateShelf` and\n`google.example.library.Library.CreateBook`. It essentially renames the\nproto package name section of the matched proto service and methods.", - "type": "string" - }, "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" @@ -1052,7 +1138,7 @@ "type": "object" }, "Billing": { - "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing, `consumer_destinations` is the only supported destination and\nthe monitored resources need at least one label key\n`cloud.googleapis.com/location` to indicate the location of the billing\nusage, using different monitored resources between monitoring and billing is\nrecommended so they can be evolved independently:\n\n\n monitored_resources:\n - type: library.googleapis.com/billing_branch\n labels:\n - key: cloud.googleapis.com/location\n description: |\n Predefined label to support billing location restriction.\n - key: city\n description: |\n Custom label to define the city where the library branch is located\n in.\n - key: name\n description: Custom label to define the name of the library branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/billing_branch\n metrics:\n - library.googleapis.com/book/borrowed_count", "id": "Billing", "properties": { "consumerDestinations": { @@ -1139,6 +1225,10 @@ "name": { "description": "The resource name of the quota settings on this metric for this consumer.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus\n\nThe resource name is intended to be opaque and should not be parsed for\nits component strings, since its representation could change in the future.", "type": "string" + }, + "unit": { + "description": "The units in which the metric value is reported.", + "type": "string" } }, "type": "object" @@ -1384,13 +1474,6 @@ "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed.", "type": "boolean" }, - "features": { - "description": "The list of features enabled on this endpoint.", - "items": { - "type": "string" - }, - "type": "array" - }, "name": { "description": "The canonical name of this endpoint.", "type": "string" @@ -1970,6 +2053,35 @@ }, "type": "object" }, + "ImportAdminQuotaPoliciesResponse": { + "description": "Response message for ImportAdminQuotaPolicies", + "id": "ImportAdminQuotaPoliciesResponse", + "properties": { + "policies": { + "description": "The policies that were created from the imported data.", + "items": { + "$ref": "AdminQuotaPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImportConsumerOverridesRequest": { + "description": "Request message for ImportConsumerOverrides", + "id": "ImportConsumerOverridesRequest", + "properties": { + "force": { + "description": "Whether to force the creation of the quota overrides.\nIf creating an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.", + "type": "boolean" + }, + "inlineSource": { + "$ref": "OverrideInlineSource", + "description": "The import data is specified in the request message itself" + } + }, + "type": "object" + }, "ImportConsumerOverridesResponse": { "description": "Response message for ImportConsumerOverrides", "id": "ImportConsumerOverridesResponse", @@ -2234,7 +2346,7 @@ "type": "object" }, "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", + "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.\n\nThe following are specific rules for service defined Monitoring metric\ndescriptors:\n\n* `type`, `metric_kind`, `value_type`, `description`, `display_name`,\n `launch_stage` fields are all required. The `unit` field must be specified\n if the `value_type` is any of DOUBLE, INT64, DISTRIBUTION.\n* Maximum of default 500 metric descriptors per service is allowed.\n* Maximum of default 10 labels per metric descriptor is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas", "id": "MetricDescriptor", "properties": { "description": { @@ -2246,7 +2358,7 @@ "type": "string" }, "labels": { - "description": "The set of labels that can be used to describe a specific\ninstance of this metric type. For example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", + "description": "The set of labels that can be used to describe a specific\ninstance of this metric type.\n\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", "items": { "$ref": "LabelDescriptor" }, @@ -2308,11 +2420,11 @@ "type": "string" }, "type": { - "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined metric types have the DNS name\n`custom.googleapis.com` or `external.googleapis.com`. Metric types should\nuse a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded.\n\nAll service defined metrics must be prefixed with the service name, in the\nformat of `{service name}/{relative metric name}`, such as\n`cloudsql.googleapis.com/database/cpu/utilization`. The relative metric\nname must follow:\n\n* Only upper and lower-case letters, digits, '/' and underscores '_' are\n allowed.\n* The maximum number of characters allowed for the relative_metric_name is\n 100.\n\nAll user-defined metric types have the DNS name\n`custom.googleapis.com`, `external.googleapis.com`, or\n`logging.googleapis.com/user/`.\n\nMetric types should use a natural hierarchical grouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"external.googleapis.com/prometheus/up\"\n \"appengine.googleapis.com/http/server/response_latencies\"", "type": "string" }, "unit": { - "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", + "description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n* `1` dimensionless\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").", "type": "string" }, "valueType": { @@ -2416,7 +2528,7 @@ "type": "object" }, "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent APIs can support different monitored resource types. APIs generally\nprovide a `list` method that returns the monitored resource descriptors used\nby the API.", + "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent services can support different monitored resource types.\n\nThe following are specific rules to service defined monitored resources for\nMonitoring and Logging:\n\n* The `type`, `display_name`, `description`, `labels` and `launch_stage`\n fields are all required.\n* The first label of the monitored resource descriptor must be\n `resource_container`. There are legacy monitored resource descritptors\n start with `project_id`.\n* It must include a `location` label.\n* Maximum of default 5 service defined monitored resource descriptors\n is allowed per service.\n* Maximum of default 10 labels per monitored resource is allowed.\n\nThe default maximum limit can be overridden. Please follow\nhttps://cloud.google.com/monitoring/quotas\n", "id": "MonitoredResourceDescriptor", "properties": { "description": { @@ -2428,7 +2540,7 @@ "type": "string" }, "labels": { - "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", + "description": "Required. A set of labels used to describe instances of this monitored\nresource type.\nThe label key name must follow:\n\n* Only upper and lower-case letters, digits and underscores (_) are\n allowed.\n* Label name must start with a letter or digit.\n* The maximum length of a label name is 100 characters.\n\nFor example, an individual Google Cloud SQL database is\nidentified by values for the labels `database_id` and `location`.", "items": { "$ref": "LabelDescriptor" }, @@ -2463,25 +2575,25 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type\n`\"cloudsql_database\"` represents databases in Google Cloud SQL.\nThe maximum length of this value is 256 characters.", + "description": "Required. The monitored resource type. For example, the type\n`cloudsql_database` represents databases in Google Cloud SQL.\n\nAll service defined monitored resource types must be prefixed with the\nservice name, in the format of `{service name}/{relative resource name}`.\nThe relative resource name must follow:\n\n* Only upper and lower-case letters and digits are allowed.\n* It must start with upper case character and is recommended to use Upper\n Camel Case style.\n* The maximum number of characters allowed for the relative_resource_name\n is 100.\n\nNote there are legacy service monitored resources not following this rule.", "type": "string" } }, "type": "object" }, "Monitoring": { - "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count", + "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/num_overdue` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/Branch\n display_name: \"Library Branch\"\n description: \"A branch of a library.\"\n launch_stage: GA\n labels:\n - key: resource_container\n description: \"The Cloud container (ie. project id) for the Branch.\"\n - key: location\n description: \"The location of the library branch.\"\n - key: branch_id\n description: \"The id of the branch.\"\n metrics:\n - name: library.googleapis.com/book/returned_count\n display_name: \"Books Returned\"\n description: \"The count of books that have been returned.\"\n launch_stage: GA\n metric_kind: DELTA\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n - name: library.googleapis.com/book/num_overdue\n display_name: \"Books Overdue\"\n description: \"The current number of overdue books.\"\n launch_stage: GA\n metric_kind: GAUGE\n value_type: INT64\n unit: \"1\"\n labels:\n - key: customer_id\n description: \"The id of the customer.\"\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/Branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/num_overdue", "id": "Monitoring", "properties": { "consumerDestinations": { - "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, "type": "array" }, "producerDestinations": { - "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resouce type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", + "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations. A monitored resource type may\nappear in multiple monitoring destinations if different aggregations are\nneeded for different sets of metrics associated with that monitored\nresource type. A monitored resource and metric pair may only be used once\nin the Monitoring configuration.", "items": { "$ref": "MonitoringDestination" }, @@ -2587,6 +2699,20 @@ }, "type": "object" }, + "OverrideInlineSource": { + "description": "Import data embedded in the request message", + "id": "OverrideInlineSource", + "properties": { + "overrides": { + "description": "The overrides to create.\nEach override must have a value for 'metric' and 'unit', to specify\nwhich metric and which limit the override should be applied to.", + "items": { + "$ref": "QuotaOverride" + }, + "type": "array" + } + }, + "type": "object" + }, "Page": { "description": "Represents a documentation page. A page can contain subpages to represent\nnested documentation set structure.", "id": "Page", @@ -2724,6 +2850,10 @@ "description": "A quota override", "id": "QuotaOverride", "properties": { + "adminOverrideAncestor": { + "description": "The resource name of the ancestor that requested the override. For example:\n\"organizations/12345\" or \"folders/67890\".\nUsed by admin overrides only.", + "type": "string" + }, "dimensions": { "additionalProperties": { "type": "string" diff --git a/etc/api/sheets/v4/sheets-api.json b/etc/api/sheets/v4/sheets-api.json index afdade5401..93cb90bb77 100644 --- a/etc/api/sheets/v4/sheets-api.json +++ b/etc/api/sheets/v4/sheets-api.json @@ -810,7 +810,7 @@ } } }, - "revision": "20200402", + "revision": "20200630", "rootUrl": "https://sheets.googleapis.com/", "schemas": { "AddBandingRequest": { @@ -2564,7 +2564,7 @@ "type": "object" }, "Color": { - "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", + "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nNote: when color equality needs to be decided, implementations, unless\ndocumented otherwise, will treat two colors to be equal if all their red,\ngreen, blue and alpha values each differ by at most 1e-5.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", "id": "Color", "properties": { "alpha": { @@ -3526,7 +3526,7 @@ "Corresponds to the `#VALUE!` error.", "Corresponds to the `#REF!` error.", "Corresponds to the `#NAME?` error.", - "Corresponds to the `#NUM`! error.", + "Corresponds to the `#NUM!` error.", "Corresponds to the `#N/A` error.", "Corresponds to the `Loading...` state." ], @@ -4533,7 +4533,7 @@ "type": "string" }, "sourceColumnOffset": { - "description": "The column offset of the source range that this grouping is based on.\n\nFor example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`\nmeans this group refers to column `C`, whereas the offset `1` would refer\nto column `D`.", + "description": "The column offset of the source range that this grouping is based on.\n\nFor example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`\nmeans this group refers to column `C`, whereas the offset `1` would\nrefer to column `D`.", "format": "int32", "type": "integer" }, diff --git a/etc/api/siteverification/v1/siteverification-api.json b/etc/api/siteverification/v1/siteverification-api.json index 78d89abbb8..96289b8bd7 100644 --- a/etc/api/siteverification/v1/siteverification-api.json +++ b/etc/api/siteverification/v1/siteverification-api.json @@ -17,7 +17,7 @@ "description": "Verifies ownership of websites or domains with Google.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/site-verification/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/ffKkQHIfwnRAzOSRWAT_SYBS6HY\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/ffKkQHIfwnRAzOSRWAT_SYBS6HY\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" diff --git a/etc/api/slides/v1/slides-api.json b/etc/api/slides/v1/slides-api.json index 438489c0ab..ff07a9a8c6 100644 --- a/etc/api/slides/v1/slides-api.json +++ b/etc/api/slides/v1/slides-api.json @@ -268,7 +268,7 @@ "type": "string" }, "thumbnailProperties.mimeType": { - "description": "The optional mime type of the thumbnail image.\n\nIf you don't specify the mime type, the default mime type will be PNG.", + "description": "The optional mime type of the thumbnail image.\n\nIf you don't specify the mime type, the mime type defaults to PNG.", "enum": [ "PNG" ], @@ -304,7 +304,7 @@ } } }, - "revision": "20200409", + "revision": "20200706", "rootUrl": "https://slides.googleapis.com/", "schemas": { "AffineTransform": { @@ -2052,7 +2052,7 @@ "id": "PageElement", "properties": { "description": { - "description": "The description of the page element. Combined with title to display alt\ntext.", + "description": "The description of the page element. Combined with title to display alt\ntext.\n\nThe field is not supported for Group\nelements.", "type": "string" }, "elementGroup": { @@ -2088,7 +2088,7 @@ "description": "A table page element." }, "title": { - "description": "The title of the page element. Combined with description to display alt\ntext.", + "description": "The title of the page element. Combined with description to display alt\ntext.\n\nThe field is not supported for Group\nelements.", "type": "string" }, "transform": { @@ -2307,7 +2307,7 @@ "type": "string" }, "masters": { - "description": "The slide masters in the presentation. A slide master contains all common\npage elements and the common properties for a set of layouts. They serve\nthree purposes:\n\n- Placeholder shapes on a master contain the default text styles and shape\n properties of all placeholder shapes on pages that use that master.\n- The master page properties define the common page properties inherited by\n its layouts.\n- Any other shapes on the master slide will appear on all slides using that\n master, regardless of their layout.", + "description": "The slide masters in the presentation. A slide master contains all common\npage elements and the common properties for a set of layouts. They serve\nthree purposes:\n\n- Placeholder shapes on a master contain the default text styles and shape\n properties of all placeholder shapes on pages that use that master.\n- The master page properties define the common page properties inherited by\n its layouts.\n- Any other shapes on the master slide appear on all slides using that\n master, regardless of their layout.", "items": { "$ref": "Page" }, @@ -2315,7 +2315,7 @@ }, "notesMaster": { "$ref": "Page", - "description": "The notes master in the presentation. It serves three purposes:\n\n- Placeholder shapes on a notes master contain the default text styles and\n shape properties of all placeholder shapes on notes pages. Specifically,\n a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a\n `BODY` placeholder shape contains the speaker notes.\n- The notes master page properties define the common page properties\n inherited by all notes pages.\n- Any other shapes on the notes master will appear on all notes pages.\n\nThe notes master is read-only." + "description": "The notes master in the presentation. It serves three purposes:\n\n- Placeholder shapes on a notes master contain the default text styles and\n shape properties of all placeholder shapes on notes pages. Specifically,\n a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a\n `BODY` placeholder shape contains the speaker notes.\n- The notes master page properties define the common page properties\n inherited by all notes pages.\n- Any other shapes on the notes master appears on all notes pages.\n\nThe notes master is read-only." }, "pageSize": { "$ref": "Size", diff --git a/etc/api/sourcerepo/v1/sourcerepo-api.json b/etc/api/sourcerepo/v1/sourcerepo-api.json index 66404fc39d..58e3155e3e 100644 --- a/etc/api/sourcerepo/v1/sourcerepo-api.json +++ b/etc/api/sourcerepo/v1/sourcerepo-api.json @@ -31,6 +31,7 @@ }, "id": "sourcerepo:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://sourcerepo.mtls.googleapis.com/", "name": "sourcerepo", "ownerDomain": "google.com", "ownerName": "Google", @@ -213,7 +214,7 @@ "name": { "description": "The name of the repo to delete. Values are of the form\n`projects//repos/`.", "location": "path", - "pattern": "^projects/[^/]+/repos/.+$", + "pattern": "^projects/[^/]+/repos/.*$", "required": true, "type": "string" } @@ -239,7 +240,7 @@ "name": { "description": "The name of the requested repository. Values are of the form\n`projects//repos/`.", "location": "path", - "pattern": "^projects/[^/]+/repos/.+$", + "pattern": "^projects/[^/]+/repos/.*$", "required": true, "type": "string" } @@ -265,7 +266,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -273,7 +274,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", "location": "path", - "pattern": "^projects/[^/]+/repos/.+$", + "pattern": "^projects/[^/]+/repos/.*$", "required": true, "type": "string" } @@ -340,7 +341,7 @@ "name": { "description": "The name of the requested repository. Values are of the form\n`projects//repos/`.", "location": "path", - "pattern": "^projects/[^/]+/repos/.+$", + "pattern": "^projects/[^/]+/repos/.*$", "required": true, "type": "string" } @@ -368,7 +369,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", "location": "path", - "pattern": "^projects/[^/]+/repos/.+$", + "pattern": "^projects/[^/]+/repos/.*$", "required": true, "type": "string" } @@ -397,7 +398,7 @@ "name": { "description": "The name of the repo to synchronize. Values are of the form\n`projects//repos/`.", "location": "path", - "pattern": "^projects/[^/]+/repos/.+$", + "pattern": "^projects/[^/]+/repos/.*$", "required": true, "type": "string" } @@ -425,7 +426,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", "location": "path", - "pattern": "^projects/[^/]+/repos/.+$", + "pattern": "^projects/[^/]+/repos/.*$", "required": true, "type": "string" } @@ -449,7 +450,7 @@ } } }, - "revision": "20200121", + "revision": "20200520", "rootUrl": "https://sourcerepo.googleapis.com/", "schemas": { "AuditConfig": { @@ -506,7 +507,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -624,7 +625,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -647,7 +648,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -745,7 +746,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/spanner/v1/spanner-api.json b/etc/api/spanner/v1/spanner-api.json index d8489129f0..536d84110f 100644 --- a/etc/api/spanner/v1/spanner-api.json +++ b/etc/api/spanner/v1/spanner-api.json @@ -441,7 +441,7 @@ ], "parameters": { "filter": { - "description": "An expression that filters the list of returned backup operations.\n\nA filter expression consists of a field name, a\ncomparison operator, and a value for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the operation\nare eligible for filtering:\n\n * `name` - The name of the long-running operation\n * `done` - False if the operation is in progress, else true.\n * `metadata.@type` - the type of metadata. For example, the type string\n for CreateBackupMetadata is\n `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.\n * `metadata.` - any field in metadata.value.\n * `error` - Error associated with the long-running operation.\n * `response.@type` - the type of response.\n * `response.` - any field in response.value.\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic, but\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n * `done:true` - The operation is complete.\n * `metadata.database:prod` - The database the backup was taken from has\n a name containing the string \"prod\".\n * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND`
\n `(metadata.name:howl) AND`
\n `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND`
\n `(error:*)` - Returns operations where:\n * The operation's metadata type is CreateBackupMetadata.\n * The backup name contains the string \"howl\".\n * The operation started before 2018-03-28T14:50:00Z.\n * The operation resulted in an error.", + "description": "An expression that filters the list of returned backup operations.\n\nA filter expression consists of a field name, a\ncomparison operator, and a value for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the operation\nare eligible for filtering:\n\n * `name` - The name of the long-running operation\n * `done` - False if the operation is in progress, else true.\n * `metadata.@type` - the type of metadata. For example, the type string\n for CreateBackupMetadata is\n `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.\n * `metadata.` - any field in metadata.value.\n * `error` - Error associated with the long-running operation.\n * `response.@type` - the type of response.\n * `response.` - any field in response.value.\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic, but\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n * `done:true` - The operation is complete.\n * `metadata.database:prod` - The database the backup was taken from has\n a name containing the string \"prod\".\n * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \\\n `(metadata.name:howl) AND` \\\n `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND` \\\n `(error:*)` - Returns operations where:\n * The operation's metadata type is CreateBackupMetadata.\n * The backup name contains the string \"howl\".\n * The operation started before 2018-03-28T14:50:00Z.\n * The operation resulted in an error.", "location": "query", "type": "string" }, @@ -867,7 +867,7 @@ ], "parameters": { "filter": { - "description": "An expression that filters the list of returned operations.\n\nA filter expression consists of a field name, a\ncomparison operator, and a value for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the Operation\nare eligible for filtering:\n\n * `name` - The name of the long-running operation\n * `done` - False if the operation is in progress, else true.\n * `metadata.@type` - the type of metadata. For example, the type string\n for RestoreDatabaseMetadata is\n `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.\n * `metadata.` - any field in metadata.value.\n * `error` - Error associated with the long-running operation.\n * `response.@type` - the type of response.\n * `response.` - any field in response.value.\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic. However,\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n * `done:true` - The operation is complete.\n * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND`
\n `(metadata.source_type:BACKUP) AND`
\n `(metadata.backup_info.backup:backup_howl) AND`
\n `(metadata.name:restored_howl) AND`
\n `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND`
\n `(error:*)` - Return operations where:\n * The operation's metadata type is RestoreDatabaseMetadata.\n * The database is restored from a backup.\n * The backup name contains \"backup_howl\".\n * The restored database's name contains \"restored_howl\".\n * The operation started before 2018-03-28T14:50:00Z.\n * The operation resulted in an error.", + "description": "An expression that filters the list of returned operations.\n\nA filter expression consists of a field name, a\ncomparison operator, and a value for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the Operation\nare eligible for filtering:\n\n * `name` - The name of the long-running operation\n * `done` - False if the operation is in progress, else true.\n * `metadata.@type` - the type of metadata. For example, the type string\n for RestoreDatabaseMetadata is\n `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.\n * `metadata.` - any field in metadata.value.\n * `error` - Error associated with the long-running operation.\n * `response.@type` - the type of response.\n * `response.` - any field in response.value.\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic. However,\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n * `done:true` - The operation is complete.\n * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\\n `(metadata.source_type:BACKUP) AND` \\\n `(metadata.backup_info.backup:backup_howl) AND` \\\n `(metadata.name:restored_howl) AND` \\\n `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND` \\\n `(error:*)` - Return operations where:\n * The operation's metadata type is RestoreDatabaseMetadata.\n * The database is restored from a backup.\n * The backup name contains \"backup_howl\".\n * The restored database's name contains \"restored_howl\".\n * The operation started before 2018-03-28T14:50:00Z.\n * The operation resulted in an error.", "location": "query", "type": "string" }, @@ -994,7 +994,7 @@ ], "parameters": { "database": { - "description": "Required. The database whose schema we wish to get.", + "description": "Required. The database whose schema we wish to get.\nValues are of the form\n`projects//instances//databases/`", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", "required": true, @@ -1379,7 +1379,7 @@ ] }, "commit": { - "description": "Commits a transaction. The request includes the mutations to be\napplied to rows in the database.\n\n`Commit` might return an `ABORTED` error. This can occur at any time;\ncommonly, the cause is conflicts with concurrent\ntransactions. However, it can also happen for a variety of other\nreasons. If `Commit` returns `ABORTED`, the caller should re-attempt\nthe transaction from the beginning, re-using the same session.", + "description": "Commits a transaction. The request includes the mutations to be\napplied to rows in the database.\n\n`Commit` might return an `ABORTED` error. This can occur at any time;\ncommonly, the cause is conflicts with concurrent\ntransactions. However, it can also happen for a variety of other\nreasons. If `Commit` returns `ABORTED`, the caller should re-attempt\nthe transaction from the beginning, re-using the same session.\n\nOn very rare occasions, `Commit` might return `UNKNOWN`. This can happen,\nfor example, if the client job experiences a 1+ hour networking failure.\nAt that point, Cloud Spanner has lost track of the transaction outcome and\nwe recommend that you perform another read from the database to see the\nstate of things as they are now.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:commit", "httpMethod": "POST", "id": "spanner.projects.instances.databases.sessions.commit", @@ -1895,7 +1895,7 @@ } } }, - "revision": "20200403", + "revision": "20200623", "rootUrl": "https://spanner.googleapis.com/", "schemas": { "Backup": { @@ -2016,7 +2016,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -2187,7 +2187,7 @@ "properties": { "session": { "$ref": "Session", - "description": "The session to create." + "description": "Required. The session to create." } }, "type": "object" @@ -2411,7 +2411,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -2421,7 +2421,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -3018,7 +3018,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "bindings": { @@ -3034,7 +3034,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -3046,7 +3046,7 @@ "id": "QueryOptions", "properties": { "optimizerVersion": { - "description": "An option to control the selection of optimizer version.\n\nThis parameter allows individual queries to pick different query\noptimizer versions.\n\nSpecifying \"latest\" as a value instructs Cloud Spanner to use the\nlatest supported query optimizer version. If not specified, Cloud Spanner\nuses optimizer version set at the database level options. Any other\npositive integer (from the list of supported optimizer versions)\noverrides the default optimizer version for query execution.\nThe list of supported optimizer versions can be queried from\nSPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS. Executing a SQL statement\nwith an invalid optimizer version will fail with a syntax error\n(`INVALID_ARGUMENT`) status.\n\nThe `optimizer_version` statement hint has precedence over this setting.", + "description": "An option to control the selection of optimizer version.\n\nThis parameter allows individual queries to pick different query\noptimizer versions.\n\nSpecifying \"latest\" as a value instructs Cloud Spanner to use the\nlatest supported query optimizer version. If not specified, Cloud Spanner\nuses optimizer version set at the database level options. Any other\npositive integer (from the list of supported optimizer versions)\noverrides the default optimizer version for query execution.\nThe list of supported optimizer versions can be queried from\nSPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS. Executing a SQL statement\nwith an invalid optimizer version will fail with a syntax error\n(`INVALID_ARGUMENT`) status.\nSee\nhttps://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer\nfor more information on managing the query optimizer.\n\nThe `optimizer_version` statement hint has precedence over this setting.", "type": "string" } }, @@ -3363,7 +3363,7 @@ "type": "object" }, "name": { - "description": "The name of the session. This is always system-assigned; values provided\nwhen creating a session are ignored.", + "description": "Output only. The name of the session. This is always system-assigned.", "type": "string" } }, @@ -3512,7 +3512,7 @@ "type": "object" }, "TransactionOptions": { - "description": "# Transactions\n\n\nEach session can have at most one active transaction at a time. After the\nactive transaction is completed, the session can immediately be\nre-used for the next transaction. It is not necessary to create a\nnew session for each transaction.\n\n# Transaction Modes\n\nCloud Spanner supports three transaction modes:\n\n 1. Locking read-write. This type of transaction is the only way\n to write data into Cloud Spanner. These transactions rely on\n pessimistic locking and, if necessary, two-phase commit.\n Locking read-write transactions may abort, requiring the\n application to retry.\n\n 2. Snapshot read-only. This transaction type provides guaranteed\n consistency across several reads, but does not allow\n writes. Snapshot read-only transactions can be configured to\n read at timestamps in the past. Snapshot read-only\n transactions do not need to be committed.\n\n 3. Partitioned DML. This type of transaction is used to execute\n a single Partitioned DML statement. Partitioned DML partitions\n the key space and runs the DML statement over each partition\n in parallel using separate, internal transactions that commit\n independently. Partitioned DML transactions do not need to be\n committed.\n\nFor transactions that only read, snapshot read-only transactions\nprovide simpler semantics and are almost always faster. In\nparticular, read-only transactions do not take locks, so they do\nnot conflict with read-write transactions. As a consequence of not\ntaking locks, they also do not abort, so retry loops are not needed.\n\nTransactions may only read/write data in a single database. They\nmay, however, read/write data in different tables within that\ndatabase.\n\n## Locking Read-Write Transactions\n\nLocking transactions may be used to atomically read-modify-write\ndata anywhere in a database. This type of transaction is externally\nconsistent.\n\nClients should attempt to minimize the amount of time a transaction\nis active. Faster transactions commit with higher probability\nand cause less contention. Cloud Spanner attempts to keep read locks\nactive as long as the transaction continues to do reads, and the\ntransaction has not been terminated by\nCommit or\nRollback. Long periods of\ninactivity at the client may cause Cloud Spanner to release a\ntransaction's locks and abort it.\n\nConceptually, a read-write transaction consists of zero or more\nreads or SQL statements followed by\nCommit. At any time before\nCommit, the client can send a\nRollback request to abort the\ntransaction.\n\n### Semantics\n\nCloud Spanner can commit the transaction if all read locks it acquired\nare still valid at commit time, and it is able to acquire write\nlocks for all writes. Cloud Spanner can abort the transaction for any\nreason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees\nthat the transaction has not modified any user data in Cloud Spanner.\n\nUnless the transaction commits, Cloud Spanner makes no guarantees about\nhow long the transaction's locks were held for. It is an error to\nuse Cloud Spanner locks for any sort of mutual exclusion other than\nbetween Cloud Spanner transactions themselves.\n\n### Retrying Aborted Transactions\n\nWhen a transaction aborts, the application can choose to retry the\nwhole transaction again. To maximize the chances of successfully\ncommitting the retry, the client should execute the retry in the\nsame session as the original attempt. The original session's lock\npriority increases with each consecutive abort, meaning that each\nattempt has a slightly better chance of success than the previous.\n\nUnder some circumstances (e.g., many transactions attempting to\nmodify the same row(s)), a transaction can abort many times in a\nshort period before successfully committing. Thus, it is not a good\nidea to cap the number of retries a transaction can attempt;\ninstead, it is better to limit the total amount of wall time spent\nretrying.\n\n### Idle Transactions\n\nA transaction is considered idle if it has no outstanding reads or\nSQL queries and has not started a read or SQL query within the last 10\nseconds. Idle transactions can be aborted by Cloud Spanner so that they\ndon't hold on to locks indefinitely. In that case, the commit will\nfail with error `ABORTED`.\n\nIf this behavior is undesirable, periodically executing a simple\nSQL query in the transaction (e.g., `SELECT 1`) prevents the\ntransaction from becoming idle.\n\n## Snapshot Read-Only Transactions\n\nSnapshot read-only transactions provides a simpler method than\nlocking read-write transactions for doing several consistent\nreads. However, this type of transaction does not support writes.\n\nSnapshot transactions do not take locks. Instead, they work by\nchoosing a Cloud Spanner timestamp, then executing all reads at that\ntimestamp. Since they do not acquire locks, they do not block\nconcurrent read-write transactions.\n\nUnlike locking read-write transactions, snapshot read-only\ntransactions never abort. They can fail if the chosen read\ntimestamp is garbage collected; however, the default garbage\ncollection policy is generous enough that most applications do not\nneed to worry about this in practice.\n\nSnapshot read-only transactions do not need to call\nCommit or\nRollback (and in fact are not\npermitted to do so).\n\nTo execute a snapshot transaction, the client specifies a timestamp\nbound, which tells Cloud Spanner how to choose a read timestamp.\n\nThe types of timestamp bound are:\n\n - Strong (the default).\n - Bounded staleness.\n - Exact staleness.\n\nIf the Cloud Spanner database to be read is geographically distributed,\nstale read-only transactions can execute more quickly than strong\nor read-write transaction, because they are able to execute far\nfrom the leader replica.\n\nEach type of timestamp bound is discussed in detail below.\n\n### Strong\n\nStrong reads are guaranteed to see the effects of all transactions\nthat have committed before the start of the read. Furthermore, all\nrows yielded by a single read are consistent with each other -- if\nany part of the read observes a transaction, all parts of the read\nsee the transaction.\n\nStrong reads are not repeatable: two consecutive strong read-only\ntransactions might return inconsistent results if there are\nconcurrent writes. If consistency across reads is required, the\nreads should be executed within a transaction or at an exact read\ntimestamp.\n\nSee TransactionOptions.ReadOnly.strong.\n\n### Exact Staleness\n\nThese timestamp bounds execute reads at a user-specified\ntimestamp. Reads at a timestamp are guaranteed to see a consistent\nprefix of the global transaction history: they observe\nmodifications done by all transactions with a commit timestamp <=\nthe read timestamp, and observe none of the modifications done by\ntransactions with a larger commit timestamp. They will block until\nall conflicting transactions that may be assigned commit timestamps\n<= the read timestamp have finished.\n\nThe timestamp can either be expressed as an absolute Cloud Spanner commit\ntimestamp or a staleness relative to the current time.\n\nThese modes do not require a \"negotiation phase\" to pick a\ntimestamp. As a result, they execute slightly faster than the\nequivalent boundedly stale concurrency modes. On the other hand,\nboundedly stale reads usually return fresher results.\n\nSee TransactionOptions.ReadOnly.read_timestamp and\nTransactionOptions.ReadOnly.exact_staleness.\n\n### Bounded Staleness\n\nBounded staleness modes allow Cloud Spanner to pick the read timestamp,\nsubject to a user-provided staleness bound. Cloud Spanner chooses the\nnewest timestamp within the staleness bound that allows execution\nof the reads at the closest available replica without blocking.\n\nAll rows yielded are consistent with each other -- if any part of\nthe read observes a transaction, all parts of the read see the\ntransaction. Boundedly stale reads are not repeatable: two stale\nreads, even if they use the same staleness bound, can execute at\ndifferent timestamps and thus return inconsistent results.\n\nBoundedly stale reads execute in two phases: the first phase\nnegotiates a timestamp among all replicas needed to serve the\nread. In the second phase, reads are executed at the negotiated\ntimestamp.\n\nAs a result of the two phase execution, bounded staleness reads are\nusually a little slower than comparable exact staleness\nreads. However, they are typically able to return fresher\nresults, and are more likely to execute at the closest replica.\n\nBecause the timestamp negotiation requires up-front knowledge of\nwhich rows will be read, it can only be used with single-use\nread-only transactions.\n\nSee TransactionOptions.ReadOnly.max_staleness and\nTransactionOptions.ReadOnly.min_read_timestamp.\n\n### Old Read Timestamps and Garbage Collection\n\nCloud Spanner continuously garbage collects deleted and overwritten data\nin the background to reclaim storage space. This process is known\nas \"version GC\". By default, version GC reclaims versions after they\nare one hour old. Because of this, Cloud Spanner cannot perform reads\nat read timestamps more than one hour in the past. This\nrestriction also applies to in-progress reads and/or SQL queries whose\ntimestamp become too old while executing. Reads and SQL queries with\ntoo-old read timestamps fail with the error `FAILED_PRECONDITION`.\n\n## Partitioned DML Transactions\n\nPartitioned DML transactions are used to execute DML statements with a\ndifferent execution strategy that provides different, and often better,\nscalability properties for large, table-wide operations than DML in a\nReadWrite transaction. Smaller scoped statements, such as an OLTP workload,\nshould prefer using ReadWrite transactions.\n\nPartitioned DML partitions the keyspace and runs the DML statement on each\npartition in separate, internal transactions. These transactions commit\nautomatically when complete, and run independently from one another.\n\nTo reduce lock contention, this execution strategy only acquires read locks\non rows that match the WHERE clause of the statement. Additionally, the\nsmaller per-partition transactions hold locks for less time.\n\nThat said, Partitioned DML is not a drop-in replacement for standard DML used\nin ReadWrite transactions.\n\n - The DML statement must be fully-partitionable. Specifically, the statement\n must be expressible as the union of many statements which each access only\n a single row of the table.\n\n - The statement is not applied atomically to all rows of the table. Rather,\n the statement is applied atomically to partitions of the table, in\n independent transactions. Secondary index rows are updated atomically\n with the base table rows.\n\n - Partitioned DML does not guarantee exactly-once execution semantics\n against a partition. The statement will be applied at least once to each\n partition. It is strongly recommended that the DML statement should be\n idempotent to avoid unexpected results. For instance, it is potentially\n dangerous to run a statement such as\n `UPDATE table SET column = column + 1` as it could be run multiple times\n against some rows.\n\n - The partitions are committed automatically - there is no support for\n Commit or Rollback. If the call returns an error, or if the client issuing\n the ExecuteSql call dies, it is possible that some rows had the statement\n executed on them successfully. It is also possible that statement was\n never executed against other rows.\n\n - Partitioned DML transactions may only contain the execution of a single\n DML statement via ExecuteSql or ExecuteStreamingSql.\n\n - If any error is encountered during the execution of the partitioned DML\n operation (for instance, a UNIQUE INDEX violation, division by zero, or a\n value that cannot be stored due to schema constraints), then the\n operation is stopped at that point and an error is returned. It is\n possible that at this point, some partitions have been committed (or even\n committed multiple times), and other partitions have not been run at all.\n\nGiven the above, Partitioned DML is good fit for large, database-wide,\noperations that are idempotent, such as deleting old rows from a very large\ntable.", + "description": "# Transactions\n\n\nEach session can have at most one active transaction at a time (note that\nstandalone reads and queries use a transaction internally and do count\ntowards the one transaction limit). After the active transaction is\ncompleted, the session can immediately be re-used for the next transaction.\nIt is not necessary to create a new session for each transaction.\n\n# Transaction Modes\n\nCloud Spanner supports three transaction modes:\n\n 1. Locking read-write. This type of transaction is the only way\n to write data into Cloud Spanner. These transactions rely on\n pessimistic locking and, if necessary, two-phase commit.\n Locking read-write transactions may abort, requiring the\n application to retry.\n\n 2. Snapshot read-only. This transaction type provides guaranteed\n consistency across several reads, but does not allow\n writes. Snapshot read-only transactions can be configured to\n read at timestamps in the past. Snapshot read-only\n transactions do not need to be committed.\n\n 3. Partitioned DML. This type of transaction is used to execute\n a single Partitioned DML statement. Partitioned DML partitions\n the key space and runs the DML statement over each partition\n in parallel using separate, internal transactions that commit\n independently. Partitioned DML transactions do not need to be\n committed.\n\nFor transactions that only read, snapshot read-only transactions\nprovide simpler semantics and are almost always faster. In\nparticular, read-only transactions do not take locks, so they do\nnot conflict with read-write transactions. As a consequence of not\ntaking locks, they also do not abort, so retry loops are not needed.\n\nTransactions may only read/write data in a single database. They\nmay, however, read/write data in different tables within that\ndatabase.\n\n## Locking Read-Write Transactions\n\nLocking transactions may be used to atomically read-modify-write\ndata anywhere in a database. This type of transaction is externally\nconsistent.\n\nClients should attempt to minimize the amount of time a transaction\nis active. Faster transactions commit with higher probability\nand cause less contention. Cloud Spanner attempts to keep read locks\nactive as long as the transaction continues to do reads, and the\ntransaction has not been terminated by\nCommit or\nRollback. Long periods of\ninactivity at the client may cause Cloud Spanner to release a\ntransaction's locks and abort it.\n\nConceptually, a read-write transaction consists of zero or more\nreads or SQL statements followed by\nCommit. At any time before\nCommit, the client can send a\nRollback request to abort the\ntransaction.\n\n### Semantics\n\nCloud Spanner can commit the transaction if all read locks it acquired\nare still valid at commit time, and it is able to acquire write\nlocks for all writes. Cloud Spanner can abort the transaction for any\nreason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees\nthat the transaction has not modified any user data in Cloud Spanner.\n\nUnless the transaction commits, Cloud Spanner makes no guarantees about\nhow long the transaction's locks were held for. It is an error to\nuse Cloud Spanner locks for any sort of mutual exclusion other than\nbetween Cloud Spanner transactions themselves.\n\n### Retrying Aborted Transactions\n\nWhen a transaction aborts, the application can choose to retry the\nwhole transaction again. To maximize the chances of successfully\ncommitting the retry, the client should execute the retry in the\nsame session as the original attempt. The original session's lock\npriority increases with each consecutive abort, meaning that each\nattempt has a slightly better chance of success than the previous.\n\nUnder some circumstances (e.g., many transactions attempting to\nmodify the same row(s)), a transaction can abort many times in a\nshort period before successfully committing. Thus, it is not a good\nidea to cap the number of retries a transaction can attempt;\ninstead, it is better to limit the total amount of wall time spent\nretrying.\n\n### Idle Transactions\n\nA transaction is considered idle if it has no outstanding reads or\nSQL queries and has not started a read or SQL query within the last 10\nseconds. Idle transactions can be aborted by Cloud Spanner so that they\ndon't hold on to locks indefinitely. In that case, the commit will\nfail with error `ABORTED`.\n\nIf this behavior is undesirable, periodically executing a simple\nSQL query in the transaction (e.g., `SELECT 1`) prevents the\ntransaction from becoming idle.\n\n## Snapshot Read-Only Transactions\n\nSnapshot read-only transactions provides a simpler method than\nlocking read-write transactions for doing several consistent\nreads. However, this type of transaction does not support writes.\n\nSnapshot transactions do not take locks. Instead, they work by\nchoosing a Cloud Spanner timestamp, then executing all reads at that\ntimestamp. Since they do not acquire locks, they do not block\nconcurrent read-write transactions.\n\nUnlike locking read-write transactions, snapshot read-only\ntransactions never abort. They can fail if the chosen read\ntimestamp is garbage collected; however, the default garbage\ncollection policy is generous enough that most applications do not\nneed to worry about this in practice.\n\nSnapshot read-only transactions do not need to call\nCommit or\nRollback (and in fact are not\npermitted to do so).\n\nTo execute a snapshot transaction, the client specifies a timestamp\nbound, which tells Cloud Spanner how to choose a read timestamp.\n\nThe types of timestamp bound are:\n\n - Strong (the default).\n - Bounded staleness.\n - Exact staleness.\n\nIf the Cloud Spanner database to be read is geographically distributed,\nstale read-only transactions can execute more quickly than strong\nor read-write transaction, because they are able to execute far\nfrom the leader replica.\n\nEach type of timestamp bound is discussed in detail below.\n\n### Strong\n\nStrong reads are guaranteed to see the effects of all transactions\nthat have committed before the start of the read. Furthermore, all\nrows yielded by a single read are consistent with each other -- if\nany part of the read observes a transaction, all parts of the read\nsee the transaction.\n\nStrong reads are not repeatable: two consecutive strong read-only\ntransactions might return inconsistent results if there are\nconcurrent writes. If consistency across reads is required, the\nreads should be executed within a transaction or at an exact read\ntimestamp.\n\nSee TransactionOptions.ReadOnly.strong.\n\n### Exact Staleness\n\nThese timestamp bounds execute reads at a user-specified\ntimestamp. Reads at a timestamp are guaranteed to see a consistent\nprefix of the global transaction history: they observe\nmodifications done by all transactions with a commit timestamp <=\nthe read timestamp, and observe none of the modifications done by\ntransactions with a larger commit timestamp. They will block until\nall conflicting transactions that may be assigned commit timestamps\n<= the read timestamp have finished.\n\nThe timestamp can either be expressed as an absolute Cloud Spanner commit\ntimestamp or a staleness relative to the current time.\n\nThese modes do not require a \"negotiation phase\" to pick a\ntimestamp. As a result, they execute slightly faster than the\nequivalent boundedly stale concurrency modes. On the other hand,\nboundedly stale reads usually return fresher results.\n\nSee TransactionOptions.ReadOnly.read_timestamp and\nTransactionOptions.ReadOnly.exact_staleness.\n\n### Bounded Staleness\n\nBounded staleness modes allow Cloud Spanner to pick the read timestamp,\nsubject to a user-provided staleness bound. Cloud Spanner chooses the\nnewest timestamp within the staleness bound that allows execution\nof the reads at the closest available replica without blocking.\n\nAll rows yielded are consistent with each other -- if any part of\nthe read observes a transaction, all parts of the read see the\ntransaction. Boundedly stale reads are not repeatable: two stale\nreads, even if they use the same staleness bound, can execute at\ndifferent timestamps and thus return inconsistent results.\n\nBoundedly stale reads execute in two phases: the first phase\nnegotiates a timestamp among all replicas needed to serve the\nread. In the second phase, reads are executed at the negotiated\ntimestamp.\n\nAs a result of the two phase execution, bounded staleness reads are\nusually a little slower than comparable exact staleness\nreads. However, they are typically able to return fresher\nresults, and are more likely to execute at the closest replica.\n\nBecause the timestamp negotiation requires up-front knowledge of\nwhich rows will be read, it can only be used with single-use\nread-only transactions.\n\nSee TransactionOptions.ReadOnly.max_staleness and\nTransactionOptions.ReadOnly.min_read_timestamp.\n\n### Old Read Timestamps and Garbage Collection\n\nCloud Spanner continuously garbage collects deleted and overwritten data\nin the background to reclaim storage space. This process is known\nas \"version GC\". By default, version GC reclaims versions after they\nare one hour old. Because of this, Cloud Spanner cannot perform reads\nat read timestamps more than one hour in the past. This\nrestriction also applies to in-progress reads and/or SQL queries whose\ntimestamp become too old while executing. Reads and SQL queries with\ntoo-old read timestamps fail with the error `FAILED_PRECONDITION`.\n\n## Partitioned DML Transactions\n\nPartitioned DML transactions are used to execute DML statements with a\ndifferent execution strategy that provides different, and often better,\nscalability properties for large, table-wide operations than DML in a\nReadWrite transaction. Smaller scoped statements, such as an OLTP workload,\nshould prefer using ReadWrite transactions.\n\nPartitioned DML partitions the keyspace and runs the DML statement on each\npartition in separate, internal transactions. These transactions commit\nautomatically when complete, and run independently from one another.\n\nTo reduce lock contention, this execution strategy only acquires read locks\non rows that match the WHERE clause of the statement. Additionally, the\nsmaller per-partition transactions hold locks for less time.\n\nThat said, Partitioned DML is not a drop-in replacement for standard DML used\nin ReadWrite transactions.\n\n - The DML statement must be fully-partitionable. Specifically, the statement\n must be expressible as the union of many statements which each access only\n a single row of the table.\n\n - The statement is not applied atomically to all rows of the table. Rather,\n the statement is applied atomically to partitions of the table, in\n independent transactions. Secondary index rows are updated atomically\n with the base table rows.\n\n - Partitioned DML does not guarantee exactly-once execution semantics\n against a partition. The statement will be applied at least once to each\n partition. It is strongly recommended that the DML statement should be\n idempotent to avoid unexpected results. For instance, it is potentially\n dangerous to run a statement such as\n `UPDATE table SET column = column + 1` as it could be run multiple times\n against some rows.\n\n - The partitions are committed automatically - there is no support for\n Commit or Rollback. If the call returns an error, or if the client issuing\n the ExecuteSql call dies, it is possible that some rows had the statement\n executed on them successfully. It is also possible that statement was\n never executed against other rows.\n\n - Partitioned DML transactions may only contain the execution of a single\n DML statement via ExecuteSql or ExecuteStreamingSql.\n\n - If any error is encountered during the execution of the partitioned DML\n operation (for instance, a UNIQUE INDEX violation, division by zero, or a\n value that cannot be stored due to schema constraints), then the\n operation is stopped at that point and an error is returned. It is\n possible that at this point, some partitions have been committed (or even\n committed multiple times), and other partitions have not been run at all.\n\nGiven the above, Partitioned DML is good fit for large, database-wide,\noperations that are idempotent, such as deleting old rows from a very large\ntable.", "id": "TransactionOptions", "properties": { "partitionedDml": { diff --git a/etc/api/speech/v1/speech-api.json b/etc/api/speech/v1/speech-api.json index 797299ba4e..a9293efbfc 100644 --- a/etc/api/speech/v1/speech-api.json +++ b/etc/api/speech/v1/speech-api.json @@ -290,7 +290,7 @@ } } }, - "revision": "20200406", + "revision": "20200625", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ListOperationsResponse": { @@ -331,7 +331,7 @@ "type": "string" }, "uri": { - "description": "The URI of the audio file being transcribed. Empty if the audio was sent\nas byte content. ", + "description": "Output only. The URI of the audio file being transcribed. Empty if the audio was sent\nas byte content.", "type": "string" } }, diff --git a/etc/api/speech/v1p1beta1/speech-api.json b/etc/api/speech/v1p1beta1/speech-api.json index 27c33eb6de..7657266671 100644 --- a/etc/api/speech/v1p1beta1/speech-api.json +++ b/etc/api/speech/v1p1beta1/speech-api.json @@ -290,9 +290,42 @@ } } }, - "revision": "20200406", + "revision": "20200625", "rootUrl": "https://speech.googleapis.com/", "schemas": { + "ClassItem": { + "description": "An item of the class.", + "id": "ClassItem", + "properties": { + "value": { + "description": "The class item's value.", + "type": "string" + } + }, + "type": "object" + }, + "CustomClass": { + "description": "A set of words or phrases that represents a common concept likely to appear\nin your audio, for example a list of passenger ship names. CustomClass items\ncan be substituted into placeholders that you set in PhraseSet phrases.", + "id": "CustomClass", + "properties": { + "customClassId": { + "description": "If this custom class is a resource, the custom_class_id is the resource id\nof the CustomClass. Case sensitive.", + "type": "string" + }, + "items": { + "description": "A collection of class items.", + "items": { + "$ref": "ClassItem" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the custom class.", + "type": "string" + } + }, + "type": "object" + }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -331,7 +364,7 @@ "type": "string" }, "uri": { - "description": "The URI of the audio file being transcribed. Empty if the audio was sent\nas byte content. ", + "description": "Output only. The URI of the audio file being transcribed. Empty if the audio was sent\nas byte content.", "type": "string" } }, @@ -401,6 +434,45 @@ }, "type": "object" }, + "Phrase": { + "description": "A phrases containing words and phrase \"hints\" so that\nthe speech recognition is more likely to recognize them. This can be used\nto improve the accuracy for specific words and phrases, for example, if\nspecific commands are typically spoken by the user. This can also be used\nto add additional words to the vocabulary of the recognizer. See\n[usage limits](https://cloud.google.com/speech-to-text/quotas#content).\n\nList items can also include pre-built or custom classes containing groups\nof words that represent common concepts that occur in natural language. For\nexample, rather than providing a phrase hint for every month of the\nyear (e.g. \"i was born in january\", \"i was born in febuary\", ...), use the\npre-built `$MONTH` class improves the likelihood of correctly transcribing\naudio that includes months (e.g. \"i was born in $month\").\nTo refer to pre-built classes, use the class' symbol prepended with `$`\ne.g. `$MONTH`. To refer to custom classes that were defined inline in the\nrequest, set the class's `custom_class_id` to a string unique to all class\nresources and inline classes. Then use the class' id wrapped in $`{...}`\ne.g. \"${my-months}\". To refer to custom classes resources, use the class'\nid wrapped in `${}` (e.g. `${my-months}`).", + "id": "Phrase", + "properties": { + "boost": { + "description": "Hint Boost. Overrides the boost set at the phrase set level.\nPositive value will increase the probability that a specific phrase will\nbe recognized over other similar sounding phrases. The higher the boost,\nthe higher the chance of false positive recognition as well. Negative\nboost values would correspond to anti-biasing. Anti-biasing is not\nenabled, so negative boost will simply be ignored. Though `boost` can\naccept a wide range of positive values, most use cases are best served\nwith values between 0 and 20. We recommend using a binary search approach\nto finding the optimal value for your use case. Speech recognition\nwill skip PhraseSets with a boost value of 0.", + "format": "float", + "type": "number" + }, + "value": { + "description": "The phrase itself.", + "type": "string" + } + }, + "type": "object" + }, + "PhraseSet": { + "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases\nin the results.", + "id": "PhraseSet", + "properties": { + "boost": { + "description": "Hint Boost. Positive value will increase the probability that a specific\nphrase will be recognized over other similar sounding phrases. The higher\nthe boost, the higher the chance of false positive recognition as well.\nNegative boost values would correspond to anti-biasing. Anti-biasing is not\nenabled, so negative boost will simply be ignored. Though `boost` can\naccept a wide range of positive values, most use cases are best served with\nvalues between 0 (exclusive) and 20. We recommend using a binary search\napproach to finding the optimal value for your use case. Speech recognition\nwill skip PhraseSets with a boost value of 0.", + "format": "float", + "type": "number" + }, + "name": { + "description": "The resource name of the phrase set.", + "type": "string" + }, + "phrases": { + "description": "A list of word and phrases.", + "items": { + "$ref": "Phrase" + }, + "type": "array" + } + }, + "type": "object" + }, "RecognitionAudio": { "description": "Contains audio data in the encoding specified in the `RecognitionConfig`.\nEither `content` or `uri` must be supplied. Supplying both or neither\nreturns google.rpc.Code.INVALID_ARGUMENT. See\n[content limits](https://cloud.google.com/speech-to-text/quotas#content).", "id": "RecognitionAudio", @@ -421,6 +493,10 @@ "description": "Provides information to the recognizer that specifies how to process the\nrequest.", "id": "RecognitionConfig", "properties": { + "adaptation": { + "$ref": "SpeechAdaptation", + "description": "Speech adaptation configuration improves the accuracy of speech\nrecognition. When speech adaptation is set it supersedes the\n`speech_contexts` field. For more information, see the [speech\nadaptation](https://cloud.google.com/speech-to-text/docs/context-strength)\ndocumentation." + }, "alternativeLanguageCodes": { "description": "A list of up to 3 additional\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags,\nlisting possible alternative languages of the supplied audio.\nSee [Language\nSupport](https://cloud.google.com/speech-to-text/docs/languages) for a list\nof the currently supported language codes. If alternative languages are\nlisted, recognition result will contain recognition in the most likely\nlanguage detected including the main language_code. The recognition result\nwill include the language tag of the language detected in the audio. Note:\nThis feature is only supported for Voice Command and Voice Search use cases\nand performance may vary for other use cases (e.g., phone call\ntranscription).", "items": { @@ -484,7 +560,7 @@ "Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.", "Opus encoded audio frames in Ogg container\n([OggOpus](https://wiki.xiph.org/OggOpus)).\n`sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, or 48000.", "Although the use of lossy encodings is not recommended, if a very low\nbitrate encoding is required, `OGG_OPUS` is highly preferred over\nSpeex encoding. The [Speex](https://speex.org/) encoding supported by\nCloud Speech API has a header byte in each block, as in MIME type\n`audio/x-speex-with-header-byte`.\nIt is a variant of the RTP Speex encoding defined in\n[RFC 5574](https://tools.ietf.org/html/rfc5574).\nThe stream is a sequence of blocks, one block per RTP packet. Each block\nstarts with a byte containing the length of the block, in bytes, followed\nby one or more frames of Speex data, padded to an integral number of\nbytes (octets) as specified in RFC 5574. In other words, each RTP header\nis replaced with a single byte containing the block length. Only Speex\nwideband is supported. `sample_rate_hertz` must be 16000.", - "MP3 audio. Support all standard MP3 bitrates (which range from 32-320\nkbps). When using this encoding, `sample_rate_hertz` has to match the\nsample rate of the file being used." + "MP3 audio. MP3 encoding is a Beta feature and only available in\nv1p1beta1. Support all standard MP3 bitrates (which range from 32-320\nkbps). When using this encoding, `sample_rate_hertz` has to match the\nsample rate of the file being used." ], "type": "string" }, @@ -690,6 +766,27 @@ }, "type": "object" }, + "SpeechAdaptation": { + "description": "Speech adaptation configuration.", + "id": "SpeechAdaptation", + "properties": { + "customClasses": { + "description": "A collection of custom classes. To specify the classes inline, leave the\nclass' `name` blank and fill in the rest of its fields, giving it a unique\n`custom_class_id`. Refer to the inline defined class in phrase hints by its\n`custom_class_id`.", + "items": { + "$ref": "CustomClass" + }, + "type": "array" + }, + "phraseSets": { + "description": "A collection of phrase sets. To specify the hints inline, leave the\nphrase set's `name` blank and fill in the rest of its fields. Any\nphrase set can use any custom class.", + "items": { + "$ref": "PhraseSet" + }, + "type": "array" + } + }, + "type": "object" + }, "SpeechContext": { "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases\nin the results.", "id": "SpeechContext", diff --git a/etc/api/speech/v2beta1/speech-api.json b/etc/api/speech/v2beta1/speech-api.json index d303412ead..57634104fe 100644 --- a/etc/api/speech/v2beta1/speech-api.json +++ b/etc/api/speech/v2beta1/speech-api.json @@ -184,7 +184,7 @@ } } }, - "revision": "20200406", + "revision": "20200625", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ListOperationsResponse": { diff --git a/etc/api/storage/v1/storage-api.json b/etc/api/storage/v1/storage-api.json index 9bfe74cb70..15e552946d 100644 --- a/etc/api/storage/v1/storage-api.json +++ b/etc/api/storage/v1/storage-api.json @@ -26,7 +26,7 @@ "description": "Stores and retrieves potentially large, immutable data objects.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/storage/docs/json_api/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/Hs4LXeoJXbMtbcM0DbLgg3CHzL4\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/rMtY8UaM-kV8ZktjHEIiZrJaheU\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -1781,7 +1781,7 @@ "type": "string" }, "kmsKeyName": { - "description": "Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any.", + "description": "Not currently supported. Specifying the parameter causes the request to fail with status code 400 - Bad Request.", "location": "query", "type": "string" }, @@ -3229,7 +3229,7 @@ } } }, - "revision": "20200326", + "revision": "20200623", "rootUrl": "https://storage.googleapis.com/", "schemas": { "Bucket": { @@ -3405,6 +3405,21 @@ "format": "date", "type": "string" }, + "customTimeBefore": { + "description": "A timestamp in RFC 3339 format. This condition is satisfied when the custom time on an object is before this timestamp.", + "format": "date-time", + "type": "string" + }, + "daysSinceCustomTime": { + "description": "Number of days elapsed since the user-specified timestamp set on an object. The condition is satisfied if the days elapsed is at least this number. If no custom timestamp is specified on an object, the condition does not apply.", + "format": "int32", + "type": "integer" + }, + "daysSinceNoncurrentTime": { + "description": "Number of days elapsed since the noncurrent timestamp of an object. The condition is satisfied if the days elapsed is at least this number. This condition is relevant only for versioned objects. The value of the field must be a nonnegative integer. If it's zero, the object version will become eligible for Lifecycle action as soon as it becomes noncurrent.", + "format": "int32", + "type": "integer" + }, "isLive": { "description": "Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.", "type": "boolean" @@ -3420,6 +3435,11 @@ }, "type": "array" }, + "noncurrentTimeBefore": { + "description": "A timestamp in RFC 3339 format. This condition is satisfied when the noncurrent time on an object is before this timestamp. This condition is relevant only for versioned objects.", + "format": "date-time", + "type": "string" + }, "numNewerVersions": { "description": "Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.", "format": "int32", @@ -4034,6 +4054,11 @@ "description": "CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Hashes and ETags: Best Practices.", "type": "string" }, + "customTime": { + "description": "A timestamp in RFC 3339 format specified by the user for an object.", + "format": "date-time", + "type": "string" + }, "customerEncryption": { "description": "Metadata of customer-supplied encryption key, if the object is encrypted by such a key.", "properties": { diff --git a/etc/api/storage/v1beta2/storage-api.json b/etc/api/storage/v1beta2/storage-api.json index 30fe1501ad..3ad3521da4 100644 --- a/etc/api/storage/v1beta2/storage-api.json +++ b/etc/api/storage/v1beta2/storage-api.json @@ -20,7 +20,7 @@ "description": "Lets you store and retrieve potentially-large, immutable data objects.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/storage/docs/json_api/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/5NAMPnqiKcRWF8ma6Fs4FvL2rNI\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/O6kMEe-jgYB4MPZMbsenKCSKtAA\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -1677,7 +1677,7 @@ } } }, - "revision": "20200326", + "revision": "20200623", "rootUrl": "https://storage.googleapis.com/", "schemas": { "Bucket": { diff --git a/etc/api/storagetransfer/v1/storagetransfer-api.json b/etc/api/storagetransfer/v1/storagetransfer-api.json index 56082474a8..401e45f72c 100644 --- a/etc/api/storagetransfer/v1/storagetransfer-api.json +++ b/etc/api/storagetransfer/v1/storagetransfer-api.json @@ -396,7 +396,7 @@ } } }, - "revision": "20200405", + "revision": "20200702", "rootUrl": "https://storagetransfer.googleapis.com/", "schemas": { "AwsAccessKey": { @@ -737,7 +737,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "Represents the transfer operation object.", + "description": "Represents the transfer operation object. To request a TransferOperation object, use transferOperations.get.", "type": "object" }, "name": { diff --git a/etc/api/streetviewpublish/v1/streetviewpublish-api.json b/etc/api/streetviewpublish/v1/streetviewpublish-api.json index ad7817d5e5..6e2149b29f 100644 --- a/etc/api/streetviewpublish/v1/streetviewpublish-api.json +++ b/etc/api/streetviewpublish/v1/streetviewpublish-api.json @@ -363,7 +363,7 @@ } } }, - "revision": "20200409", + "revision": "20200708", "rootUrl": "https://streetviewpublish.googleapis.com/", "schemas": { "BatchDeletePhotosRequest": { diff --git a/etc/api/tagmanager/v1/tagmanager-api.json b/etc/api/tagmanager/v1/tagmanager-api.json index c21f97882e..b466b450ff 100644 --- a/etc/api/tagmanager/v1/tagmanager-api.json +++ b/etc/api/tagmanager/v1/tagmanager-api.json @@ -28,7 +28,7 @@ }, "basePath": "", "baseUrl": "https://www.googleapis.com/", - "batchPath": "batch", + "batchPath": "batch/tagmanager/v1", "canonicalName": "Tag Manager", "description": "This API allows clients to access and modify container and tag\n configuration.", "discoveryVersion": "v1", @@ -1932,7 +1932,7 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://www.googleapis.com/", "schemas": { "Account": { diff --git a/etc/api/tagmanager/v2/tagmanager-api.json b/etc/api/tagmanager/v2/tagmanager-api.json index 364a582e69..cf39a8a656 100644 --- a/etc/api/tagmanager/v2/tagmanager-api.json +++ b/etc/api/tagmanager/v2/tagmanager-api.json @@ -28,7 +28,7 @@ }, "basePath": "", "baseUrl": "https://www.googleapis.com/", - "batchPath": "batch", + "batchPath": "batch/tagmanager/v2", "canonicalName": "Tag Manager", "description": "This API allows clients to access and modify container and tag\n configuration.", "discoveryVersion": "v1", @@ -2789,7 +2789,7 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://www.googleapis.com/", "schemas": { "Account": { diff --git a/etc/api/tasks/v1/tasks-api.json b/etc/api/tasks/v1/tasks-api.json index ae32df5598..0fc844eee1 100644 --- a/etc/api/tasks/v1/tasks-api.json +++ b/etc/api/tasks/v1/tasks-api.json @@ -11,35 +11,64 @@ } } }, - "basePath": "/tasks/v1/", - "baseUrl": "https://www.googleapis.com/tasks/v1/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/tasks/v1", - "description": "Manages your tasks and task lists.", + "canonicalName": "Tasks", + "description": "The Google Tasks API lets you manage your tasks and task lists.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/google-apps/tasks/firstapp", - "etag": "\"9eZ1uxVRThTDhLJCZHhqs3eQWz4/sib0TfOU9SmOWm02eMFRVq-fFck\"", + "documentationLink": "", + "fullyEncodeReservedExpansion": true, "icons": { - "x16": "https://www.google.com/images/icons/product/tasks-16.png", - "x32": "https://www.google.com/images/icons/product/tasks-32.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "tasks:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "tasks", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -62,12 +91,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -78,6 +112,7 @@ "methods": { "delete": { "description": "Deletes the authenticated user's specified task list.", + "flatPath": "tasks/v1/users/@me/lists/{tasklist}", "httpMethod": "DELETE", "id": "tasks.tasklists.delete", "parameterOrder": [ @@ -91,13 +126,14 @@ "type": "string" } }, - "path": "users/@me/lists/{tasklist}", + "path": "tasks/v1/users/@me/lists/{tasklist}", "scopes": [ "https://www.googleapis.com/auth/tasks" ] }, "get": { "description": "Returns the authenticated user's specified task list.", + "flatPath": "tasks/v1/users/@me/lists/{tasklist}", "httpMethod": "GET", "id": "tasks.tasklists.get", "parameterOrder": [ @@ -111,7 +147,7 @@ "type": "string" } }, - "path": "users/@me/lists/{tasklist}", + "path": "tasks/v1/users/@me/lists/{tasklist}", "response": { "$ref": "TaskList" }, @@ -122,9 +158,12 @@ }, "insert": { "description": "Creates a new task list and adds it to the authenticated user's task lists.", + "flatPath": "tasks/v1/users/@me/lists", "httpMethod": "POST", "id": "tasks.tasklists.insert", - "path": "users/@me/lists", + "parameterOrder": [], + "parameters": {}, + "path": "tasks/v1/users/@me/lists", "request": { "$ref": "TaskList" }, @@ -137,14 +176,16 @@ }, "list": { "description": "Returns all the authenticated user's task lists.", + "flatPath": "tasks/v1/users/@me/lists", "httpMethod": "GET", "id": "tasks.tasklists.list", + "parameterOrder": [], "parameters": { "maxResults": { - "description": "Maximum number of task lists returned on one page. Optional. The default is 20 (max allowed: 100).", - "format": "int64", + "description": "Maximum number of task lists returned on one page. Optional. The default is\n20 (max allowed: 100).", + "format": "int32", "location": "query", - "type": "string" + "type": "integer" }, "pageToken": { "description": "Token specifying the result page to return. Optional.", @@ -152,7 +193,7 @@ "type": "string" } }, - "path": "users/@me/lists", + "path": "tasks/v1/users/@me/lists", "response": { "$ref": "TaskLists" }, @@ -162,7 +203,8 @@ ] }, "patch": { - "description": "Updates the authenticated user's specified task list. This method supports patch semantics.", + "description": "Updates the authenticated user's specified task list. This method supports\npatch semantics.", + "flatPath": "tasks/v1/users/@me/lists/{tasklist}", "httpMethod": "PATCH", "id": "tasks.tasklists.patch", "parameterOrder": [ @@ -176,7 +218,7 @@ "type": "string" } }, - "path": "users/@me/lists/{tasklist}", + "path": "tasks/v1/users/@me/lists/{tasklist}", "request": { "$ref": "TaskList" }, @@ -189,6 +231,7 @@ }, "update": { "description": "Updates the authenticated user's specified task list.", + "flatPath": "tasks/v1/users/@me/lists/{tasklist}", "httpMethod": "PUT", "id": "tasks.tasklists.update", "parameterOrder": [ @@ -202,7 +245,7 @@ "type": "string" } }, - "path": "users/@me/lists/{tasklist}", + "path": "tasks/v1/users/@me/lists/{tasklist}", "request": { "$ref": "TaskList" }, @@ -218,7 +261,8 @@ "tasks": { "methods": { "clear": { - "description": "Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list.", + "description": "Clears all completed tasks from the specified task list. The affected tasks\nwill be marked as 'hidden' and no longer be returned by default when\nretrieving all tasks for a task list.", + "flatPath": "tasks/v1/lists/{tasklist}/clear", "httpMethod": "POST", "id": "tasks.tasks.clear", "parameterOrder": [ @@ -232,13 +276,14 @@ "type": "string" } }, - "path": "lists/{tasklist}/clear", + "path": "tasks/v1/lists/{tasklist}/clear", "scopes": [ "https://www.googleapis.com/auth/tasks" ] }, "delete": { "description": "Deletes the specified task from the task list.", + "flatPath": "tasks/v1/lists/{tasklist}/tasks/{task}", "httpMethod": "DELETE", "id": "tasks.tasks.delete", "parameterOrder": [ @@ -259,13 +304,14 @@ "type": "string" } }, - "path": "lists/{tasklist}/tasks/{task}", + "path": "tasks/v1/lists/{tasklist}/tasks/{task}", "scopes": [ "https://www.googleapis.com/auth/tasks" ] }, "get": { "description": "Returns the specified task.", + "flatPath": "tasks/v1/lists/{tasklist}/tasks/{task}", "httpMethod": "GET", "id": "tasks.tasks.get", "parameterOrder": [ @@ -286,7 +332,7 @@ "type": "string" } }, - "path": "lists/{tasklist}/tasks/{task}", + "path": "tasks/v1/lists/{tasklist}/tasks/{task}", "response": { "$ref": "Task" }, @@ -297,6 +343,7 @@ }, "insert": { "description": "Creates a new task on the specified task list.", + "flatPath": "tasks/v1/lists/{tasklist}/tasks", "httpMethod": "POST", "id": "tasks.tasks.insert", "parameterOrder": [ @@ -304,12 +351,12 @@ ], "parameters": { "parent": { - "description": "Parent task identifier. If the task is created at the top level, this parameter is omitted. Optional.", + "description": "Parent task identifier. If the task is created at the top level, this\nparameter is omitted. Optional.", "location": "query", "type": "string" }, "previous": { - "description": "Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted. Optional.", + "description": "Previous sibling task identifier. If the task is created at the first\nposition among its siblings, this parameter is omitted. Optional.", "location": "query", "type": "string" }, @@ -320,7 +367,7 @@ "type": "string" } }, - "path": "lists/{tasklist}/tasks", + "path": "tasks/v1/lists/{tasklist}/tasks", "request": { "$ref": "Task" }, @@ -333,6 +380,7 @@ }, "list": { "description": "Returns all tasks in the specified task list.", + "flatPath": "tasks/v1/lists/{tasklist}/tasks", "httpMethod": "GET", "id": "tasks.tasks.list", "parameterOrder": [ @@ -340,30 +388,30 @@ ], "parameters": { "completedMax": { - "description": "Upper bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date.", + "description": "Upper bound for a task's completion date (as a RFC 3339 timestamp) to\nfilter by. Optional. The default is not to filter by completion date.", "location": "query", "type": "string" }, "completedMin": { - "description": "Lower bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date.", + "description": "Lower bound for a task's completion date (as a RFC 3339 timestamp) to\nfilter by. Optional. The default is not to filter by completion date.", "location": "query", "type": "string" }, "dueMax": { - "description": "Upper bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date.", + "description": "Upper bound for a task's due date (as a RFC 3339 timestamp) to filter by.\nOptional. The default is not to filter by due date.", "location": "query", "type": "string" }, "dueMin": { - "description": "Lower bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date.", + "description": "Lower bound for a task's due date (as a RFC 3339 timestamp) to filter by.\nOptional. The default is not to filter by due date.", "location": "query", "type": "string" }, "maxResults": { - "description": "Maximum number of task lists returned on one page. Optional. The default is 20 (max allowed: 100).", - "format": "int64", + "description": "Maximum number of task lists returned on one page. Optional. The default is\n20 (max allowed: 100).", + "format": "int32", "location": "query", - "type": "string" + "type": "integer" }, "pageToken": { "description": "Token specifying the result page to return. Optional.", @@ -371,17 +419,17 @@ "type": "string" }, "showCompleted": { - "description": "Flag indicating whether completed tasks are returned in the result. Optional. The default is True.", + "description": "Flag indicating whether completed tasks are returned in the result.\nOptional. The default is True.", "location": "query", "type": "boolean" }, "showDeleted": { - "description": "Flag indicating whether deleted tasks are returned in the result. Optional. The default is False.", + "description": "Flag indicating whether deleted tasks are returned in the result. Optional.\nThe default is False.", "location": "query", "type": "boolean" }, "showHidden": { - "description": "Flag indicating whether hidden tasks are returned in the result. Optional. The default is False.", + "description": "Flag indicating whether hidden tasks are returned in the result. Optional.\nThe default is False.", "location": "query", "type": "boolean" }, @@ -392,12 +440,12 @@ "type": "string" }, "updatedMin": { - "description": "Lower bound for a task's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time.", + "description": "Lower bound for a task's last modification time (as a RFC 3339 timestamp)\nto filter by. Optional. The default is not to filter by last modification\ntime.", "location": "query", "type": "string" } }, - "path": "lists/{tasklist}/tasks", + "path": "tasks/v1/lists/{tasklist}/tasks", "response": { "$ref": "Tasks" }, @@ -407,7 +455,8 @@ ] }, "move": { - "description": "Moves the specified task to another position in the task list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks.", + "description": "Moves the specified task to another position in the task list. This can\ninclude putting it as a child task under a new parent and/or move it to a\ndifferent position among its sibling tasks.", + "flatPath": "tasks/v1/lists/{tasklist}/tasks/{task}/move", "httpMethod": "POST", "id": "tasks.tasks.move", "parameterOrder": [ @@ -416,12 +465,12 @@ ], "parameters": { "parent": { - "description": "New parent task identifier. If the task is moved to the top level, this parameter is omitted. Optional.", + "description": "New parent task identifier. If the task is moved to the top level, this\nparameter is omitted. Optional.", "location": "query", "type": "string" }, "previous": { - "description": "New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. Optional.", + "description": "New previous sibling task identifier. If the task is moved to the first\nposition among its siblings, this parameter is omitted. Optional.", "location": "query", "type": "string" }, @@ -438,7 +487,7 @@ "type": "string" } }, - "path": "lists/{tasklist}/tasks/{task}/move", + "path": "tasks/v1/lists/{tasklist}/tasks/{task}/move", "response": { "$ref": "Task" }, @@ -448,6 +497,7 @@ }, "patch": { "description": "Updates the specified task. This method supports patch semantics.", + "flatPath": "tasks/v1/lists/{tasklist}/tasks/{task}", "httpMethod": "PATCH", "id": "tasks.tasks.patch", "parameterOrder": [ @@ -468,7 +518,7 @@ "type": "string" } }, - "path": "lists/{tasklist}/tasks/{task}", + "path": "tasks/v1/lists/{tasklist}/tasks/{task}", "request": { "$ref": "Task" }, @@ -481,6 +531,7 @@ }, "update": { "description": "Updates the specified task.", + "flatPath": "tasks/v1/lists/{tasklist}/tasks/{task}", "httpMethod": "PUT", "id": "tasks.tasks.update", "parameterOrder": [ @@ -501,7 +552,7 @@ "type": "string" } }, - "path": "lists/{tasklist}/tasks/{task}", + "path": "tasks/v1/lists/{tasklist}/tasks/{task}", "request": { "$ref": "Task" }, @@ -515,24 +566,22 @@ } } }, - "revision": "20190628", + "revision": "20200704", "rootUrl": "https://www.googleapis.com/", "schemas": { "Task": { "id": "Task", "properties": { "completed": { - "description": "Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.", - "format": "date-time", + "description": "Completion date of the task (as a RFC 3339 timestamp). This field is\nomitted if the task has not been completed.", "type": "string" }, "deleted": { - "description": "Flag indicating whether the task has been deleted. The default if False.", + "description": "Flag indicating whether the task has been deleted. The default is False.", "type": "boolean" }, "due": { - "description": "Due date of the task (as a RFC 3339 timestamp). Optional. The due date only records date information; the time portion of the timestamp is discarded when setting the due date. It isn't possible to read or write the time that a task is due via the API.", - "format": "date-time", + "description": "Due date of the task (as a RFC 3339 timestamp). Optional. The due date only\nrecords date information; the time portion of the timestamp is discarded\nwhen setting the due date. It isn't possible to read or write the time that\na task is due via the API.", "type": "string" }, "etag": { @@ -540,7 +589,7 @@ "type": "string" }, "hidden": { - "description": "Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.", + "description": "Flag indicating whether the task is hidden. This is the case if the task\nhad been marked completed when the task list was last cleared. The default\nis False. This field is read-only.", "type": "boolean" }, "id": { @@ -548,7 +597,6 @@ "type": "string" }, "kind": { - "default": "tasks#task", "description": "Type of the resource. This is always \"tasks#task\".", "type": "string" }, @@ -557,7 +605,7 @@ "items": { "properties": { "description": { - "description": "The description. In HTML speak: Everything between and .", + "description": "The description. In HTML speak: Everything between <a> and\n</a>.", "type": "string" }, "link": { @@ -578,11 +626,11 @@ "type": "string" }, "parent": { - "description": "Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the \"move\" method to move the task under a different parent or to the top level.", + "description": "Parent task identifier. This field is omitted if it is a top-level task.\nThis field is read-only. Use the \"move\" method to move the task under a\ndifferent parent or to the top level.", "type": "string" }, "position": { - "description": "String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the \"move\" method to move the task to another position.", + "description": "String indicating the position of the task among its sibling tasks under\nthe same parent task or at the top level. If this string is greater than\nanother task's corresponding position string according to lexicographical\nordering, the task is positioned after the other task under the same parent\ntask (or at the top level). This field is read-only. Use the \"move\" method\nto move the task to another position.", "type": "string" }, "selfLink": { @@ -599,7 +647,6 @@ }, "updated": { "description": "Last modification time of the task (as a RFC 3339 timestamp).", - "format": "date-time", "type": "string" } }, @@ -617,12 +664,11 @@ "type": "string" }, "kind": { - "default": "tasks#taskList", "description": "Type of the resource. This is always \"tasks#taskList\".", "type": "string" }, "selfLink": { - "description": "URL pointing to this task list. Used to retrieve, update, or delete this task list.", + "description": "URL pointing to this task list. Used to retrieve, update, or delete this\ntask list.", "type": "string" }, "title": { @@ -631,7 +677,6 @@ }, "updated": { "description": "Last modification time of the task list (as a RFC 3339 timestamp).", - "format": "date-time", "type": "string" } }, @@ -652,7 +697,6 @@ "type": "array" }, "kind": { - "default": "tasks#taskLists", "description": "Type of the resource. This is always \"tasks#taskLists\".", "type": "string" }, @@ -678,7 +722,6 @@ "type": "array" }, "kind": { - "default": "tasks#tasks", "description": "Type of the resource. This is always \"tasks#tasks\".", "type": "string" }, @@ -690,7 +733,7 @@ "type": "object" } }, - "servicePath": "tasks/v1/", + "servicePath": "", "title": "Tasks API", "version": "v1" } \ No newline at end of file diff --git a/etc/api/testing/v1/testing-api.json b/etc/api/testing/v1/testing-api.json index 5cd36f30db..4686de6d98 100644 --- a/etc/api/testing/v1/testing-api.json +++ b/etc/api/testing/v1/testing-api.json @@ -273,7 +273,7 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://testing.googleapis.com/", "schemas": { "Account": { @@ -457,12 +457,14 @@ "enum": [ "DEVICE_FORM_UNSPECIFIED", "VIRTUAL", - "PHYSICAL" + "PHYSICAL", + "EMULATOR" ], "enumDescriptions": [ "Do not use. For proto versioning only.", - "A software stack that simulates the device.", - "Actual hardware." + "Android virtual device using Compute Engine native virtualization. Firebase\nTest Lab only.", + "Actual hardware.", + "Android virtual device using emulator in nested virtualization. Equivalent\nto Android Studio." ], "type": "string" }, @@ -535,7 +537,7 @@ "type": "array" }, "thumbnailUrl": { - "description": "URL of a thumbnail image of the device.", + "description": "URL of a thumbnail image (photo) of the device.\ne.g. https://lh3.googleusercontent.com/90WcauuJiCYABEl8U0lcZeuS5STUbf2yW...", "type": "string" } }, @@ -936,7 +938,7 @@ "id": "FileReference", "properties": { "gcsPath": { - "description": "A path to a file in Google Cloud Storage.\nExample: gs://build-app-1414623860166/app-debug-unaligned.apk", + "description": "A path to a file in Google Cloud Storage.\nExample: gs://build-app-1414623860166/app%40debug-unaligned.apk\nThese paths are expected to be url encoded (percent encoding)", "type": "string" } }, @@ -1065,7 +1067,7 @@ "type": "object" }, "IosModel": { - "description": "A description of an iOS device tests may be run on.\nNext tag: 12", + "description": "A description of an iOS device tests may be run on.\nNext tag: 13", "id": "IosModel", "properties": { "deviceCapabilities": { @@ -1229,6 +1231,10 @@ "description": "Output only. The bundle id for the application under test.", "type": "string" }, + "testSpecialEntitlements": { + "description": "The option to test special app entitlements. Setting this would re-sign the\napp having special entitlements with an explicit application-identifier.\nCurrently supports testing aps-environment entitlement.", + "type": "boolean" + }, "testsZip": { "$ref": "FileReference", "description": "Required. The .zip containing the .xctestrun file and the contents of the\nDerivedData/Build/Products directory.\nThe .xctestrun file in this zip is ignored if the xctestrun field is\nspecified." @@ -1281,7 +1287,7 @@ "id": "ManualSharding", "properties": { "testTargetsForShard": { - "description": "Required. Group of packages, classes, and/or test methods to be run for\neach shard. The number of shard_test_targets must be >= 1 and <= 50.", + "description": "Required. Group of packages, classes, and/or test methods to be run for\neach shard. When any physical devices are selected, the number of\ntest_targets_for_shard must be >= 1 and <= 50. When no physical devices are\nselected, the number must be >= 1 and <= 250.", "items": { "$ref": "TestTargetsForShard" }, @@ -1377,7 +1383,7 @@ "description": "Required. The source file." }, "devicePath": { - "description": "Required. Where to put the content on the device. Must be an absolute,\nwhitelisted path. If the file exists, it will be replaced.\nThe following device-side directories and any of their subdirectories are\nwhitelisted:\n

${EXTERNAL_STORAGE}, or /sdcard

\n

${ANDROID_DATA}/local/tmp, or /data/local/tmp

\n

Specifying a path outside of these directory trees is invalid.\n\n

The paths /sdcard and /data will be made available and treated as\nimplicit path substitutions. E.g. if /sdcard on a particular device does\nnot map to external storage, the system will replace it with the external\nstorage path prefix for that device and copy the file there.\n\n

It is strongly advised to use the \nEnvironment API in app and test code to access files on the device in a\nportable way.", + "description": "Required. Where to put the content on the device. Must be an absolute,\nallowlisted path. If the file exists, it will be replaced.\nThe following device-side directories and any of their subdirectories are\nallowlisted:\n

${EXTERNAL_STORAGE}, /sdcard, or /storage

\n

${ANDROID_DATA}/local/tmp, or /data/local/tmp

\n

Specifying a path outside of these directory trees is invalid.\n\n

The paths /sdcard and /data will be made available and treated as\nimplicit path substitutions. E.g. if /sdcard on a particular device does\nnot map to external storage, the system will replace it with the external\nstorage path prefix for that device and copy the file there.\n\n

It is strongly advised to use the \nEnvironment API in app and test code to access files on the device in a\nportable way.", "type": "string" } }, @@ -1831,12 +1837,16 @@ "type": "array" }, "directoriesToPull": { - "description": "List of directories on the device to upload to GCS at the end of the test;\nthey must be absolute paths under /sdcard or /data/local/tmp.\nPath names are restricted to characters a-z A-Z 0-9 _ - . + and /\n\nNote: The paths /sdcard and /data will be made available and treated as\nimplicit path substitutions. E.g. if /sdcard on a particular device does\nnot map to external storage, the system will replace it with the external\nstorage path prefix for that device.", + "description": "List of directories on the device to upload to GCS at the end of the test;\nthey must be absolute paths under /sdcard, /storage or /data/local/tmp.\nPath names are restricted to characters a-z A-Z 0-9 _ - . + and /\n\nNote: The paths /sdcard and /data will be made available and treated as\nimplicit path substitutions. E.g. if /sdcard on a particular device does\nnot map to external storage, the system will replace it with the external\nstorage path prefix for that device.", "items": { "type": "string" }, "type": "array" }, + "dontAutograntPermissions": { + "description": "Whether to prevent all runtime permissions to be granted at app install", + "type": "boolean" + }, "environmentVariables": { "description": "Environment variables to set for the test (only applicable for\ninstrumentation tests).", "items": { @@ -2018,7 +2028,7 @@ "id": "UniformSharding", "properties": { "numShards": { - "description": "Required. Total number of shards. The number must be >= 1 and <= 50.", + "description": "Required. Total number of shards. When any physical devices are selected,\nthe number must be >= 1 and <= 50. When no physical devices are selected,\nthe number must be >= 1 and <= 250.", "format": "int32", "type": "integer" } diff --git a/etc/api/texttospeech/v1/texttospeech-api.json b/etc/api/texttospeech/v1/texttospeech-api.json index 78e73f1ee9..5d366aaf15 100644 --- a/etc/api/texttospeech/v1/texttospeech-api.json +++ b/etc/api/texttospeech/v1/texttospeech-api.json @@ -153,7 +153,7 @@ } } }, - "revision": "20200406", + "revision": "20200703", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AudioConfig": { @@ -225,7 +225,7 @@ "id": "SynthesisInput", "properties": { "ssml": { - "description": "The SSML document to be synthesized. The SSML document must be valid\nand well-formed. Otherwise the RPC will fail and return\ngoogle.rpc.Code.INVALID_ARGUMENT. For more information, see\n[SSML](/speech/text-to-speech/docs/ssml).", + "description": "The SSML document to be synthesized. The SSML document must be valid\nand well-formed. Otherwise the RPC will fail and return\ngoogle.rpc.Code.INVALID_ARGUMENT. For more information, see\n[SSML](https://cloud.google.com/text-to-speech/docs/ssml).", "type": "string" }, "text": { @@ -298,7 +298,7 @@ "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.", "A male voice.", "A female voice.", - "A gender-neutral voice." + "A gender-neutral voice. This voice is not yet supported." ], "type": "string" } @@ -329,7 +329,7 @@ "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.", "A male voice.", "A female voice.", - "A gender-neutral voice." + "A gender-neutral voice. This voice is not yet supported." ], "type": "string" } diff --git a/etc/api/texttospeech/v1beta1/texttospeech-api.json b/etc/api/texttospeech/v1beta1/texttospeech-api.json index 4dc3e059a2..cab0129969 100644 --- a/etc/api/texttospeech/v1beta1/texttospeech-api.json +++ b/etc/api/texttospeech/v1beta1/texttospeech-api.json @@ -153,7 +153,7 @@ } } }, - "revision": "20200406", + "revision": "20200703", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AudioConfig": { @@ -225,7 +225,7 @@ "id": "SynthesisInput", "properties": { "ssml": { - "description": "The SSML document to be synthesized. The SSML document must be valid\nand well-formed. Otherwise the RPC will fail and return\ngoogle.rpc.Code.INVALID_ARGUMENT. For more information, see\n[SSML](/speech/text-to-speech/docs/ssml).", + "description": "The SSML document to be synthesized. The SSML document must be valid\nand well-formed. Otherwise the RPC will fail and return\ngoogle.rpc.Code.INVALID_ARGUMENT. For more information, see\n[SSML](https://cloud.google.com/text-to-speech/docs/ssml).", "type": "string" }, "text": { @@ -298,7 +298,7 @@ "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.", "A male voice.", "A female voice.", - "A gender-neutral voice." + "A gender-neutral voice. This voice is not yet supported." ], "type": "string" } @@ -329,7 +329,7 @@ "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.", "A male voice.", "A female voice.", - "A gender-neutral voice." + "A gender-neutral voice. This voice is not yet supported." ], "type": "string" } diff --git a/etc/api/tpu/v1/tpu-api.json b/etc/api/tpu/v1/tpu-api.json index 59ae4ce78c..a33dacc7cf 100644 --- a/etc/api/tpu/v1/tpu-api.json +++ b/etc/api/tpu/v1/tpu-api.json @@ -659,7 +659,7 @@ } } }, - "revision": "20200318", + "revision": "20200707", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -1055,9 +1055,11 @@ "type": "object" }, "SchedulingConfig": { + "description": "Sets the scheduling options for this node.", "id": "SchedulingConfig", "properties": { "preemptible": { + "description": "Defines whether the node is preemptible.", "type": "boolean" }, "reserved": { diff --git a/etc/api/tpu/v1alpha1/tpu-api.json b/etc/api/tpu/v1alpha1/tpu-api.json index 08d6e5e48c..78d6cccd6b 100644 --- a/etc/api/tpu/v1alpha1/tpu-api.json +++ b/etc/api/tpu/v1alpha1/tpu-api.json @@ -659,7 +659,7 @@ } } }, - "revision": "20200318", + "revision": "20200707", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -1055,9 +1055,11 @@ "type": "object" }, "SchedulingConfig": { + "description": "Sets the scheduling options for this node.", "id": "SchedulingConfig", "properties": { "preemptible": { + "description": "Defines whether the node is preemptible.", "type": "boolean" }, "reserved": { diff --git a/etc/api/translate/v3/translate-api.json b/etc/api/translate/v3/translate-api.json index 38c8dd4329..600227b28a 100644 --- a/etc/api/translate/v3/translate-api.json +++ b/etc/api/translate/v3/translate-api.json @@ -687,7 +687,7 @@ } } }, - "revision": "20200406", + "revision": "20200629", "rootUrl": "https://translation.googleapis.com/", "schemas": { "BatchTranslateTextRequest": { @@ -874,7 +874,7 @@ "properties": { "gcsSource": { "$ref": "GcsSource", - "description": "Required. Google Cloud Storage location of glossary data.\nFile format is determined based on the filename extension. API returns\n[google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file\nformats. Wildcards are not allowed. This must be a single file in one of\nthe following formats:\n\nFor unidirectional glossaries:\n\n- TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated.\n The first column is source text. The second column is target text.\n The file must not contain headers. That is, the first row is data, not\n column names.\n\n- TMX (`.tmx`): TMX file with parallel data defining source/target term\npairs.\n\nFor equivalent term sets glossaries:\n\n- CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms\n in multiple languages. The format is defined for Google Translation\n Toolkit and documented in [Use a\n glossary](https://support.google.com/translatortoolkit/answer/6306379?hl=en)." + "description": "Required. Google Cloud Storage location of glossary data.\nFile format is determined based on the filename extension. API returns\n[google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file\nformats. Wildcards are not allowed. This must be a single file in one of\nthe following formats:\n\nFor unidirectional glossaries:\n\n- TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated.\n The first column is source text. The second column is target text.\n The file must not contain headers. That is, the first row is data, not\n column names.\n\n- TMX (`.tmx`): TMX file with parallel data defining source/target term\npairs.\n\nFor equivalent term sets glossaries:\n\n- CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms\n in multiple languages. See documentation for more information -\n [glossaries](https://cloud.google.com/translate/docs/advanced/glossary)." } }, "type": "object" diff --git a/etc/api/translate/v3beta1/translate-api.json b/etc/api/translate/v3beta1/translate-api.json index c993eceaa1..c0580f527b 100644 --- a/etc/api/translate/v3beta1/translate-api.json +++ b/etc/api/translate/v3beta1/translate-api.json @@ -687,7 +687,7 @@ } } }, - "revision": "20200406", + "revision": "20200629", "rootUrl": "https://translation.googleapis.com/", "schemas": { "BatchTranslateTextRequest": { diff --git a/etc/api/vault/v1/vault-api.json b/etc/api/vault/v1/vault-api.json index 94cece5ae0..0fe300c22e 100644 --- a/etc/api/vault/v1/vault-api.json +++ b/etc/api/vault/v1/vault-api.json @@ -372,7 +372,7 @@ ] }, "update": { - "description": "Updates the specified matter.\nThis updates only the name and description of the matter, identified by\nmatter id. Changes to any other fields are ignored.\nReturns the default view of the matter.", + "description": "Updates the specified matter.\nThis updates only the name and description of the matter, identified by\nmatter ID. Changes to any other fields are ignored.\nReturns the default view of the matter.", "flatPath": "v1/matters/{matterId}", "httpMethod": "PUT", "id": "vault.matters.update", @@ -904,7 +904,7 @@ ], "parameters": { "matterId": { - "description": "The matter id of the parent matter for which the saved query is to be\ncreated.", + "description": "The matter ID of the parent matter for which the saved query is to be\ncreated.", "location": "path", "required": true, "type": "string" @@ -932,13 +932,13 @@ ], "parameters": { "matterId": { - "description": "The matter id of the parent matter for which the saved query is to be\ndeleted.", + "description": "The matter ID of the parent matter for which the saved query is to be\ndeleted.", "location": "path", "required": true, "type": "string" }, "savedQueryId": { - "description": "Id of the saved query to be deleted.", + "description": "ID of the saved query to be deleted.", "location": "path", "required": true, "type": "string" @@ -963,13 +963,13 @@ ], "parameters": { "matterId": { - "description": "The matter id of the parent matter for which the saved query is to be\nretrieved.", + "description": "The matter ID of the parent matter for which the saved query is to be\nretrieved.", "location": "path", "required": true, "type": "string" }, "savedQueryId": { - "description": "Id of the saved query to be retrieved.", + "description": "ID of the saved query to be retrieved.", "location": "path", "required": true, "type": "string" @@ -994,7 +994,7 @@ ], "parameters": { "matterId": { - "description": "The matter id of the parent matter for which the saved queries are to be\nretrieved.", + "description": "The matter ID of the parent matter for which the saved queries are to be\nretrieved.", "location": "path", "required": true, "type": "string" @@ -1051,7 +1051,7 @@ } } }, - "revision": "20200330", + "revision": "20200623", "rootUrl": "https://vault.googleapis.com/", "schemas": { "AccountInfo": { @@ -1088,7 +1088,7 @@ "id": "AddHeldAccountsRequest", "properties": { "accountIds": { - "description": "Account ids to identify which accounts to add. Only account_ids or only\nemails should be specified, but not both.", + "description": "Account IDs to identify which accounts to add. Only account_ids or only\nemails should be specified, but not both.", "items": { "type": "string" }, @@ -1159,7 +1159,7 @@ "id": "CloudStorageFile", "properties": { "bucketName": { - "description": "The cloud storage bucket name of this export file.\nCan be used in cloud storage JSON/XML API.", + "description": "The cloud storage bucket name of this export file.\nCan be used in cloud storage JSON/XML API, but not to list the bucket\ncontents. Instead, you can \nget individual export files by object name.", "type": "string" }, "md5Hash": { @@ -1774,7 +1774,7 @@ "id": "MatterPermission", "properties": { "accountId": { - "description": "The account id, as provided by Admin SDK.", + "description": "The account ID, as provided by Admin SDK.", "type": "string" }, "role": { @@ -1945,7 +1945,7 @@ "id": "RemoveHeldAccountsRequest", "properties": { "accountIds": { - "description": "Account ids to identify HeldAccounts to remove.", + "description": "Account IDs to identify HeldAccounts to remove.", "items": { "type": "string" }, @@ -2010,7 +2010,7 @@ "type": "string" }, "matterId": { - "description": "Output only. The matter id of the associated matter.\nThe server does not look at this field during create and always uses matter\nid in the URL.", + "description": "Output only. The matter ID of the associated matter.\nThe server does not look at this field during create and always uses matter\nid in the URL.", "type": "string" }, "query": { @@ -2029,7 +2029,7 @@ "id": "SharedDriveInfo", "properties": { "sharedDriveIds": { - "description": "List of Shared drive ids, as provided by Drive API.", + "description": "List of Shared drive IDs, as provided by Drive API.", "items": { "type": "string" }, @@ -2070,7 +2070,7 @@ "id": "TeamDriveInfo", "properties": { "teamDriveIds": { - "description": "List of Team Drive ids, as provided by Drive API.", + "description": "List of Team Drive IDs, as provided by Drive API.", "items": { "type": "string" }, diff --git a/etc/api/vectortile/v1/vectortile-api.json b/etc/api/vectortile/v1/vectortile-api.json new file mode 100644 index 0000000000..bcbfe52c8f --- /dev/null +++ b/etc/api/vectortile/v1/vectortile-api.json @@ -0,0 +1,847 @@ +{ + "basePath": "", + "baseUrl": "https://vectortile.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Semantic Tile", + "description": "Serves vector tiles containing geospatial data.\n", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/maps/contact-sales/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "vectortile:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://vectortile.mtls.googleapis.com/", + "name": "vectortile", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "featuretiles": { + "methods": { + "get": { + "description": "Gets a feature tile by its tile resource name.", + "flatPath": "v1/featuretiles/{featuretilesId}", + "httpMethod": "GET", + "id": "vectortile.featuretiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "clientInfo.apiClient": { + "description": "API client name and version. For example, the SDK calling the API. The\nexact format is up to the client.", + "location": "query", + "type": "string" + }, + "clientInfo.applicationId": { + "description": "Application ID, such as the package name on Android and the bundle\nidentifier on iOS platforms.", + "location": "query", + "type": "string" + }, + "clientInfo.applicationVersion": { + "description": "Application version number, such as \"1.2.3\". The exact format is\napplication-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.deviceModel": { + "description": "Device model as reported by the device. The exact format is\nplatform-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.operatingSystem": { + "description": "Operating system name and version as reported by the OS. For example,\n\"Mac OS X 10.10.4\". The exact format is platform-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.platform": { + "description": "Platform where the application is running.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "EDITOR", + "MAC_OS", + "WINDOWS", + "LINUX", + "ANDROID", + "IOS", + "WEB_GL" + ], + "location": "query", + "type": "string" + }, + "clientInfo.userId": { + "description": "A client-generated user ID. The ID should be generated and persisted during\nthe first user session or whenever a pre-existing ID is not found. The\nexact format is up to the client. This must be non-empty in a\nGetFeatureTileRequest (whether via the header or\nGetFeatureTileRequest.client_info).", + "location": "query", + "type": "string" + }, + "clientTileVersionId": { + "description": "Optional version id identifying the tile that is already in the client's\ncache. This field should be populated with the most recent version_id value\nreturned by the API for the requested tile.\n\nIf the version id is empty the server always returns a newly rendered tile.\nIf it is provided the server checks if the tile contents would be identical\nto one that's already on the client, and if so, returns a stripped-down\nresponse tile with STATUS_OK_DATA_UNCHANGED instead.", + "location": "query", + "type": "string" + }, + "enableDetailedHighwayTypes": { + "description": "Flag indicating whether detailed highway types should be returned. If this\nis set, the CONTROLLED_ACCESS_HIGHWAY type may be returned. If not, then\nthese highways will have the generic HIGHWAY type.\n\nThis exists for backwards compatibility reasons.", + "location": "query", + "type": "boolean" + }, + "enableFeatureNames": { + "description": "Flag indicating whether human-readable names should be returned for\nfeatures. If this is set, the display_name field on the feature will be\nfilled out.", + "location": "query", + "type": "boolean" + }, + "enableModeledVolumes": { + "description": "Flag indicating whether 3D building models should be enabled. If this is\nset structures will be returned as 3D modeled volumes rather than 2.5D\nextruded areas where possible.", + "location": "query", + "type": "boolean" + }, + "enablePoliticalFeatures": { + "description": "Flag indicating whether political features should be returned.", + "location": "query", + "type": "boolean" + }, + "enablePrivateRoads": { + "description": "Flag indicating whether the returned tile will contain road features that\nare marked private. Private roads are indicated by the\nFeature.segment_info.road_info.is_private field.", + "location": "query", + "type": "boolean" + }, + "enableUnclippedBuildings": { + "description": "Flag indicating whether unclipped buildings should be returned. If this is\nset, building render ops will extend beyond the tile boundary. Buildings\nwill only be returned on the tile that contains their centroid.", + "location": "query", + "type": "boolean" + }, + "languageCode": { + "description": "Required. The BCP-47 language code corresponding to the language in which\nthe name was requested, such as \"en-US\" or \"sr-Latn\".\n\nFor more information, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Resource name of the tile. The tile resource name is prefixed by\nits collection ID `tiles/` followed by the resource ID, which encodes the\ntile's global x and y coordinates and zoom level as `@,,z`.\nFor example, `tiles/@1,2,3z`.", + "location": "path", + "pattern": "^featuretiles/[^/]+$", + "required": true, + "type": "string" + }, + "regionCode": { + "description": "Required. The Unicode country/region code (CLDR) of the location from which\nthe request is coming from, such as \"US\" and \"419\".\n\nFor more information, see\nhttp://www.unicode.org/reports/tr35/#unicode_region_subtag.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "FeatureTile" + } + } + } + }, + "terraintiles": { + "methods": { + "get": { + "description": "Gets a terrain tile by its tile resource name.", + "flatPath": "v1/terraintiles/{terraintilesId}", + "httpMethod": "GET", + "id": "vectortile.terraintiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "altitudePrecisionCentimeters": { + "description": "The precision of terrain altitudes in centimeters.\nPossible values: between 1 (cm level precision) and 1,000,000 (10-kilometer\nlevel precision).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "clientInfo.apiClient": { + "description": "API client name and version. For example, the SDK calling the API. The\nexact format is up to the client.", + "location": "query", + "type": "string" + }, + "clientInfo.applicationId": { + "description": "Application ID, such as the package name on Android and the bundle\nidentifier on iOS platforms.", + "location": "query", + "type": "string" + }, + "clientInfo.applicationVersion": { + "description": "Application version number, such as \"1.2.3\". The exact format is\napplication-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.deviceModel": { + "description": "Device model as reported by the device. The exact format is\nplatform-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.operatingSystem": { + "description": "Operating system name and version as reported by the OS. For example,\n\"Mac OS X 10.10.4\". The exact format is platform-dependent.", + "location": "query", + "type": "string" + }, + "clientInfo.platform": { + "description": "Platform where the application is running.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "EDITOR", + "MAC_OS", + "WINDOWS", + "LINUX", + "ANDROID", + "IOS", + "WEB_GL" + ], + "location": "query", + "type": "string" + }, + "clientInfo.userId": { + "description": "A client-generated user ID. The ID should be generated and persisted during\nthe first user session or whenever a pre-existing ID is not found. The\nexact format is up to the client. This must be non-empty in a\nGetFeatureTileRequest (whether via the header or\nGetFeatureTileRequest.client_info).", + "location": "query", + "type": "string" + }, + "maxElevationResolutionCells": { + "description": "The maximum allowed resolution for the returned elevation heightmap.\nPossible values: between 1 and 1024 (and not less than\nmin_elevation_resolution_cells).\nOver-sized heightmaps will be non-uniformly down-sampled such that each\nedge is no longer than this value. Non-uniformity is chosen to maximise the\namount of preserved data.\n\nFor example:\nOriginal resolution: 100px (width) * 30px (height)\nmax_elevation_resolution: 30\nNew resolution: 30px (width) * 30px (height)", + "format": "int32", + "location": "query", + "type": "integer" + }, + "minElevationResolutionCells": { + "description": "The minimum allowed resolution for the returned elevation heightmap.\nPossible values: between 0 and 1024 (and not more than\nmax_elevation_resolution_cells). Zero is supported for backward\ncompatibility.\nUnder-sized heightmaps will be non-uniformly up-sampled\nsuch that each edge is no shorter than this value. Non-uniformity is chosen\nto maximise the amount of preserved data.\n\nFor example:\nOriginal resolution: 30px (width) * 10px (height)\nmin_elevation_resolution: 30\nNew resolution: 30px (width) * 30px (height)", + "format": "int32", + "location": "query", + "type": "integer" + }, + "name": { + "description": "Required. Resource name of the tile. The tile resource name is prefixed by\nits collection ID `terraintiles/` followed by the resource ID, which\nencodes the tile's global x and y coordinates and zoom level as\n`@,,z`. For example, `terraintiles/@1,2,3z`.", + "location": "path", + "pattern": "^terraintiles/[^/]+$", + "required": true, + "type": "string" + }, + "terrainFormats": { + "description": "Terrain formats that the client understands.", + "enum": [ + "TERRAIN_FORMAT_UNKNOWN", + "FIRST_DERIVATIVE", + "SECOND_DERIVATIVE" + ], + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "TerrainTile" + } + } + } + } + }, + "revision": "20200707", + "rootUrl": "https://vectortile.googleapis.com/", + "schemas": { + "Area": { + "description": "Represents an area. Used to represent regions such as water, parks, etc.", + "id": "Area", + "properties": { + "hasExternalEdges": { + "description": "True if the polygon is not entirely internal to the feature that it belongs\nto: that is, some of the edges are bordering another feature.", + "type": "boolean" + }, + "internalEdges": { + "description": "When has_external_edges is true, the polygon has some edges that border\nanother feature. This field indicates the internal edges that do not border\nanother feature. Each value is an index into the vertices array, and\ndenotes the start vertex of the internal edge (the next vertex in the\nboundary loop is the end of the edge). If the selected vertex is the last\nvertex in the boundary loop, then the edge between that vertex and the\nstarting vertex of the loop is internal.\n\nThis field may be used for styling. For example, building parapets could be\nplaced only on the external edges of a building polygon, or water could be\nlighter colored near the external edges of a body of water.\n\nIf has_external_edges is false, all edges are internal and this field will\nbe empty.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "loopBreaks": { + "description": "Identifies the boundary loops of the polygon. Only set for INDEXED_TRIANGLE\npolygons. Each value is an index into the vertices array indicating the\nbeginning of a loop. For instance, values of [2, 5] would indicate\nloop_data contained 3 loops with indices 0-1, 2-4, and 5-end.\n\nThis may be used in conjunction with the internal_edges field for styling\npolygon boundaries. Note that an edge may be on a polygon boundary but\nstill internal to the feature. For example, a feature split across multiple\ntiles will have an internal polygon boundary edge along the edge of the\ntile.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "triangleIndices": { + "description": "When the polygon encoding is of type INDEXED_TRIANGLES, this contains the\nindices of the triangle vertices in the vertex_offsets field. There are 3\nvertex indices per triangle.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "type": { + "description": "The polygon encoding type used for this area.", + "enum": [ + "TRIANGLE_FAN", + "INDEXED_TRIANGLES", + "TRIANGLE_STRIP" + ], + "enumDescriptions": [ + "The first vertex in vertex_offset is the center of a triangle fan. The\nother vertices are arranged around this vertex in a fan shape. The\nfollowing diagram showes a triangle fan polygon with the vertices\nlabelled with their indices in the vertex_offset list.\n\nTriangle fan polygons always have a single boundary loop.\n\nVertices may be in either a clockwise or counterclockwise order.\n\n (1)\n / \\\n / \\\n / \\\n (0)-----(2)\n / \\ /\n / \\ /\n / \\ /\n (4)-----(3)", + "The polygon is a set of triangles with three vertex indices per triangle.\nThe vertex indices can be found in the triangle_indices field.\n\nIndexed triangle polygons also contain information about boundary loops.\nThese identify the loops at the boundary of the polygon and may be used\nin conjunction with the internal_edges field for styling. Boundary loops\nmay represent either a hole or a disconnected component of the polygon.\n\nThe following diagram shows an indexed triangle polygon with two boundary\nloops.\n\n (0) (4)\n / \\ / \\\n / \\ / \\\n (1)----(2) (3)----(5)", + "A strip of triangles, where each triangle uses the last edge of the\nprevious triangle.\n\nVertices may be in either a clockwise or counterclockwise order.\n\nOnly polygons without the has_external_edges flag set will use triangle\nstrips.\n\n (0)\n / \\\n / \\\n / \\\n (2)-----(1)\n / \\ /\n / \\ /\n / \\ /\n (4)-----(3)" + ], + "type": "string" + }, + "vertexOffsets": { + "$ref": "Vertex2DList", + "description": "The vertices present in the polygon defining the area." + }, + "zOrder": { + "description": "The z-ordering of this area. Areas with a lower z-order should be rendered\nbeneath areas with a higher z-order. This z-ordering does not imply\nanything about the altitude of the line relative to the ground, but it\ncan be used to prevent z-fighting during rendering on the client. This\nz-ordering can only be used to compare areas, and cannot be compared with\nthe z_order field in the Line message.\n\nThe z-order may be negative or zero.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ExtrudedArea": { + "description": "Represents a height-extruded area: a 3D prism with a constant X-Y plane cross\nsection. Used to represent extruded buildings. A single building may consist\nof several extruded areas.\n\nThe min_z and max_z fields are scaled to the size of the tile. An extruded\narea with a max_z value of 4096 has the same height as the width of the tile\nthat it is on.", + "id": "ExtrudedArea", + "properties": { + "area": { + "$ref": "Area", + "description": "The area representing the footprint of the extruded area." + }, + "maxZ": { + "description": "The z-value in local tile coordinates where the extruded area ends.", + "format": "int32", + "type": "integer" + }, + "minZ": { + "description": "The z-value in local tile coordinates where the extruded area begins. This\nis non-zero for extruded areas that begin off the ground. For example, a\nbuilding with a skybridge may have an extruded area component with a\nnon-zero min_z.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Feature": { + "description": "A feature representing a single geographic entity.", + "id": "Feature", + "properties": { + "displayName": { + "description": "The localized name of this feature. Currently only returned for roads.", + "type": "string" + }, + "geometry": { + "$ref": "Geometry", + "description": "The geometry of this feature, representing the space that it occupies in\nthe world." + }, + "placeId": { + "description": "Place ID of this feature, suitable for use in Places API details\nrequests.", + "type": "string" + }, + "relations": { + "description": "Relations to other features.", + "items": { + "$ref": "Relation" + }, + "type": "array" + }, + "segmentInfo": { + "$ref": "SegmentInfo", + "description": "Metadata for features with the SEGMENT FeatureType." + }, + "type": { + "description": "The type of this feature.", + "enum": [ + "FEATURE_TYPE_UNSPECIFIED", + "STRUCTURE", + "BAR", + "BANK", + "LODGING", + "CAFE", + "RESTAURANT", + "EVENT_VENUE", + "TOURIST_DESTINATION", + "SHOPPING", + "SCHOOL", + "SEGMENT", + "ROAD", + "LOCAL_ROAD", + "ARTERIAL_ROAD", + "HIGHWAY", + "CONTROLLED_ACCESS_HIGHWAY", + "FOOTPATH", + "RAIL", + "FERRY", + "REGION", + "PARK", + "BEACH", + "FOREST", + "POLITICAL", + "ADMINISTRATIVE_AREA1", + "LOCALITY", + "SUBLOCALITY", + "WATER" + ], + "enumDescriptions": [ + "Unknown feature type.", + "Structures such as buildings and bridges.", + "A business serving alcoholic drinks to be consumed onsite.", + "A financial institution that offers services to the general public.", + "A place that provides any type of lodging for travelers.", + "A business that sells coffee, tea, and sometimes small meals.", + "A business that prepares meals on-site for service to customers.", + "A venue for private and public events.", + "Place of interest to tourists, typically for natural or cultural value.", + "A structure containing a business or businesses that sell goods.", + "Institution where young people receive general (not vocation or\nprofessional) education.", + "Segments such as roads and train lines.", + "A way leading from one place to another intended for use by vehicles.", + "A small city street, typically for travel in a residential neighborhood.", + "Major through road that's expected to carry large volumes of traffic.", + "A major road including freeways and state highways.", + "A highway with grade-separated crossings that is accessed exclusively by\nramps. These are usually called \"freeways\" or \"motorways\".\n\nThe enable_detailed_highway_types request flag must be set in order for\nthis type to be returned.", + "A path that's primarily intended for use by pedestrians and/or cyclists.", + "Tracks intended for use by trains.", + "Services which are part of the road network but are not roads.", + "Non-water areas such as parks and forest.", + "Outdoor areas such as parks and botanical gardens.", + "A pebbly or sandy shore along the edge of a sea or lake.", + "Area of land covered by trees.", + "Political entities, such as provinces and districts.", + "Top-level divisions within a country, such as prefectures or states.", + "Cities, towns, and other municipalities.", + "Divisions within a locality like a borough or ward.", + "Water features such as rivers and lakes." + ], + "type": "string" + } + }, + "type": "object" + }, + "FeatureTile": { + "description": "A tile containing information about the map features located in the region it\ncovers.", + "id": "FeatureTile", + "properties": { + "coordinates": { + "$ref": "TileCoordinates", + "description": "The global tile coordinates that uniquely identify this tile." + }, + "features": { + "description": "Features present on this map tile.", + "items": { + "$ref": "Feature" + }, + "type": "array" + }, + "name": { + "description": "Resource name of the tile. The tile resource name is prefixed by its\ncollection ID `tiles/` followed by the resource ID, which encodes the\ntile's global x and y coordinates and zoom level as `@,,z`. For\nexample, `tiles/@1,2,3z`.", + "type": "string" + }, + "providers": { + "description": "Data providers for the data contained in this tile.", + "items": { + "$ref": "ProviderInfo" + }, + "type": "array" + }, + "status": { + "description": "Tile response status code to support tile caching.", + "enum": [ + "STATUS_OK", + "STATUS_OK_DATA_UNCHANGED" + ], + "enumDescriptions": [ + "Everything worked out OK. The cache-control header determines how long\nthis Tile response may be cached by the client. See also version_id and\nSTATUS_OK_DATA_UNCHANGED.", + "Indicates that the request was processed successfully and that the tile\ndata that would have been returned are identical to the data already in\nthe client's cache, as specified by the value of client_tile_version_id\ncontained in GetFeatureTileRequest.\n\nIn particular, the tile's features and providers will not be populated\nwhen the tile data is identical. However, the cache-control header and\nversion_id can still change even when the tile contents itself does not,\nso clients should always use the most recent values returned by the API." + ], + "type": "string" + }, + "versionId": { + "description": "An opaque value, usually less than 30 characters, that contains version\ninfo about this tile and the data that was used to generate it.\n\nThe client should store this value in its tile cache and pass it back to\nthe API in the client_tile_version_id field of subsequent tile requests in\norder to enable the API to detect when the new tile would be the same as\nthe one the client already has in its cache.\n\nAlso see STATUS_OK_DATA_UNCHANGED.", + "type": "string" + } + }, + "type": "object" + }, + "FirstDerivativeElevationGrid": { + "description": "A packed representation of a 2D grid of uniformly spaced points containing\nelevation data. Each point within the grid represents the altitude in\nmeters above average sea level at that location within the tile.\n\nElevations provided are (generally) relative to the EGM96 geoid, however\nsome areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more\nthan 2 meters.\n\nThe grid is oriented north-west to south-east, as illustrated:\n\n rows[0].a[0] rows[0].a[m]\n +-----------------+\n | |\n | N |\n | ^ |\n | | |\n | W <-----> E |\n | | |\n | v |\n | S |\n | |\n +-----------------+\n rows[n].a[0] rows[n].a[m]\n\nRather than storing the altitudes directly, we store the diffs between them\nas integers at some requested level of precision to take advantage of\ninteger packing. The actual altitude values a[] can be reconstructed using\nthe scale and each row's first_altitude and altitude_diff fields.", + "id": "FirstDerivativeElevationGrid", + "properties": { + "altitudeMultiplier": { + "description": "A multiplier applied to the altitude fields below to extract the actual\naltitudes in meters from the elevation grid.", + "format": "float", + "type": "number" + }, + "rows": { + "description": "Rows of points containing altitude data making up the elevation grid.\nEach row is the same length. Rows are ordered from north to south. E.g:\nrows[0] is the north-most row, and rows[n] is the south-most row.", + "items": { + "$ref": "Row" + }, + "type": "array" + } + }, + "type": "object" + }, + "Geometry": { + "description": "Represents the geometry of a feature, that is, the shape that it has on the\nmap. The local tile coordinate system has the origin at the north-west\n(upper-left) corner of the tile, and is scaled to 4096 units across each\nedge. The height (Z) axis has the same scale factor: an extruded area with a\nmax_z value of 4096 has the same height as the width of the tile that it is\non.\n\nThere is no clipping boundary, so it is possible that some coordinates will\nlie outside the tile boundaries.", + "id": "Geometry", + "properties": { + "areas": { + "description": "The areas present in this geometry.", + "items": { + "$ref": "Area" + }, + "type": "array" + }, + "extrudedAreas": { + "description": "The extruded areas present in this geometry.", + "items": { + "$ref": "ExtrudedArea" + }, + "type": "array" + }, + "lines": { + "description": "The lines present in this geometry.", + "items": { + "$ref": "Line" + }, + "type": "array" + }, + "modeledVolumes": { + "description": "The modeled volumes present in this geometry.", + "items": { + "$ref": "ModeledVolume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Line": { + "description": "Represents a 2D polyline. Used to represent segments such as roads, train\ntracks, etc.", + "id": "Line", + "properties": { + "vertexOffsets": { + "$ref": "Vertex2DList", + "description": "The vertices present in the polyline." + }, + "zOrder": { + "description": "The z-order of the line. Lines with a lower z-order should be rendered\nbeneath lines with a higher z-order. This z-ordering does not imply\nanything about the altitude of the area relative to the ground, but it\ncan be used to prevent z-fighting during rendering on the client. In\ngeneral, larger and more important road features will have a higher z-order\nline associated with them. This z-ordering can only be used to compare\nlines, and cannot be compared with the z_order field in the Area message.\n\nThe z-order may be negative or zero.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ModeledVolume": { + "description": "Represents a modeled volume in 3D space. Used to represent 3D buildings.", + "id": "ModeledVolume", + "properties": { + "strips": { + "description": "The triangle strips present in this mesh.", + "items": { + "$ref": "TriangleStrip" + }, + "type": "array" + }, + "vertexOffsets": { + "$ref": "Vertex3DList", + "description": "The vertices present in the mesh defining the modeled volume." + } + }, + "type": "object" + }, + "ProviderInfo": { + "description": "Information about the data providers that should be included in the\nattribution string shown by the client.", + "id": "ProviderInfo", + "properties": { + "description": { + "description": "Attribution string for this provider. This string is not localized.", + "type": "string" + } + }, + "type": "object" + }, + "Relation": { + "description": "Represents a relation to another feature in the tile. For example, a building\nmight be occupied by a given POI. The related feature can be retrieved using\nthe related feature index.", + "id": "Relation", + "properties": { + "relatedFeatureIndex": { + "description": "Zero-based index to look up the related feature from the list of features\nin the tile.", + "format": "int32", + "type": "integer" + }, + "relationType": { + "description": "Relation type between the origin feature to the related feature.", + "enum": [ + "RELATION_TYPE_UNSPECIFIED", + "OCCUPIES", + "PRIMARILY_OCCUPIED_BY" + ], + "enumDescriptions": [ + "Unspecified relation type. Should never happen.", + "The origin feature occupies the related feature.", + "The origin feature is primarily occupied by the related feature." + ], + "type": "string" + } + }, + "type": "object" + }, + "RoadInfo": { + "description": "Extra metadata relating to roads.", + "id": "RoadInfo", + "properties": { + "isPrivate": { + "description": "Road has signage discouraging or prohibiting use by the general public.\nE.g., roads with signs that say \"Private\", or \"No trespassing.\"", + "type": "boolean" + } + }, + "type": "object" + }, + "Row": { + "description": "A row of altitude points in the elevation grid, ordered from west to\neast.", + "id": "Row", + "properties": { + "altitudeDiffs": { + "description": "The difference between each successive pair of altitudes, from west to\neast. The first, westmost point, is just the altitude rather than a\ndiff. The units are specified by the altitude_multiplier parameter\nabove; the value in meters is given by altitude_multiplier *\naltitude_diffs[n]. The altitude row (in metres above sea level) can be\nreconstructed with: a[0] = altitude_diffs[0] * altitude_multiplier when\nn > 0, a[n] = a[n-1] + altitude_diffs[n-1] * altitude_multiplier.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "SecondDerivativeElevationGrid": { + "description": "A packed representation of a 2D grid of uniformly spaced points containing\nelevation data. Each point within the grid represents the altitude in\nmeters above average sea level at that location within the tile.\n\nElevations provided are (generally) relative to the EGM96 geoid, however\nsome areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more\nthan 2 meters.\n\nThe grid is oriented north-west to south-east, as illustrated:\n\n rows[0].a[0] rows[0].a[m]\n +-----------------+\n | |\n | N |\n | ^ |\n | | |\n | W <-----> E |\n | | |\n | v |\n | S |\n | |\n +-----------------+\n rows[n].a[0] rows[n].a[m]\n\nRather than storing the altitudes directly, we store the diffs of the diffs\nbetween them as integers at some requested level of precision to take\nadvantage of integer packing.\n\nNote that the data is packed in such a way that is fast to decode in\nUnity and that further optimizes wire size.", + "id": "SecondDerivativeElevationGrid", + "properties": { + "altitudeMultiplier": { + "description": "A multiplier applied to the elements in the encoded data to extract the\nactual altitudes in meters.", + "format": "float", + "type": "number" + }, + "columnCount": { + "description": "The number of columns included in the encoded elevation data (i.e. the\nhorizontal resolution of the grid).", + "format": "int32", + "type": "integer" + }, + "encodedData": { + "description": "A stream of elements each representing a point on the tile running across\neach row from left to right, top to bottom.\n\nThere will be precisely horizontal_resolution * vertical_resolution\nelements in the stream.\n\nThe elements are not the heights, rather the second order derivative of\nthe values one would expect in a stream of height data.\n\nEach element is a varint with the following encoding:\n------------------------------------------------------------------------|\n| Head Nibble |\n------------------------------------------------------------------------|\n| Bit 0 | Bit 1 | Bits 2-3 |\n| Terminator| Sign (1=neg) | Least significant 2 bits of absolute error |\n------------------------------------------------------------------------|\n| Tail Nibble #1 |\n------------------------------------------------------------------------|\n| Bit 0 | Bit 1-3 |\n| Terminator| Least significant 3 bits of absolute error |\n------------------------------------------------------------------------|\n| ...\n| Tail Nibble #n |\n------------------------------------------------------------------------|\n| Bit 0 | Bit 1-3 |\n| Terminator| Least significant 3 bits of absolute error |\n------------------------------------------------------------------------|", + "format": "byte", + "type": "string" + }, + "rowCount": { + "description": "The number of rows included in the encoded elevation data (i.e. the\nvertical resolution of the grid).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SegmentInfo": { + "description": "Extra metadata relating to segments.", + "id": "SegmentInfo", + "properties": { + "roadInfo": { + "$ref": "RoadInfo", + "description": "Metadata for features with the ROAD FeatureType." + } + }, + "type": "object" + }, + "TerrainTile": { + "description": "A tile containing information about the terrain located in the region it\ncovers.", + "id": "TerrainTile", + "properties": { + "coordinates": { + "$ref": "TileCoordinates", + "description": "The global tile coordinates that uniquely identify this tile." + }, + "firstDerivative": { + "$ref": "FirstDerivativeElevationGrid", + "description": "Terrain elevation data encoded as a FirstDerivativeElevationGrid." + }, + "name": { + "description": "Resource name of the tile. The tile resource name is prefixed by its\ncollection ID `terrain/` followed by the resource ID, which encodes the\ntile's global x and y coordinates and zoom level as `@,,z`.\nFor example, `terrain/@1,2,3z`.", + "type": "string" + }, + "secondDerivative": { + "$ref": "SecondDerivativeElevationGrid", + "description": "Terrain elevation data encoded as a SecondDerivativeElevationGrid.\n." + } + }, + "type": "object" + }, + "TileCoordinates": { + "description": "Global tile coordinates. Global tile coordinates reference a specific tile on\nthe map at a specific zoom level.\n\nThe origin of this coordinate system is always at the northwest corner of the\nmap, with x values increasing from west to east and y values increasing from\nnorth to south. Tiles are indexed using x, y coordinates from that origin.\nThe zoom level containing the entire world in a tile is 0, and it increases\nas you zoom in. Zoom level n + 1 will contain 4 times as many tiles as zoom\nlevel n.\n\nThe zoom level controls the level of detail of the data that is returned. In\nparticular, this affects the set of feature types returned, their density,\nand geometry simplification. The exact tile contents may change over time,\nbut care will be taken to keep supporting the most important use cases. For\nexample, zoom level 15 shows roads for orientation and planning in the local\nneighborhood and zoom level 17 shows buildings to give users on foot a sense\nof situational awareness.", + "id": "TileCoordinates", + "properties": { + "x": { + "description": "Required. The x coordinate.", + "format": "int32", + "type": "integer" + }, + "y": { + "description": "Required. The y coordinate.", + "format": "int32", + "type": "integer" + }, + "zoom": { + "description": "Required. The Google Maps API zoom level.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TriangleStrip": { + "description": "Represents a strip of triangles. Each triangle uses the last edge of the\nprevious one. The following diagram shows an example of a triangle strip,\nwith each vertex labeled with its index in the vertex_index array.\n\n (1)-----(3)\n / \\ / \\\n / \\ / \\\n / \\ / \\\n (0)-----(2)-----(4)\n\nVertices may be in either clockwise or counter-clockwise order.", + "id": "TriangleStrip", + "properties": { + "vertexIndices": { + "description": "Index into the vertex_offset array representing the next vertex in the\ntriangle strip.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "Vertex2DList": { + "description": "2D vertex list used for lines and areas. Each entry represents an offset from\nthe previous one in local tile coordinates. The first entry is offset from\n(0, 0).\n\nFor example, the list of vertices [(1,1), (2, 2), (1, 2)] would be encoded\nin vertex offsets as [(1, 1), (1, 1), (-1, 0)].", + "id": "Vertex2DList", + "properties": { + "xOffsets": { + "description": "List of x-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "yOffsets": { + "description": "List of y-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "Vertex3DList": { + "description": "3D vertex list used for modeled volumes. Each entry represents an offset from\nthe previous one in local tile coordinates. The first coordinate is offset\nfrom (0, 0, 0).", + "id": "Vertex3DList", + "properties": { + "xOffsets": { + "description": "List of x-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "yOffsets": { + "description": "List of y-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "zOffsets": { + "description": "List of z-offsets in local tile coordinates.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Semantic Tile API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/verifiedaccess/v1/verifiedaccess-api.json b/etc/api/verifiedaccess/v1/verifiedaccess-api.json index b20b1e37b8..5dffe806c7 100644 --- a/etc/api/verifiedaccess/v1/verifiedaccess-api.json +++ b/etc/api/verifiedaccess/v1/verifiedaccess-api.json @@ -14,7 +14,7 @@ "canonicalName": "verifiedaccess", "description": "API for Verified Access chrome extension to provide credential verification for chrome devices connecting to an enterprise network", "discoveryVersion": "v1", - "documentationLink": "https://www.google.com/work/chrome/", + "documentationLink": "https://developers.google.com/chrome/verified-access", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -22,6 +22,7 @@ }, "id": "verifiedaccess:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://verifiedaccess.mtls.googleapis.com/", "name": "verifiedaccess", "ownerDomain": "google.com", "ownerName": "Google", @@ -145,7 +146,7 @@ } } }, - "revision": "20190718", + "revision": "20200512", "rootUrl": "https://verifiedaccess.googleapis.com/", "schemas": { "Challenge": { @@ -226,7 +227,7 @@ } }, "servicePath": "", - "title": "Verified Access API", + "title": "Chrome Verified Access API", "version": "v1", "version_module": true } \ No newline at end of file diff --git a/etc/api/videointelligence/v1/videointelligence-api.json b/etc/api/videointelligence/v1/videointelligence-api.json index 96d86a4e6d..87cfa6e14b 100644 --- a/etc/api/videointelligence/v1/videointelligence-api.json +++ b/etc/api/videointelligence/v1/videointelligence-api.json @@ -200,6 +200,39 @@ "resources": { "locations": { "resources": { + "corpura": { + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/corpura/{corpuraId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "videointelligence.projects.locations.corpura.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/corpura/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunning_Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "operations": { "methods": { "cancel": { @@ -350,7 +383,7 @@ } } }, - "revision": "20200325", + "revision": "20200706", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -399,20 +432,20 @@ "type": "array" }, "inputContent": { - "description": "The video data bytes.\nIf unset, the input video(s) should be specified via `input_uri`.\nIf set, `input_uri` should be unset.", + "description": "The video data bytes.\nIf unset, the input video(s) should be specified via the `input_uri`.\nIf set, `input_uri` must be unset.", "format": "byte", "type": "string" }, "inputUri": { - "description": "Input video location. Currently, only\n[Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", + "description": "Input video location. Currently, only\n[Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported. URIs must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).\nTo identify multiple videos, a video URI may include wildcards in the\n`object-id`. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` must be unset.", "type": "string" }, "locationId": { - "description": "Optional. Cloud region where annotation should take place. Supported cloud\nregions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region\nis specified, a region will be determined based on video file location.", + "description": "Optional. Cloud region where annotation should take place. Supported cloud\nregions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no\nregion is specified, the region will be determined based on video file\nlocation.", "type": "string" }, "outputUri": { - "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", + "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported. These must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", "type": "string" }, "videoContext": { @@ -446,7 +479,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -466,7 +499,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -481,7 +514,7 @@ "id": "GoogleCloudVideointelligenceV1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -505,6 +538,10 @@ "$ref": "GoogleCloudVideointelligenceV1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -557,7 +594,7 @@ "id": "GoogleCloudVideointelligenceV1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1_Entity" }, @@ -580,6 +617,10 @@ "$ref": "GoogleCloudVideointelligenceV1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -589,7 +630,7 @@ "id": "GoogleCloudVideointelligenceV1_LabelDetectionConfig", "properties": { "frameConfidenceThreshold": { - "description": "The confidence threshold we perform filtering on the labels from\nframe-level detection. If not set, it is set to 0.4 by default. The valid\nrange for this threshold is [0.1, 0.9]. Any value set outside of this\nrange will be clipped.\nNote: for best results please follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", + "description": "The confidence threshold we perform filtering on the labels from\nframe-level detection. If not set, it is set to 0.4 by default. The valid\nrange for this threshold is [0.1, 0.9]. Any value set outside of this\nrange will be clipped.\nNote: For best results, follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", "format": "float", "type": "number" }, @@ -614,11 +655,11 @@ "type": "string" }, "stationaryCamera": { - "description": "Whether the video has been shot from a stationary (i.e. non-moving) camera.\nWhen set to true, might improve detection accuracy for moving objects.\nShould be used with `SHOT_AND_FRAME_MODE` enabled.", + "description": "Whether the video has been shot from a stationary (i.e., non-moving)\ncamera. When set to true, might improve detection accuracy for moving\nobjects. Should be used with `SHOT_AND_FRAME_MODE` enabled.", "type": "boolean" }, "videoConfidenceThreshold": { - "description": "The confidence threshold we perform filtering on the labels from\nvideo-level and shot-level detections. If not set, it is set to 0.3 by\ndefault. The valid range for this threshold is [0.1, 0.9]. Any value set\noutside of this range will be clipped.\nNote: for best results please follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", + "description": "The confidence threshold we perform filtering on the labels from\nvideo-level and shot-level detections. If not set, it's set to 0.3 by\ndefault. The valid range for this threshold is [0.1, 0.9]. Any value set\noutside of this range will be clipped.\nNote: For best results, follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", "format": "float", "type": "number" } @@ -769,6 +810,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -839,7 +884,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1_WordInfo" }, @@ -888,7 +933,7 @@ "type": "boolean" }, "enableSpeakerDiarization": { - "description": "Optional. If 'true', enables speaker detection for each recognized word in\nthe top alternative of the recognition result using a speaker_tag provided\nin the WordInfo.\nNote: When this is true, we send all the words from the beginning of the\naudio for the top alternative in every consecutive responses.\nThis is done in order to improve our speaker tags as our models learn to\nidentify the speakers in the conversation over time.", + "description": "Optional. If 'true', enables speaker detection for each recognized word in\nthe top alternative of the recognition result using a speaker_tag provided\nin the WordInfo.\nNote: When this is true, we send all the words from the beginning of the\naudio for the top alternative in every consecutive response.\nThis is done in order to improve our speaker tags as our models learn to\nidentify the speakers in the conversation over time.", "type": "boolean" }, "enableWordConfidence": { @@ -932,6 +977,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1058,7 +1107,7 @@ "id": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -1092,7 +1141,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -1149,14 +1198,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" }, @@ -1324,7 +1373,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -1344,7 +1393,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -1359,7 +1408,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -1383,6 +1432,10 @@ "$ref": "GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1424,7 +1477,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_Entity" }, @@ -1447,6 +1500,10 @@ "$ref": "GoogleCloudVideointelligenceV1beta2_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1595,6 +1652,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1629,7 +1690,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_WordInfo" }, @@ -1670,6 +1731,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1778,7 +1843,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -1812,7 +1877,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -1869,14 +1934,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" }, @@ -2006,7 +2071,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -2026,7 +2091,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -2041,7 +2106,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -2065,6 +2130,10 @@ "$ref": "GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2106,7 +2175,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity" }, @@ -2129,6 +2198,10 @@ "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2277,6 +2350,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2311,7 +2388,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_WordInfo" }, @@ -2352,6 +2429,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2460,7 +2541,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -2494,7 +2575,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -2551,14 +2632,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" }, @@ -2688,7 +2769,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -2708,7 +2789,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -2723,7 +2804,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -2747,6 +2828,10 @@ "$ref": "GoogleCloudVideointelligenceV1p2beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2788,7 +2873,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity" }, @@ -2811,6 +2896,10 @@ "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2959,6 +3048,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2993,7 +3086,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_WordInfo" }, @@ -3034,6 +3127,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3142,7 +3239,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -3176,7 +3273,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -3233,14 +3330,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" }, @@ -3389,6 +3486,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_CelebrityTrack" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3421,7 +3522,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -3441,7 +3542,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -3456,7 +3557,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -3480,6 +3581,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3531,6 +3636,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3540,7 +3649,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_Entity" }, @@ -3563,6 +3672,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3711,6 +3824,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3736,11 +3853,15 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation", "properties": { "tracks": { - "description": "The trackes that a person is detected.", + "description": "The detected tracks of a person.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3775,7 +3896,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_WordInfo" }, @@ -3811,7 +3932,7 @@ "description": "Streaming annotation results." }, "annotationResultsUri": { - "description": "Cloud Storage URI that stores annotation results of one streaming session.\nIt is a directory that can hold multiple files in JSON format.\nExample uri format:\ngs://bucket_id/object_id/cloud_project_name-session_id", + "description": "Google Cloud Storage URI that stores annotation results of one\nstreaming session in JSON format.\nIt is the annotation_result_storage_directory\nfrom the request followed by '/cloud_project_number-session_id'.", "type": "string" }, "error": { @@ -3867,6 +3988,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3975,7 +4100,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -4015,7 +4140,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -4090,14 +4215,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" }, diff --git a/etc/api/videointelligence/v1beta2/videointelligence-api.json b/etc/api/videointelligence/v1beta2/videointelligence-api.json index 3e48571f45..9649ff6100 100644 --- a/etc/api/videointelligence/v1beta2/videointelligence-api.json +++ b/etc/api/videointelligence/v1beta2/videointelligence-api.json @@ -128,7 +128,7 @@ } } }, - "revision": "20200325", + "revision": "20200706", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -169,7 +169,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -189,7 +189,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -204,7 +204,7 @@ "id": "GoogleCloudVideointelligenceV1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -228,6 +228,10 @@ "$ref": "GoogleCloudVideointelligenceV1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -269,7 +273,7 @@ "id": "GoogleCloudVideointelligenceV1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1_Entity" }, @@ -292,6 +296,10 @@ "$ref": "GoogleCloudVideointelligenceV1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -440,6 +448,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -474,7 +486,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1_WordInfo" }, @@ -515,6 +527,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -623,7 +639,7 @@ "id": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -657,7 +673,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -714,14 +730,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" }, @@ -859,20 +875,20 @@ "type": "array" }, "inputContent": { - "description": "The video data bytes.\nIf unset, the input video(s) should be specified via `input_uri`.\nIf set, `input_uri` should be unset.", + "description": "The video data bytes.\nIf unset, the input video(s) should be specified via the `input_uri`.\nIf set, `input_uri` must be unset.", "format": "byte", "type": "string" }, "inputUri": { - "description": "Input video location. Currently, only\n[Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", + "description": "Input video location. Currently, only\n[Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported. URIs must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).\nTo identify multiple videos, a video URI may include wildcards in the\n`object-id`. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` must be unset.", "type": "string" }, "locationId": { - "description": "Optional. Cloud region where annotation should take place. Supported cloud\nregions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region\nis specified, a region will be determined based on video file location.", + "description": "Optional. Cloud region where annotation should take place. Supported cloud\nregions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no\nregion is specified, the region will be determined based on video file\nlocation.", "type": "string" }, "outputUri": { - "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", + "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported. These must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", "type": "string" }, "videoContext": { @@ -906,7 +922,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -926,7 +942,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -941,7 +957,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -965,6 +981,10 @@ "$ref": "GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1017,7 +1037,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_Entity" }, @@ -1040,6 +1060,10 @@ "$ref": "GoogleCloudVideointelligenceV1beta2_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1049,7 +1073,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_LabelDetectionConfig", "properties": { "frameConfidenceThreshold": { - "description": "The confidence threshold we perform filtering on the labels from\nframe-level detection. If not set, it is set to 0.4 by default. The valid\nrange for this threshold is [0.1, 0.9]. Any value set outside of this\nrange will be clipped.\nNote: for best results please follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", + "description": "The confidence threshold we perform filtering on the labels from\nframe-level detection. If not set, it is set to 0.4 by default. The valid\nrange for this threshold is [0.1, 0.9]. Any value set outside of this\nrange will be clipped.\nNote: For best results, follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", "format": "float", "type": "number" }, @@ -1074,11 +1098,11 @@ "type": "string" }, "stationaryCamera": { - "description": "Whether the video has been shot from a stationary (i.e. non-moving) camera.\nWhen set to true, might improve detection accuracy for moving objects.\nShould be used with `SHOT_AND_FRAME_MODE` enabled.", + "description": "Whether the video has been shot from a stationary (i.e., non-moving)\ncamera. When set to true, might improve detection accuracy for moving\nobjects. Should be used with `SHOT_AND_FRAME_MODE` enabled.", "type": "boolean" }, "videoConfidenceThreshold": { - "description": "The confidence threshold we perform filtering on the labels from\nvideo-level and shot-level detections. If not set, it is set to 0.3 by\ndefault. The valid range for this threshold is [0.1, 0.9]. Any value set\noutside of this range will be clipped.\nNote: for best results please follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", + "description": "The confidence threshold we perform filtering on the labels from\nvideo-level and shot-level detections. If not set, it's set to 0.3 by\ndefault. The valid range for this threshold is [0.1, 0.9]. Any value set\noutside of this range will be clipped.\nNote: For best results, follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", "format": "float", "type": "number" } @@ -1229,6 +1253,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1299,7 +1327,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_WordInfo" }, @@ -1348,7 +1376,7 @@ "type": "boolean" }, "enableSpeakerDiarization": { - "description": "Optional. If 'true', enables speaker detection for each recognized word in\nthe top alternative of the recognition result using a speaker_tag provided\nin the WordInfo.\nNote: When this is true, we send all the words from the beginning of the\naudio for the top alternative in every consecutive responses.\nThis is done in order to improve our speaker tags as our models learn to\nidentify the speakers in the conversation over time.", + "description": "Optional. If 'true', enables speaker detection for each recognized word in\nthe top alternative of the recognition result using a speaker_tag provided\nin the WordInfo.\nNote: When this is true, we send all the words from the beginning of the\naudio for the top alternative in every consecutive response.\nThis is done in order to improve our speaker tags as our models learn to\nidentify the speakers in the conversation over time.", "type": "boolean" }, "enableWordConfidence": { @@ -1392,6 +1420,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1518,7 +1550,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -1552,7 +1584,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -1609,14 +1641,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" }, @@ -1784,7 +1816,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -1804,7 +1836,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -1819,7 +1851,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -1843,6 +1875,10 @@ "$ref": "GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1884,7 +1920,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity" }, @@ -1907,6 +1943,10 @@ "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2055,6 +2095,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2089,7 +2133,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_WordInfo" }, @@ -2130,6 +2174,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2238,7 +2286,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -2272,7 +2320,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -2329,14 +2377,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" }, @@ -2466,7 +2514,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -2486,7 +2534,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -2501,7 +2549,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -2525,6 +2573,10 @@ "$ref": "GoogleCloudVideointelligenceV1p2beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2566,7 +2618,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity" }, @@ -2589,6 +2641,10 @@ "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2737,6 +2793,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2771,7 +2831,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_WordInfo" }, @@ -2812,6 +2872,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2920,7 +2984,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -2954,7 +3018,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -3011,14 +3075,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" }, @@ -3167,6 +3231,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_CelebrityTrack" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3199,7 +3267,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -3219,7 +3287,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -3234,7 +3302,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -3258,6 +3326,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3309,6 +3381,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3318,7 +3394,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_Entity" }, @@ -3341,6 +3417,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3489,6 +3569,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3514,11 +3598,15 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation", "properties": { "tracks": { - "description": "The trackes that a person is detected.", + "description": "The detected tracks of a person.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3553,7 +3641,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_WordInfo" }, @@ -3589,7 +3677,7 @@ "description": "Streaming annotation results." }, "annotationResultsUri": { - "description": "Cloud Storage URI that stores annotation results of one streaming session.\nIt is a directory that can hold multiple files in JSON format.\nExample uri format:\ngs://bucket_id/object_id/cloud_project_name-session_id", + "description": "Google Cloud Storage URI that stores annotation results of one\nstreaming session in JSON format.\nIt is the annotation_result_storage_directory\nfrom the request followed by '/cloud_project_number-session_id'.", "type": "string" }, "error": { @@ -3645,6 +3733,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3753,7 +3845,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -3793,7 +3885,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -3868,14 +3960,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" }, diff --git a/etc/api/videointelligence/v1p1beta1/videointelligence-api.json b/etc/api/videointelligence/v1p1beta1/videointelligence-api.json index d6c967ef05..11f1880042 100644 --- a/etc/api/videointelligence/v1p1beta1/videointelligence-api.json +++ b/etc/api/videointelligence/v1p1beta1/videointelligence-api.json @@ -22,7 +22,6 @@ }, "id": "videointelligence:v1p1beta1", "kind": "discovery#restDescription", - "mtlsRootUrl": "https://videointelligence.mtls.googleapis.com/", "name": "videointelligence", "ownerDomain": "google.com", "ownerName": "Google", @@ -128,7 +127,7 @@ } } }, - "revision": "20200325", + "revision": "20191230", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -159,46 +158,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1_DetectedAttribute": { - "description": "A generic detected attribute represented by name in string format.", - "id": "GoogleCloudVideointelligenceV1_DetectedAttribute", - "properties": { - "confidence": { - "description": "Detected attribute confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", - "type": "string" - }, - "value": { - "description": "Text value of the detection result. For example, the value for \"HairColor\"\ncan be \"black\", \"blonde\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1_Entity", @@ -329,31 +288,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation": { - "description": "Annotation corresponding to one detected, tracked and recognized logo class.", - "id": "GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation", - "properties": { - "entity": { - "$ref": "GoogleCloudVideointelligenceV1_Entity", - "description": "Entity category information to specify the logo class that all the logo\ntracks within this LogoRecognitionAnnotation are recognized as." - }, - "segments": { - "description": "All video segments where the recognized logo appears. There might be\nmultiple instances of the same logo class appearing in one VideoSegment.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_VideoSegment" - }, - "type": "array" - }, - "tracks": { - "description": "All logo tracks where the recognized logo appears. Each track corresponds\nto one logo instance appearing in consecutive frames.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1_NormalizedBoundingBox": { "description": "Normalized bounding box.\nThe normalized vertex coordinates are relative to the original image.\nRange: [0, 1].", "id": "GoogleCloudVideointelligenceV1_NormalizedBoundingBox", @@ -558,66 +492,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1_TimestampedObject": { - "description": "For tracking related features.\nAn object at time_offset with attributes, and located with\nnormalized_bounding_box.", - "id": "GoogleCloudVideointelligenceV1_TimestampedObject", - "properties": { - "attributes": { - "description": "Optional. The attributes of the object in the bounding box.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_DetectedAttribute" - }, - "type": "array" - }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_DetectedLandmark" - }, - "type": "array" - }, - "normalizedBoundingBox": { - "$ref": "GoogleCloudVideointelligenceV1_NormalizedBoundingBox", - "description": "Normalized Bounding box in a frame, where the object is located." - }, - "timeOffset": { - "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this object.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1_Track": { - "description": "A track of an object instance.", - "id": "GoogleCloudVideointelligenceV1_Track", - "properties": { - "attributes": { - "description": "Optional. Attributes in the track level.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_DetectedAttribute" - }, - "type": "array" - }, - "confidence": { - "description": "Optional. The confidence score of the tracked object.", - "format": "float", - "type": "number" - }, - "segment": { - "$ref": "GoogleCloudVideointelligenceV1_VideoSegment", - "description": "Video segment of a track." - }, - "timestampedObjects": { - "description": "The object with timestamp and attributes per frame in the track.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_TimestampedObject" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "id": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress", @@ -631,8 +505,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "enumDescriptions": [ "Unspecified.", @@ -641,13 +514,12 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -692,16 +564,9 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, - "logoRecognitionAnnotations": { - "description": "Annotations for list of logos detected, tracked and recognized in video.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation" - }, - "type": "array" - }, "objectAnnotations": { "description": "Annotations for list of objects detected and tracked in video.", "items": { @@ -841,46 +706,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1beta2_DetectedAttribute": { - "description": "A generic detected attribute represented by name in string format.", - "id": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute", - "properties": { - "confidence": { - "description": "Detected attribute confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", - "type": "string" - }, - "value": { - "description": "Text value of the detection result. For example, the value for \"HairColor\"\ncan be \"black\", \"blonde\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1beta2_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1beta2_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1beta2_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1beta2_Entity", @@ -1011,31 +836,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation": { - "description": "Annotation corresponding to one detected, tracked and recognized logo class.", - "id": "GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation", - "properties": { - "entity": { - "$ref": "GoogleCloudVideointelligenceV1beta2_Entity", - "description": "Entity category information to specify the logo class that all the logo\ntracks within this LogoRecognitionAnnotation are recognized as." - }, - "segments": { - "description": "All video segments where the recognized logo appears. There might be\nmultiple instances of the same logo class appearing in one VideoSegment.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment" - }, - "type": "array" - }, - "tracks": { - "description": "All logo tracks where the recognized logo appears. Each track corresponds\nto one logo instance appearing in consecutive frames.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox": { "description": "Normalized bounding box.\nThe normalized vertex coordinates are relative to the original image.\nRange: [0, 1].", "id": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox", @@ -1240,66 +1040,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1beta2_TimestampedObject": { - "description": "For tracking related features.\nAn object at time_offset with attributes, and located with\nnormalized_bounding_box.", - "id": "GoogleCloudVideointelligenceV1beta2_TimestampedObject", - "properties": { - "attributes": { - "description": "Optional. The attributes of the object in the bounding box.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute" - }, - "type": "array" - }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_DetectedLandmark" - }, - "type": "array" - }, - "normalizedBoundingBox": { - "$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox", - "description": "Normalized Bounding box in a frame, where the object is located." - }, - "timeOffset": { - "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this object.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1beta2_Track": { - "description": "A track of an object instance.", - "id": "GoogleCloudVideointelligenceV1beta2_Track", - "properties": { - "attributes": { - "description": "Optional. Attributes in the track level.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute" - }, - "type": "array" - }, - "confidence": { - "description": "Optional. The confidence score of the tracked object.", - "format": "float", - "type": "number" - }, - "segment": { - "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", - "description": "Video segment of a track." - }, - "timestampedObjects": { - "description": "The object with timestamp and attributes per frame in the track.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_TimestampedObject" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress", @@ -1313,8 +1053,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "enumDescriptions": [ "Unspecified.", @@ -1323,13 +1062,12 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -1374,16 +1112,9 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, - "logoRecognitionAnnotations": { - "description": "Annotations for list of logos detected, tracked and recognized in video.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation" - }, - "type": "array" - }, "objectAnnotations": { "description": "Annotations for list of objects detected and tracked in video.", "items": { @@ -1522,8 +1253,7 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "items": { "enum": [ @@ -1533,8 +1263,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "type": "string" }, @@ -1546,7 +1275,7 @@ "type": "string" }, "inputUri": { - "description": "Input video location. Currently, only\n[Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", + "description": "Input video location. Currently, only\n[Google Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](/storage/docs/reference-uris).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", "type": "string" }, "locationId": { @@ -1554,7 +1283,7 @@ "type": "string" }, "outputUri": { - "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", + "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Google Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](/storage/docs/reference-uris).", "type": "string" }, "videoContext": { @@ -1578,46 +1307,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute": { - "description": "A generic detected attribute represented by name in string format.", - "id": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute", - "properties": { - "confidence": { - "description": "Detected attribute confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", - "type": "string" - }, - "value": { - "description": "Text value of the detection result. For example, the value for \"HairColor\"\ncan be \"black\", \"blonde\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p1beta1_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1p1beta1_Entity", @@ -1800,31 +1489,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation": { - "description": "Annotation corresponding to one detected, tracked and recognized logo class.", - "id": "GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation", - "properties": { - "entity": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity", - "description": "Entity category information to specify the logo class that all the logo\ntracks within this LogoRecognitionAnnotation are recognized as." - }, - "segments": { - "description": "All video segments where the recognized logo appears. There might be\nmultiple instances of the same logo class appearing in one VideoSegment.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment" - }, - "type": "array" - }, - "tracks": { - "description": "All logo tracks where the recognized logo appears. Each track corresponds\nto one logo instance appearing in consecutive frames.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox": { "description": "Normalized bounding box.\nThe normalized vertex coordinates are relative to the original image.\nRange: [0, 1].", "id": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox", @@ -2135,66 +1799,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p1beta1_TimestampedObject": { - "description": "For tracking related features.\nAn object at time_offset with attributes, and located with\nnormalized_bounding_box.", - "id": "GoogleCloudVideointelligenceV1p1beta1_TimestampedObject", - "properties": { - "attributes": { - "description": "Optional. The attributes of the object in the bounding box.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute" - }, - "type": "array" - }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark" - }, - "type": "array" - }, - "normalizedBoundingBox": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox", - "description": "Normalized Bounding box in a frame, where the object is located." - }, - "timeOffset": { - "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this object.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1p1beta1_Track": { - "description": "A track of an object instance.", - "id": "GoogleCloudVideointelligenceV1p1beta1_Track", - "properties": { - "attributes": { - "description": "Optional. Attributes in the track level.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute" - }, - "type": "array" - }, - "confidence": { - "description": "Optional. The confidence score of the tracked object.", - "format": "float", - "type": "number" - }, - "segment": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", - "description": "Video segment of a track." - }, - "timestampedObjects": { - "description": "The object with timestamp and attributes per frame in the track.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_TimestampedObject" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "id": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress", @@ -2208,8 +1812,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "enumDescriptions": [ "Unspecified.", @@ -2218,13 +1821,12 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -2269,16 +1871,9 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, - "logoRecognitionAnnotations": { - "description": "Annotations for list of logos detected, tracked and recognized in video.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation" - }, - "type": "array" - }, "objectAnnotations": { "description": "Annotations for list of objects detected and tracked in video.", "items": { @@ -2456,46 +2051,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute": { - "description": "A generic detected attribute represented by name in string format.", - "id": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute", - "properties": { - "confidence": { - "description": "Detected attribute confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", - "type": "string" - }, - "value": { - "description": "Text value of the detection result. For example, the value for \"HairColor\"\ncan be \"black\", \"blonde\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p2beta1_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1p2beta1_Entity", @@ -2626,31 +2181,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation": { - "description": "Annotation corresponding to one detected, tracked and recognized logo class.", - "id": "GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation", - "properties": { - "entity": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity", - "description": "Entity category information to specify the logo class that all the logo\ntracks within this LogoRecognitionAnnotation are recognized as." - }, - "segments": { - "description": "All video segments where the recognized logo appears. There might be\nmultiple instances of the same logo class appearing in one VideoSegment.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment" - }, - "type": "array" - }, - "tracks": { - "description": "All logo tracks where the recognized logo appears. Each track corresponds\nto one logo instance appearing in consecutive frames.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox": { "description": "Normalized bounding box.\nThe normalized vertex coordinates are relative to the original image.\nRange: [0, 1].", "id": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox", @@ -2855,66 +2385,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p2beta1_TimestampedObject": { - "description": "For tracking related features.\nAn object at time_offset with attributes, and located with\nnormalized_bounding_box.", - "id": "GoogleCloudVideointelligenceV1p2beta1_TimestampedObject", - "properties": { - "attributes": { - "description": "Optional. The attributes of the object in the bounding box.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute" - }, - "type": "array" - }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark" - }, - "type": "array" - }, - "normalizedBoundingBox": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox", - "description": "Normalized Bounding box in a frame, where the object is located." - }, - "timeOffset": { - "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this object.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1p2beta1_Track": { - "description": "A track of an object instance.", - "id": "GoogleCloudVideointelligenceV1p2beta1_Track", - "properties": { - "attributes": { - "description": "Optional. Attributes in the track level.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute" - }, - "type": "array" - }, - "confidence": { - "description": "Optional. The confidence score of the tracked object.", - "format": "float", - "type": "number" - }, - "segment": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", - "description": "Video segment of a track." - }, - "timestampedObjects": { - "description": "The object with timestamp and attributes per frame in the track.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_TimestampedObject" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "id": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress", @@ -2928,8 +2398,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "enumDescriptions": [ "Unspecified.", @@ -2938,13 +2407,12 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -2989,16 +2457,9 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, - "logoRecognitionAnnotations": { - "description": "Annotations for list of logos detected, tracked and recognized in video.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation" - }, - "type": "array" - }, "objectAnnotations": { "description": "Annotations for list of objects detected and tracked in video.", "items": { @@ -3209,26 +2670,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p3beta1_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1p3beta1_Entity", @@ -3294,25 +2735,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation": { - "description": "Face detection annotation.", - "id": "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation", - "properties": { - "thumbnail": { - "description": "The thumbnail of a person's face.", - "format": "byte", - "type": "string" - }, - "tracks": { - "description": "The face tracks with attributes.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation": { "description": "Label annotation.", "id": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation", @@ -3509,20 +2931,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation": { - "description": "Person detection annotation per video.", - "id": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation", - "properties": { - "tracks": { - "description": "The trackes that a person is detected.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p3beta1_RecognizedCelebrity": { "description": "The recognized celebrity with confidence score.", "id": "GoogleCloudVideointelligenceV1p3beta1_RecognizedCelebrity", @@ -3589,7 +2997,7 @@ "description": "Streaming annotation results." }, "annotationResultsUri": { - "description": "Cloud Storage URI that stores annotation results of one streaming session.\nIt is a directory that can hold multiple files in JSON format.\nExample uri format:\ngs://bucket_id/object_id/cloud_project_name-session_id", + "description": "GCS URI that stores annotation results of one streaming session.\nIt is a directory that can hold multiple files in JSON format.\nExample uri format:\ngs://bucket_id/object_id/cloud_project_name-session_id", "type": "string" }, "error": { @@ -3699,13 +3107,6 @@ }, "type": "array" }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark" - }, - "type": "array" - }, "normalizedBoundingBox": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingBox", "description": "Normalized Bounding box in a frame, where the object is located." @@ -3759,31 +3160,27 @@ "LABEL_DETECTION", "SHOT_CHANGE_DETECTION", "EXPLICIT_CONTENT_DETECTION", - "FACE_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", "OBJECT_TRACKING", "LOGO_RECOGNITION", - "CELEBRITY_RECOGNITION", - "PERSON_DETECTION" + "CELEBRITY_RECOGNITION" ], "enumDescriptions": [ "Unspecified.", "Label detection. Detect objects, such as dog or flower.", "Shot change detection.", "Explicit content detection.", - "Human face detection.", "Speech transcription.", "OCR text detection and tracking.", "Object detection and tracking.", "Logo detection, tracking, and recognition.", - "Celebrity recognition.", - "Person detection." + "Celebrity recognition." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -3824,13 +3221,6 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentAnnotation", "description": "Explicit content annotation." }, - "faceDetectionAnnotations": { - "description": "Face detection annotations.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation" - }, - "type": "array" - }, "frameLabelAnnotations": { "description": "Label annotations on frame level.\nThere is exactly one element for each unique label.", "items": { @@ -3839,7 +3229,7 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "logoRecognitionAnnotations": { @@ -3856,13 +3246,6 @@ }, "type": "array" }, - "personDetectionAnnotations": { - "description": "Person detection annotations.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation" - }, - "type": "array" - }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", "description": "Video segment on which the annotation is run." diff --git a/etc/api/videointelligence/v1p2beta1/videointelligence-api.json b/etc/api/videointelligence/v1p2beta1/videointelligence-api.json index ad06f88dcc..60f08d6b81 100644 --- a/etc/api/videointelligence/v1p2beta1/videointelligence-api.json +++ b/etc/api/videointelligence/v1p2beta1/videointelligence-api.json @@ -22,7 +22,6 @@ }, "id": "videointelligence:v1p2beta1", "kind": "discovery#restDescription", - "mtlsRootUrl": "https://videointelligence.mtls.googleapis.com/", "name": "videointelligence", "ownerDomain": "google.com", "ownerName": "Google", @@ -128,7 +127,7 @@ } } }, - "revision": "20200325", + "revision": "20191230", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -159,46 +158,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1_DetectedAttribute": { - "description": "A generic detected attribute represented by name in string format.", - "id": "GoogleCloudVideointelligenceV1_DetectedAttribute", - "properties": { - "confidence": { - "description": "Detected attribute confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", - "type": "string" - }, - "value": { - "description": "Text value of the detection result. For example, the value for \"HairColor\"\ncan be \"black\", \"blonde\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1_Entity", @@ -329,31 +288,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation": { - "description": "Annotation corresponding to one detected, tracked and recognized logo class.", - "id": "GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation", - "properties": { - "entity": { - "$ref": "GoogleCloudVideointelligenceV1_Entity", - "description": "Entity category information to specify the logo class that all the logo\ntracks within this LogoRecognitionAnnotation are recognized as." - }, - "segments": { - "description": "All video segments where the recognized logo appears. There might be\nmultiple instances of the same logo class appearing in one VideoSegment.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_VideoSegment" - }, - "type": "array" - }, - "tracks": { - "description": "All logo tracks where the recognized logo appears. Each track corresponds\nto one logo instance appearing in consecutive frames.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1_NormalizedBoundingBox": { "description": "Normalized bounding box.\nThe normalized vertex coordinates are relative to the original image.\nRange: [0, 1].", "id": "GoogleCloudVideointelligenceV1_NormalizedBoundingBox", @@ -558,66 +492,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1_TimestampedObject": { - "description": "For tracking related features.\nAn object at time_offset with attributes, and located with\nnormalized_bounding_box.", - "id": "GoogleCloudVideointelligenceV1_TimestampedObject", - "properties": { - "attributes": { - "description": "Optional. The attributes of the object in the bounding box.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_DetectedAttribute" - }, - "type": "array" - }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_DetectedLandmark" - }, - "type": "array" - }, - "normalizedBoundingBox": { - "$ref": "GoogleCloudVideointelligenceV1_NormalizedBoundingBox", - "description": "Normalized Bounding box in a frame, where the object is located." - }, - "timeOffset": { - "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this object.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1_Track": { - "description": "A track of an object instance.", - "id": "GoogleCloudVideointelligenceV1_Track", - "properties": { - "attributes": { - "description": "Optional. Attributes in the track level.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_DetectedAttribute" - }, - "type": "array" - }, - "confidence": { - "description": "Optional. The confidence score of the tracked object.", - "format": "float", - "type": "number" - }, - "segment": { - "$ref": "GoogleCloudVideointelligenceV1_VideoSegment", - "description": "Video segment of a track." - }, - "timestampedObjects": { - "description": "The object with timestamp and attributes per frame in the track.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_TimestampedObject" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "id": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress", @@ -631,8 +505,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "enumDescriptions": [ "Unspecified.", @@ -641,13 +514,12 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -692,16 +564,9 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, - "logoRecognitionAnnotations": { - "description": "Annotations for list of logos detected, tracked and recognized in video.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation" - }, - "type": "array" - }, "objectAnnotations": { "description": "Annotations for list of objects detected and tracked in video.", "items": { @@ -841,46 +706,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1beta2_DetectedAttribute": { - "description": "A generic detected attribute represented by name in string format.", - "id": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute", - "properties": { - "confidence": { - "description": "Detected attribute confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", - "type": "string" - }, - "value": { - "description": "Text value of the detection result. For example, the value for \"HairColor\"\ncan be \"black\", \"blonde\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1beta2_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1beta2_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1beta2_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1beta2_Entity", @@ -1011,31 +836,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation": { - "description": "Annotation corresponding to one detected, tracked and recognized logo class.", - "id": "GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation", - "properties": { - "entity": { - "$ref": "GoogleCloudVideointelligenceV1beta2_Entity", - "description": "Entity category information to specify the logo class that all the logo\ntracks within this LogoRecognitionAnnotation are recognized as." - }, - "segments": { - "description": "All video segments where the recognized logo appears. There might be\nmultiple instances of the same logo class appearing in one VideoSegment.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment" - }, - "type": "array" - }, - "tracks": { - "description": "All logo tracks where the recognized logo appears. Each track corresponds\nto one logo instance appearing in consecutive frames.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox": { "description": "Normalized bounding box.\nThe normalized vertex coordinates are relative to the original image.\nRange: [0, 1].", "id": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox", @@ -1240,66 +1040,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1beta2_TimestampedObject": { - "description": "For tracking related features.\nAn object at time_offset with attributes, and located with\nnormalized_bounding_box.", - "id": "GoogleCloudVideointelligenceV1beta2_TimestampedObject", - "properties": { - "attributes": { - "description": "Optional. The attributes of the object in the bounding box.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute" - }, - "type": "array" - }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_DetectedLandmark" - }, - "type": "array" - }, - "normalizedBoundingBox": { - "$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox", - "description": "Normalized Bounding box in a frame, where the object is located." - }, - "timeOffset": { - "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this object.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1beta2_Track": { - "description": "A track of an object instance.", - "id": "GoogleCloudVideointelligenceV1beta2_Track", - "properties": { - "attributes": { - "description": "Optional. Attributes in the track level.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute" - }, - "type": "array" - }, - "confidence": { - "description": "Optional. The confidence score of the tracked object.", - "format": "float", - "type": "number" - }, - "segment": { - "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", - "description": "Video segment of a track." - }, - "timestampedObjects": { - "description": "The object with timestamp and attributes per frame in the track.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_TimestampedObject" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress", @@ -1313,8 +1053,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "enumDescriptions": [ "Unspecified.", @@ -1323,13 +1062,12 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -1374,16 +1112,9 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, - "logoRecognitionAnnotations": { - "description": "Annotations for list of logos detected, tracked and recognized in video.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation" - }, - "type": "array" - }, "objectAnnotations": { "description": "Annotations for list of objects detected and tracked in video.", "items": { @@ -1523,46 +1254,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute": { - "description": "A generic detected attribute represented by name in string format.", - "id": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute", - "properties": { - "confidence": { - "description": "Detected attribute confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", - "type": "string" - }, - "value": { - "description": "Text value of the detection result. For example, the value for \"HairColor\"\ncan be \"black\", \"blonde\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p1beta1_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1p1beta1_Entity", @@ -1693,31 +1384,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation": { - "description": "Annotation corresponding to one detected, tracked and recognized logo class.", - "id": "GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation", - "properties": { - "entity": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity", - "description": "Entity category information to specify the logo class that all the logo\ntracks within this LogoRecognitionAnnotation are recognized as." - }, - "segments": { - "description": "All video segments where the recognized logo appears. There might be\nmultiple instances of the same logo class appearing in one VideoSegment.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment" - }, - "type": "array" - }, - "tracks": { - "description": "All logo tracks where the recognized logo appears. Each track corresponds\nto one logo instance appearing in consecutive frames.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox": { "description": "Normalized bounding box.\nThe normalized vertex coordinates are relative to the original image.\nRange: [0, 1].", "id": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox", @@ -1922,66 +1588,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p1beta1_TimestampedObject": { - "description": "For tracking related features.\nAn object at time_offset with attributes, and located with\nnormalized_bounding_box.", - "id": "GoogleCloudVideointelligenceV1p1beta1_TimestampedObject", - "properties": { - "attributes": { - "description": "Optional. The attributes of the object in the bounding box.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute" - }, - "type": "array" - }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark" - }, - "type": "array" - }, - "normalizedBoundingBox": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox", - "description": "Normalized Bounding box in a frame, where the object is located." - }, - "timeOffset": { - "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this object.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1p1beta1_Track": { - "description": "A track of an object instance.", - "id": "GoogleCloudVideointelligenceV1p1beta1_Track", - "properties": { - "attributes": { - "description": "Optional. Attributes in the track level.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute" - }, - "type": "array" - }, - "confidence": { - "description": "Optional. The confidence score of the tracked object.", - "format": "float", - "type": "number" - }, - "segment": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", - "description": "Video segment of a track." - }, - "timestampedObjects": { - "description": "The object with timestamp and attributes per frame in the track.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_TimestampedObject" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "id": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress", @@ -1995,8 +1601,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "enumDescriptions": [ "Unspecified.", @@ -2005,13 +1610,12 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -2056,16 +1660,9 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, - "logoRecognitionAnnotations": { - "description": "Annotations for list of logos detected, tracked and recognized in video.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation" - }, - "type": "array" - }, "objectAnnotations": { "description": "Annotations for list of objects detected and tracked in video.", "items": { @@ -2204,8 +1801,7 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "items": { "enum": [ @@ -2215,8 +1811,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "type": "string" }, @@ -2228,7 +1823,7 @@ "type": "string" }, "inputUri": { - "description": "Input video location. Currently, only\n[Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", + "description": "Input video location. Currently, only\n[Google Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](/storage/docs/reference-uris).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", "type": "string" }, "locationId": { @@ -2236,7 +1831,7 @@ "type": "string" }, "outputUri": { - "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", + "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Google Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](/storage/docs/reference-uris).", "type": "string" }, "videoContext": { @@ -2260,46 +1855,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute": { - "description": "A generic detected attribute represented by name in string format.", - "id": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute", - "properties": { - "confidence": { - "description": "Detected attribute confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", - "type": "string" - }, - "value": { - "description": "Text value of the detection result. For example, the value for \"HairColor\"\ncan be \"black\", \"blonde\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p2beta1_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1p2beta1_Entity", @@ -2482,31 +2037,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation": { - "description": "Annotation corresponding to one detected, tracked and recognized logo class.", - "id": "GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation", - "properties": { - "entity": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity", - "description": "Entity category information to specify the logo class that all the logo\ntracks within this LogoRecognitionAnnotation are recognized as." - }, - "segments": { - "description": "All video segments where the recognized logo appears. There might be\nmultiple instances of the same logo class appearing in one VideoSegment.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment" - }, - "type": "array" - }, - "tracks": { - "description": "All logo tracks where the recognized logo appears. Each track corresponds\nto one logo instance appearing in consecutive frames.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox": { "description": "Normalized bounding box.\nThe normalized vertex coordinates are relative to the original image.\nRange: [0, 1].", "id": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox", @@ -2817,66 +2347,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p2beta1_TimestampedObject": { - "description": "For tracking related features.\nAn object at time_offset with attributes, and located with\nnormalized_bounding_box.", - "id": "GoogleCloudVideointelligenceV1p2beta1_TimestampedObject", - "properties": { - "attributes": { - "description": "Optional. The attributes of the object in the bounding box.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute" - }, - "type": "array" - }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark" - }, - "type": "array" - }, - "normalizedBoundingBox": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox", - "description": "Normalized Bounding box in a frame, where the object is located." - }, - "timeOffset": { - "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this object.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudVideointelligenceV1p2beta1_Track": { - "description": "A track of an object instance.", - "id": "GoogleCloudVideointelligenceV1p2beta1_Track", - "properties": { - "attributes": { - "description": "Optional. Attributes in the track level.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute" - }, - "type": "array" - }, - "confidence": { - "description": "Optional. The confidence score of the tracked object.", - "format": "float", - "type": "number" - }, - "segment": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", - "description": "Video segment of a track." - }, - "timestampedObjects": { - "description": "The object with timestamp and attributes per frame in the track.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_TimestampedObject" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "id": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress", @@ -2890,8 +2360,7 @@ "EXPLICIT_CONTENT_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", - "OBJECT_TRACKING", - "LOGO_RECOGNITION" + "OBJECT_TRACKING" ], "enumDescriptions": [ "Unspecified.", @@ -2900,13 +2369,12 @@ "Explicit content detection.", "Speech transcription.", "OCR text detection and tracking.", - "Object detection and tracking.", - "Logo detection, tracking, and recognition." + "Object detection and tracking." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -2951,16 +2419,9 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, - "logoRecognitionAnnotations": { - "description": "Annotations for list of logos detected, tracked and recognized in video.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation" - }, - "type": "array" - }, "objectAnnotations": { "description": "Annotations for list of objects detected and tracked in video.", "items": { @@ -3209,26 +2670,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark": { - "description": "A generic detected landmark represented by name in string format and a 2D\nlocation.", - "id": "GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark", - "properties": { - "confidence": { - "description": "The confidence score of the detected landmark. Range [0, 1].", - "format": "float", - "type": "number" - }, - "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", - "type": "string" - }, - "point": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedVertex", - "description": "The 2D point of the detected landmark using the normalized image\ncoordindate system. The normalized coordinates have the range from 0 to 1." - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p3beta1_Entity": { "description": "Detected entity from video analysis.", "id": "GoogleCloudVideointelligenceV1p3beta1_Entity", @@ -3294,25 +2735,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation": { - "description": "Face detection annotation.", - "id": "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation", - "properties": { - "thumbnail": { - "description": "The thumbnail of a person's face.", - "format": "byte", - "type": "string" - }, - "tracks": { - "description": "The face tracks with attributes.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation": { "description": "Label annotation.", "id": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation", @@ -3509,20 +2931,6 @@ }, "type": "object" }, - "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation": { - "description": "Person detection annotation per video.", - "id": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation", - "properties": { - "tracks": { - "description": "The trackes that a person is detected.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudVideointelligenceV1p3beta1_RecognizedCelebrity": { "description": "The recognized celebrity with confidence score.", "id": "GoogleCloudVideointelligenceV1p3beta1_RecognizedCelebrity", @@ -3589,7 +2997,7 @@ "description": "Streaming annotation results." }, "annotationResultsUri": { - "description": "Cloud Storage URI that stores annotation results of one streaming session.\nIt is a directory that can hold multiple files in JSON format.\nExample uri format:\ngs://bucket_id/object_id/cloud_project_name-session_id", + "description": "GCS URI that stores annotation results of one streaming session.\nIt is a directory that can hold multiple files in JSON format.\nExample uri format:\ngs://bucket_id/object_id/cloud_project_name-session_id", "type": "string" }, "error": { @@ -3699,13 +3107,6 @@ }, "type": "array" }, - "landmarks": { - "description": "Optional. The detected landmarks.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark" - }, - "type": "array" - }, "normalizedBoundingBox": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingBox", "description": "Normalized Bounding box in a frame, where the object is located." @@ -3759,31 +3160,27 @@ "LABEL_DETECTION", "SHOT_CHANGE_DETECTION", "EXPLICIT_CONTENT_DETECTION", - "FACE_DETECTION", "SPEECH_TRANSCRIPTION", "TEXT_DETECTION", "OBJECT_TRACKING", "LOGO_RECOGNITION", - "CELEBRITY_RECOGNITION", - "PERSON_DETECTION" + "CELEBRITY_RECOGNITION" ], "enumDescriptions": [ "Unspecified.", "Label detection. Detect objects, such as dog or flower.", "Shot change detection.", "Explicit content detection.", - "Human face detection.", "Speech transcription.", "OCR text detection and tracking.", "Object detection and tracking.", "Logo detection, tracking, and recognition.", - "Celebrity recognition.", - "Person detection." + "Celebrity recognition." ], "type": "string" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { @@ -3824,13 +3221,6 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentAnnotation", "description": "Explicit content annotation." }, - "faceDetectionAnnotations": { - "description": "Face detection annotations.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation" - }, - "type": "array" - }, "frameLabelAnnotations": { "description": "Label annotations on frame level.\nThere is exactly one element for each unique label.", "items": { @@ -3839,7 +3229,7 @@ "type": "array" }, "inputUri": { - "description": "Video file location in\n[Cloud Storage](https://cloud.google.com/storage/).", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "logoRecognitionAnnotations": { @@ -3856,13 +3246,6 @@ }, "type": "array" }, - "personDetectionAnnotations": { - "description": "Person detection annotations.", - "items": { - "$ref": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation" - }, - "type": "array" - }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", "description": "Video segment on which the annotation is run." diff --git a/etc/api/videointelligence/v1p3beta1/videointelligence-api.json b/etc/api/videointelligence/v1p3beta1/videointelligence-api.json index 4fdc5155db..a83f178578 100644 --- a/etc/api/videointelligence/v1p3beta1/videointelligence-api.json +++ b/etc/api/videointelligence/v1p3beta1/videointelligence-api.json @@ -128,7 +128,7 @@ } } }, - "revision": "20200325", + "revision": "20200615", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -169,7 +169,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -189,7 +189,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -204,7 +204,7 @@ "id": "GoogleCloudVideointelligenceV1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -228,6 +228,10 @@ "$ref": "GoogleCloudVideointelligenceV1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -269,7 +273,7 @@ "id": "GoogleCloudVideointelligenceV1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1_Entity" }, @@ -292,6 +296,10 @@ "$ref": "GoogleCloudVideointelligenceV1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -440,6 +448,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -474,7 +486,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1_WordInfo" }, @@ -515,6 +527,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -623,7 +639,7 @@ "id": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -657,7 +673,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -714,14 +730,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" }, @@ -851,7 +867,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -871,7 +887,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -886,7 +902,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -910,6 +926,10 @@ "$ref": "GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -951,7 +971,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_Entity" }, @@ -974,6 +994,10 @@ "$ref": "GoogleCloudVideointelligenceV1beta2_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1122,6 +1146,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1156,7 +1184,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_WordInfo" }, @@ -1197,6 +1225,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1305,7 +1337,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -1339,7 +1371,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -1396,14 +1428,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" }, @@ -1533,7 +1565,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -1553,7 +1585,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -1568,7 +1600,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -1592,6 +1624,10 @@ "$ref": "GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1633,7 +1669,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity" }, @@ -1656,6 +1692,10 @@ "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1804,6 +1844,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1838,7 +1882,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_WordInfo" }, @@ -1879,6 +1923,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -1987,7 +2035,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -2021,7 +2069,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -2078,14 +2126,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" }, @@ -2215,7 +2263,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -2235,7 +2283,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -2250,7 +2298,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -2274,6 +2322,10 @@ "$ref": "GoogleCloudVideointelligenceV1p2beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2315,7 +2367,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity" }, @@ -2338,6 +2390,10 @@ "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2486,6 +2542,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2520,7 +2580,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_WordInfo" }, @@ -2561,6 +2621,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -2669,7 +2733,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -2703,7 +2767,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -2760,14 +2824,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" }, @@ -2911,20 +2975,20 @@ "type": "array" }, "inputContent": { - "description": "The video data bytes.\nIf unset, the input video(s) should be specified via `input_uri`.\nIf set, `input_uri` should be unset.", + "description": "The video data bytes.\nIf unset, the input video(s) should be specified via the `input_uri`.\nIf set, `input_uri` must be unset.", "format": "byte", "type": "string" }, "inputUri": { - "description": "Input video location. Currently, only\n[Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", + "description": "Input video location. Currently, only\n[Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported. URIs must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).\nTo identify multiple videos, a video URI may include wildcards in the\n`object-id`. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` must be unset.", "type": "string" }, "locationId": { - "description": "Optional. Cloud region where annotation should take place. Supported cloud\nregions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region\nis specified, a region will be determined based on video file location.", + "description": "Optional. Cloud region where annotation should take place. Supported cloud\nregions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no\nregion is specified, the region will be determined based on video file\nlocation.", "type": "string" }, "outputUri": { - "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", + "description": "Optional. Location where the output (in JSON format) should be stored.\nCurrently, only [Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported. These must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", "type": "string" }, "videoContext": { @@ -2977,6 +3041,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_CelebrityTrack" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3009,7 +3077,7 @@ "type": "number" }, "name": { - "description": "The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc.\nA full list of supported type names will be provided in the document.", + "description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open.\nA full list of supported type names will be provided in the document.", "type": "string" }, "value": { @@ -3029,7 +3097,7 @@ "type": "number" }, "name": { - "description": "The name of this landmark, i.e. left_hand, right_shoulder.", + "description": "The name of this landmark, for example, left_hand, right_shoulder.", "type": "string" }, "point": { @@ -3044,7 +3112,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_Entity", "properties": { "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "description": "Textual description, e.g., `Fixed-gear bicycle`.", "type": "string" }, "entityId": { @@ -3068,6 +3136,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentFrame" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3130,6 +3202,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3139,11 +3215,11 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionConfig", "properties": { "includeAttributes": { - "description": "Whether to enable face attributes detection, such as glasses, dark_glasses,\nmouth_open etc. Ignored if 'include_bounding_boxes' is false.", + "description": "Whether to enable face attributes detection, such as glasses, dark_glasses,\nmouth_open etc. Ignored if 'include_bounding_boxes' is set to false.", "type": "boolean" }, "includeBoundingBoxes": { - "description": "Whether bounding boxes be included in the face annotation output.", + "description": "Whether bounding boxes are included in the face annotation output.", "type": "boolean" }, "model": { @@ -3158,7 +3234,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation", "properties": { "categoryEntities": { - "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "description": "Common categories for the detected entity.\nFor example, when the label is `Terrier`, the category is likely `dog`. And\nin some cases there might be more than one categories e.g., `Terrier` could\nalso be a `pet`.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_Entity" }, @@ -3181,6 +3257,10 @@ "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelSegment" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3190,7 +3270,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_LabelDetectionConfig", "properties": { "frameConfidenceThreshold": { - "description": "The confidence threshold we perform filtering on the labels from\nframe-level detection. If not set, it is set to 0.4 by default. The valid\nrange for this threshold is [0.1, 0.9]. Any value set outside of this\nrange will be clipped.\nNote: for best results please follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", + "description": "The confidence threshold we perform filtering on the labels from\nframe-level detection. If not set, it is set to 0.4 by default. The valid\nrange for this threshold is [0.1, 0.9]. Any value set outside of this\nrange will be clipped.\nNote: For best results, follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", "format": "float", "type": "number" }, @@ -3215,11 +3295,11 @@ "type": "string" }, "stationaryCamera": { - "description": "Whether the video has been shot from a stationary (i.e. non-moving) camera.\nWhen set to true, might improve detection accuracy for moving objects.\nShould be used with `SHOT_AND_FRAME_MODE` enabled.", + "description": "Whether the video has been shot from a stationary (i.e., non-moving)\ncamera. When set to true, might improve detection accuracy for moving\nobjects. Should be used with `SHOT_AND_FRAME_MODE` enabled.", "type": "boolean" }, "videoConfidenceThreshold": { - "description": "The confidence threshold we perform filtering on the labels from\nvideo-level and shot-level detections. If not set, it is set to 0.3 by\ndefault. The valid range for this threshold is [0.1, 0.9]. Any value set\noutside of this range will be clipped.\nNote: for best results please follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", + "description": "The confidence threshold we perform filtering on the labels from\nvideo-level and shot-level detections. If not set, it's set to 0.3 by\ndefault. The valid range for this threshold is [0.1, 0.9]. Any value set\noutside of this range will be clipped.\nNote: For best results, follow the default threshold. We will update\nthe default threshold everytime when we release a new model.", "format": "float", "type": "number" } @@ -3370,6 +3450,10 @@ "description": "Streaming mode ONLY.\nIn streaming mode, we do not know the end time of a tracked object\nbefore it is completed. Hence, there is no VideoSegment info returned.\nInstead, we provide a unique identifiable integer track_id so that\nthe customers can correlate the results of the ongoing\nObjectTrackAnnotation of the same track_id over time.", "format": "int64", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3406,11 +3490,15 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation", "properties": { "tracks": { - "description": "The trackes that a person is detected.", + "description": "The detected tracks of a person.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" }, "type": "array" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3420,15 +3508,15 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionConfig", "properties": { "includeAttributes": { - "description": "Whether to enable person attributes detection, such as cloth color (black,\nblue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair\ncolor (black, blonde, etc), hair length (long, short, bald), etc.\nIgnored if 'include_bounding_boxes' is false.", + "description": "Whether to enable person attributes detection, such as cloth color (black,\nblue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair,\netc.\nIgnored if 'include_bounding_boxes' is set to false.", "type": "boolean" }, "includeBoundingBoxes": { - "description": "Whether bounding boxes be included in the person detection annotation\noutput.", + "description": "Whether bounding boxes are included in the person detection annotation\noutput.", "type": "boolean" }, "includePoseLandmarks": { - "description": "Whether to enable pose landmarks detection. Ignored if\n'include_bounding_boxes' is false.", + "description": "Whether to enable pose landmarks detection. Ignored if\n'include_bounding_boxes' is set to false.", "type": "boolean" } }, @@ -3489,7 +3577,7 @@ "type": "string" }, "words": { - "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is true, you will see all the words\nfrom the beginning of the audio.", + "description": "Output only. A list of word-specific information for each recognized word.\nNote: When `enable_speaker_diarization` is set to true, you will see all\nthe words from the beginning of the audio.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_WordInfo" }, @@ -3538,7 +3626,7 @@ "type": "boolean" }, "enableSpeakerDiarization": { - "description": "Optional. If 'true', enables speaker detection for each recognized word in\nthe top alternative of the recognition result using a speaker_tag provided\nin the WordInfo.\nNote: When this is true, we send all the words from the beginning of the\naudio for the top alternative in every consecutive responses.\nThis is done in order to improve our speaker tags as our models learn to\nidentify the speakers in the conversation over time.", + "description": "Optional. If 'true', enables speaker detection for each recognized word in\nthe top alternative of the recognition result using a speaker_tag provided\nin the WordInfo.\nNote: When this is true, we send all the words from the beginning of the\naudio for the top alternative in every consecutive response.\nThis is done in order to improve our speaker tags as our models learn to\nidentify the speakers in the conversation over time.", "type": "boolean" }, "enableWordConfidence": { @@ -3577,7 +3665,7 @@ "description": "Streaming annotation results." }, "annotationResultsUri": { - "description": "Cloud Storage URI that stores annotation results of one streaming session.\nIt is a directory that can hold multiple files in JSON format.\nExample uri format:\ngs://bucket_id/object_id/cloud_project_name-session_id", + "description": "Google Cloud Storage URI that stores annotation results of one\nstreaming session in JSON format.\nIt is the annotation_result_storage_directory\nfrom the request followed by '/cloud_project_number-session_id'.", "type": "string" }, "error": { @@ -3633,6 +3721,10 @@ "text": { "description": "The detected text.", "type": "string" + }, + "version": { + "description": "Feature version.", + "type": "string" } }, "type": "object" @@ -3759,7 +3851,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationProgress", "properties": { "feature": { - "description": "Specifies which feature is being tracked if the request contains more than\none features.", + "description": "Specifies which feature is being tracked if the request contains more than\none feature.", "enum": [ "FEATURE_UNSPECIFIED", "LABEL_DETECTION", @@ -3799,7 +3891,7 @@ }, "segment": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", - "description": "Specifies which segment is being tracked if the request contains more than\none segments." + "description": "Specifies which segment is being tracked if the request contains more than\none segment." }, "startTime": { "description": "Time when the request was received.", @@ -3874,14 +3966,14 @@ "description": "Video segment on which the annotation is run." }, "segmentLabelAnnotations": { - "description": "Topical label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "description": "Topical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" }, "type": "array" }, "segmentPresenceLabelAnnotations": { - "description": "Presence label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", + "description": "Presence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.", "items": { "$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" }, diff --git a/etc/api/vision/v1/vision-api.json b/etc/api/vision/v1/vision-api.json index ca1e06dd5a..878678809c 100644 --- a/etc/api/vision/v1/vision-api.json +++ b/etc/api/vision/v1/vision-api.json @@ -1282,7 +1282,7 @@ } } }, - "revision": "20200329", + "revision": "20200619", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AddProductToProductSetRequest": { @@ -1732,7 +1732,7 @@ "type": "object" }, "Color": { - "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", + "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nNote: when color equality needs to be decided, implementations, unless\ndocumented otherwise, will treat two colors to be equal if all their red,\ngreen, blue and alpha values each differ by at most 1e-5.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", "id": "Color", "properties": { "alpha": { @@ -8132,7 +8132,7 @@ "description": "Parameters for crop hints annotation request." }, "languageHints": { - "description": "List of languages to use for TEXT_DETECTION. In most cases, an empty value\nyields the best results since it enables automatic language detection. For\nlanguages based on the Latin alphabet, setting `language_hints` is not\nneeded. In rare cases, when the language of the text in the image is known,\nsetting a hint will help get better results (although it will be a\nsignificant hindrance if the hint is wrong). Text detection returns an\nerror if one or more of the specified languages is not one of the\n[supported languages](/vision/docs/languages).", + "description": "List of languages to use for TEXT_DETECTION. In most cases, an empty value\nyields the best results since it enables automatic language detection. For\nlanguages based on the Latin alphabet, setting `language_hints` is not\nneeded. In rare cases, when the language of the text in the image is known,\nsetting a hint will help get better results (although it will be a\nsignificant hindrance if the hint is wrong). Text detection returns an\nerror if one or more of the specified languages is not one of the\n[supported languages](https://cloud.google.com/vision/docs/languages).", "items": { "type": "string" }, diff --git a/etc/api/vision/v1p1beta1/vision-api.json b/etc/api/vision/v1p1beta1/vision-api.json index 603d2e8909..dfa708a8a7 100644 --- a/etc/api/vision/v1p1beta1/vision-api.json +++ b/etc/api/vision/v1p1beta1/vision-api.json @@ -449,7 +449,7 @@ } } }, - "revision": "20200329", + "revision": "20200619", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { @@ -714,7 +714,7 @@ "type": "object" }, "Color": { - "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", + "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nNote: when color equality needs to be decided, implementations, unless\ndocumented otherwise, will treat two colors to be equal if all their red,\ngreen, blue and alpha values each differ by at most 1e-5.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", "id": "Color", "properties": { "alpha": { @@ -2027,7 +2027,7 @@ "description": "Parameters for crop hints annotation request." }, "languageHints": { - "description": "List of languages to use for TEXT_DETECTION. In most cases, an empty value\nyields the best results since it enables automatic language detection. For\nlanguages based on the Latin alphabet, setting `language_hints` is not\nneeded. In rare cases, when the language of the text in the image is known,\nsetting a hint will help get better results (although it will be a\nsignificant hindrance if the hint is wrong). Text detection returns an\nerror if one or more of the specified languages is not one of the\n[supported languages](/vision/docs/languages).", + "description": "List of languages to use for TEXT_DETECTION. In most cases, an empty value\nyields the best results since it enables automatic language detection. For\nlanguages based on the Latin alphabet, setting `language_hints` is not\nneeded. In rare cases, when the language of the text in the image is known,\nsetting a hint will help get better results (although it will be a\nsignificant hindrance if the hint is wrong). Text detection returns an\nerror if one or more of the specified languages is not one of the\n[supported languages](https://cloud.google.com/vision/docs/languages).", "items": { "type": "string" }, diff --git a/etc/api/vision/v1p2beta1/vision-api.json b/etc/api/vision/v1p2beta1/vision-api.json index 08d3eb84c0..1e0be3bb33 100644 --- a/etc/api/vision/v1p2beta1/vision-api.json +++ b/etc/api/vision/v1p2beta1/vision-api.json @@ -449,7 +449,7 @@ } } }, - "revision": "20200329", + "revision": "20200619", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { @@ -714,7 +714,7 @@ "type": "object" }, "Color": { - "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", + "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well.\n\nNote: this proto does not carry information about the absolute color space\nthat should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,\nDCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color\nspace.\n\nNote: when color equality needs to be decided, implementations, unless\ndocumented otherwise, will treat two colors to be equal if all their red,\ngreen, blue and alpha values each differ by at most 1e-5.\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", "id": "Color", "properties": { "alpha": { @@ -3436,7 +3436,7 @@ "description": "Parameters for crop hints annotation request." }, "languageHints": { - "description": "List of languages to use for TEXT_DETECTION. In most cases, an empty value\nyields the best results since it enables automatic language detection. For\nlanguages based on the Latin alphabet, setting `language_hints` is not\nneeded. In rare cases, when the language of the text in the image is known,\nsetting a hint will help get better results (although it will be a\nsignificant hindrance if the hint is wrong). Text detection returns an\nerror if one or more of the specified languages is not one of the\n[supported languages](/vision/docs/languages).", + "description": "List of languages to use for TEXT_DETECTION. In most cases, an empty value\nyields the best results since it enables automatic language detection. For\nlanguages based on the Latin alphabet, setting `language_hints` is not\nneeded. In rare cases, when the language of the text in the image is known,\nsetting a hint will help get better results (although it will be a\nsignificant hindrance if the hint is wrong). Text detection returns an\nerror if one or more of the specified languages is not one of the\n[supported languages](https://cloud.google.com/vision/docs/languages).", "items": { "type": "string" }, diff --git a/etc/api/webfonts/v1/webfonts-api.json b/etc/api/webfonts/v1/webfonts-api.json index 6313fe2758..dbfeb37091 100644 --- a/etc/api/webfonts/v1/webfonts-api.json +++ b/etc/api/webfonts/v1/webfonts-api.json @@ -1,33 +1,61 @@ { - "basePath": "/webfonts/v1/", - "baseUrl": "https://www.googleapis.com/webfonts/v1/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/webfonts/v1", - "description": "Accesses the metadata for all families served by Google Fonts, providing a list of families currently available (including available styles and a list of supported script subsets).", + "canonicalName": "Webfonts", + "description": "The Google Web Fonts Developer API lets you retrieve information about web fonts served\n by Google.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/fonts/docs/developer_api", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/5_fiJZHCPuxNkgUtCVK8tszhsbo\"", "icons": { - "x16": "https://www.google.com/images/icons/feature/font_api-16.png", - "x32": "https://www.google.com/images/icons/feature/font_api-32.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "webfonts:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "webfonts", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -50,12 +78,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -65,31 +98,27 @@ "webfonts": { "methods": { "list": { - "description": "Retrieves the list of fonts currently served by the Google Fonts Developer API", + "description": "Retrieves the list of fonts currently served by the Google Fonts Developer\nAPI.", + "flatPath": "v1/webfonts", "httpMethod": "GET", "id": "webfonts.webfonts.list", + "parameterOrder": [], "parameters": { "sort": { - "description": "Enables sorting of the list", + "description": "Enables sorting of the list.", "enum": [ - "alpha", - "date", - "popularity", - "style", - "trending" - ], - "enumDescriptions": [ - "Sort alphabetically", - "Sort by date added", - "Sort by popularity", - "Sort by number of styles", - "Sort by trending" + "SORT_UNDEFINED", + "ALPHA", + "DATE", + "POPULARITY", + "STYLE", + "TRENDING" ], "location": "query", "type": "string" } }, - "path": "webfonts", + "path": "v1/webfonts", "response": { "$ref": "WebfontList" } @@ -97,10 +126,11 @@ } } }, - "revision": "20200302", + "revision": "20200706", "rootUrl": "https://www.googleapis.com/", "schemas": { "Webfont": { + "description": "Metadata describing a family of fonts.", "id": "Webfont", "properties": { "category": { @@ -113,20 +143,17 @@ }, "files": { "additionalProperties": { - "description": "The font file URL (value) for an specific variant (key).", "type": "string" }, - "description": "The font files (with all supported scripts) for each one of the available variants, as a key : value map.", + "description": "The font files (with all supported scripts) for each one of the available\nvariants, as a key : value map.", "type": "object" }, "kind": { - "default": "webfonts#webfont", "description": "This kind represents a webfont object in the webfonts service.", "type": "string" }, "lastModified": { "description": "The date (format \"yyyy-MM-dd\") the font was modified for the last time.", - "format": "date", "type": "string" }, "subsets": { @@ -151,6 +178,7 @@ "type": "object" }, "WebfontList": { + "description": "Response containing the list of fonts currently served by the\nGoogle Fonts API.", "id": "WebfontList", "properties": { "items": { @@ -161,7 +189,6 @@ "type": "array" }, "kind": { - "default": "webfonts#webfontList", "description": "This kind represents a list of webfont objects in the webfonts service.", "type": "string" } @@ -169,7 +196,7 @@ "type": "object" } }, - "servicePath": "webfonts/v1/", - "title": "Google Fonts Developer API", + "servicePath": "", + "title": "Web Fonts Developer API", "version": "v1" } \ No newline at end of file diff --git a/etc/api/webmasters/v3/webmasters-api.json b/etc/api/webmasters/v3/webmasters-api.json index d3fd9ccbfd..f61754d3c8 100644 --- a/etc/api/webmasters/v3/webmasters-api.json +++ b/etc/api/webmasters/v3/webmasters-api.json @@ -17,7 +17,7 @@ "description": "View Google Search Console data for your verified sites.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/webmaster-tools/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/yeQbVpX8MWZgvu0Tp4j1CJkOSB4\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/yeQbVpX8MWZgvu0Tp4j1CJkOSB4\"", "icons": { "x16": "https://www.google.com/images/icons/product/webmaster_tools-16.png", "x32": "https://www.google.com/images/icons/product/webmaster_tools-32.png" diff --git a/etc/api/websecurityscanner/v1/websecurityscanner-api.json b/etc/api/websecurityscanner/v1/websecurityscanner-api.json index 10dd7cacea..cf7809890a 100644 --- a/etc/api/websecurityscanner/v1/websecurityscanner-api.json +++ b/etc/api/websecurityscanner/v1/websecurityscanner-api.json @@ -14,7 +14,7 @@ "canonicalName": "WebSecurityScanner", "description": "Scans your Compute and App Engine apps for common web vulnerabilities.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/security-scanner/", + "documentationLink": "https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -526,7 +526,7 @@ } } }, - "revision": "20200329", + "revision": "20200704", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { @@ -609,7 +609,7 @@ "type": "string" }, "findingType": { - "description": "Output only. The type of the Finding.\nDetailed and up-to-date information on findings can be found here:\nhttps://cloud.google.com/security-scanner/docs/scan-result-details", + "description": "Output only. The type of the Finding.\nDetailed and up-to-date information on findings can be found here:\nhttps://cloud.google.com/security-command-center/docs/how-to-remediate-web-security-scanner-findings", "type": "string" }, "form": { @@ -884,7 +884,7 @@ "description": "The authentication configuration. If specified, service will use the\nauthentication configuration during scanning." }, "blacklistPatterns": { - "description": "The blacklist URL patterns as described in\nhttps://cloud.google.com/security-scanner/docs/excluded-urls", + "description": "The excluded URL patterns as described in\nhttps://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls", "items": { "type": "string" }, @@ -895,7 +895,7 @@ "type": "string" }, "exportToSecurityCommandCenter": { - "description": "Controls export of scan configurations and results to Cloud Security\nCommand Center.", + "description": "Controls export of scan configurations and results to Security\nCommand Center.", "enum": [ "EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED", "ENABLED", @@ -903,13 +903,13 @@ ], "enumDescriptions": [ "Use default, which is ENABLED.", - "Export results of this scan to Cloud Security Command Center.", - "Do not export results of this scan to Cloud Security Command Center." + "Export results of this scan to Security Command Center.", + "Do not export results of this scan to Security Command Center." ], "type": "string" }, "managedScan": { - "description": "Whether the scan config is managed by Cloud Web Security Scanner, output\nonly.", + "description": "Whether the scan config is managed by Web Security Scanner, output\nonly.", "type": "boolean" }, "maxQps": { @@ -1055,7 +1055,7 @@ "One of the seed URLs is mapped to an IP address which is not reserved\nfor the current project.", "One of the seed URLs has on-routable IP address.", "One of the seed URLs has an IP address that is not reserved\nfor the current project.", - "The Cloud Security Scanner service account is not configured under the\nproject.", + "The Web Security Scanner service account is not configured under the\nproject.", "A project has reached the maximum number of scans.", "Resolving the details of the current project fails.", "One or more blacklist patterns were in the wrong format.", diff --git a/etc/api/websecurityscanner/v1alpha/websecurityscanner-api.json b/etc/api/websecurityscanner/v1alpha/websecurityscanner-api.json index 6fc2933f83..6876d144ef 100644 --- a/etc/api/websecurityscanner/v1alpha/websecurityscanner-api.json +++ b/etc/api/websecurityscanner/v1alpha/websecurityscanner-api.json @@ -14,7 +14,7 @@ "canonicalName": "WebSecurityScanner", "description": "Scans your Compute and App Engine apps for common web vulnerabilities.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/security-scanner/", + "documentationLink": "https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -526,7 +526,7 @@ } } }, - "revision": "20200329", + "revision": "20200704", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { @@ -874,7 +874,7 @@ "description": "The authentication configuration. If specified, service will use the\nauthentication configuration during scanning." }, "blacklistPatterns": { - "description": "The blacklist URL patterns as described in\nhttps://cloud.google.com/security-scanner/docs/excluded-urls", + "description": "The excluded URL patterns as described in\nhttps://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls", "items": { "type": "string" }, @@ -909,7 +909,7 @@ "type": "array" }, "targetPlatforms": { - "description": "Set of Cloud Platforms targeted by the scan. If empty, APP_ENGINE will be\nused as a default.", + "description": "Set of Google Cloud platforms targeted by the scan. If empty, APP_ENGINE\nwill be used as a default.", "enumDescriptions": [ "The target platform is unknown. Requests with this enum value will be\nrejected with INVALID_ARGUMENT error.", "Google App Engine service.", diff --git a/etc/api/websecurityscanner/v1beta/websecurityscanner-api.json b/etc/api/websecurityscanner/v1beta/websecurityscanner-api.json index f440ce4499..a2737a3fd5 100644 --- a/etc/api/websecurityscanner/v1beta/websecurityscanner-api.json +++ b/etc/api/websecurityscanner/v1beta/websecurityscanner-api.json @@ -14,7 +14,7 @@ "canonicalName": "WebSecurityScanner", "description": "Scans your Compute and App Engine apps for common web vulnerabilities.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/security-scanner/", + "documentationLink": "https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -526,7 +526,7 @@ } } }, - "revision": "20200329", + "revision": "20200704", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { @@ -609,7 +609,7 @@ "type": "string" }, "findingType": { - "description": "The type of the Finding.\nDetailed and up-to-date information on findings can be found here:\nhttps://cloud.google.com/security-scanner/docs/scan-result-details", + "description": "The type of the Finding.\nDetailed and up-to-date information on findings can be found here:\nhttps://cloud.google.com/security-command-center/docs/how-to-remediate-web-security-scanner", "type": "string" }, "form": { @@ -884,7 +884,7 @@ "description": "The authentication configuration. If specified, service will use the\nauthentication configuration during scanning." }, "blacklistPatterns": { - "description": "The blacklist URL patterns as described in\nhttps://cloud.google.com/security-scanner/docs/excluded-urls", + "description": "The excluded URL patterns as described in\nhttps://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls", "items": { "type": "string" }, @@ -895,7 +895,7 @@ "type": "string" }, "exportToSecurityCommandCenter": { - "description": "Controls export of scan configurations and results to Cloud Security\nCommand Center.", + "description": "Controls export of scan configurations and results to Security\nCommand Center.", "enum": [ "EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED", "ENABLED", @@ -903,8 +903,8 @@ ], "enumDescriptions": [ "Use default, which is ENABLED.", - "Export results of this scan to Cloud Security Command Center.", - "Do not export results of this scan to Cloud Security Command Center." + "Export results of this scan to Security Command Center.", + "Do not export results of this scan to Security Command Center." ], "type": "string" }, @@ -913,7 +913,7 @@ "description": "Latest ScanRun if available." }, "managedScan": { - "description": "Whether the scan config is managed by Cloud Web Security Scanner, output\nonly.", + "description": "Whether the scan config is managed by Web Security Scanner, output\nonly.", "type": "boolean" }, "maxQps": { @@ -955,7 +955,7 @@ "type": "boolean" }, "targetPlatforms": { - "description": "Set of Cloud Platforms targeted by the scan. If empty, APP_ENGINE will be\nused as a default.", + "description": "Set of Google Cloud platforms targeted by the scan. If empty, APP_ENGINE\nwill be used as a default.", "enumDescriptions": [ "The target platform is unknown. Requests with this enum value will be\nrejected with INVALID_ARGUMENT error.", "Google App Engine service.", @@ -1076,7 +1076,7 @@ "One of the seed URLs is mapped to an IP address which is not reserved\nfor the current project.", "One of the seed URLs has on-routable IP address.", "One of the seed URLs has an IP address that is not reserved\nfor the current project.", - "The Cloud Security Scanner service account is not configured under the\nproject.", + "The Web Security Scanner service account is not configured under the\nproject.", "A project has reached the maximum number of scans.", "Resolving the details of the current project fails.", "One or more blacklist patterns were in the wrong format.", diff --git a/etc/api/youtube/v3/youtube-api.json b/etc/api/youtube/v3/youtube-api.json index 4a4aa81852..4af944360d 100644 --- a/etc/api/youtube/v3/youtube-api.json +++ b/etc/api/youtube/v3/youtube-api.json @@ -26,36 +26,64 @@ } } }, - "basePath": "/youtube/v3/", - "baseUrl": "https://www.googleapis.com/youtube/v3/", - "batchPath": "batch/youtube/v3", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", + "batchPath": "batch/youtube", "canonicalName": "YouTube", - "description": "Supports core YouTube features, such as uploading videos, creating and managing playlists, searching for content, and much more.", + "description": "The YouTube Data API v3 is an API that provides access to YouTube data, such as videos, playlists, and channels.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/youtube/v3", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/VfSXoeTZJSDEPlJ9LkqjGCjn5wo\"", + "documentationLink": "https://developers.google.com/youtube/", + "fullyEncodeReservedExpansion": true, "icons": { - "x16": "https://www.google.com/images/icons/product/youtube-16.png", - "x32": "https://www.google.com/images/icons/product/youtube-32.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "youtube:v3", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "youtube", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -78,49 +106,61 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } }, "protocol": "rest", "resources": { - "activities": { + "abuseReports": { "methods": { "insert": { - "description": "Posts a bulletin for a specific channel. (The user submitting the request must be authorized to act on the channel's behalf.)\n\nNote: Even though an activity resource can contain information about actions like a user rating a video or marking a video as a favorite, you need to use other API methods to generate those activity resources. For example, you would use the API's videos.rate() method to rate a video and the playlistItems.insert() method to mark a video as a favorite.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/abuseReports", "httpMethod": "POST", - "id": "youtube.activities.insert", + "id": "youtube.abuseReports.insert", "parameterOrder": [ "part" ], "parameters": { "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will include.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "activities", + "path": "youtube/v3/abuseReports", "request": { - "$ref": "Activity" + "$ref": "AbuseReport" }, "response": { - "$ref": "Activity" + "$ref": "AbuseReport" }, "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl" ] - }, + } + } + }, + "activities": { + "methods": { "list": { - "description": "Returns a list of channel activity events that match the request criteria. For example, you can retrieve events associated with a particular channel, events associated with the user's subscriptions and Google+ friends, or the YouTube home page feed, which is customized for each user.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/activities", "httpMethod": "GET", "id": "youtube.activities.list", "parameterOrder": [ @@ -128,59 +168,52 @@ ], "parameters": { "channelId": { - "description": "The channelId parameter specifies a unique YouTube channel ID. The API will then return a list of that channel's activities.", "location": "query", "type": "string" }, "home": { - "description": "Set this parameter's value to true to retrieve the activity feed that displays on the YouTube home page for the currently authenticated user.", "location": "query", "type": "boolean" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "mine": { - "description": "Set this parameter's value to true to retrieve a feed of the authenticated user's activities.", "location": "query", "type": "boolean" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more activity resource properties that the API response will include.\n\nIf the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in an activity resource, the snippet property contains other properties that identify the type of activity, a display title for the activity, and so forth. If you set part=snippet, the API response will also contain all of those nested properties.", + "description": "The part parameter specifies a\ncomma-separated list of one or more activity resource\nproperties that the API response will include.

If the parameter\nidentifies a property that contains child properties, the child properties\nwill be included in the response. For example, in an activity\nresource, the snippet property contains other properties that\nidentify the type of activity, a display title for the activity, and so\nforth. If you set part=snippet, the API\nresponse will also contain all of those nested properties.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "publishedAfter": { - "description": "The publishedAfter parameter specifies the earliest date and time that an activity could have occurred for that activity to be included in the API response. If the parameter value specifies a day, but not a time, then any activities that occurred that day will be included in the result set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "format": "google-datetime", "location": "query", "type": "string" }, "publishedBefore": { - "description": "The publishedBefore parameter specifies the date and time before which an activity must have occurred for that activity to be included in the API response. If the parameter value specifies a day, but not a time, then any activities that occurred that day will be excluded from the result set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "format": "google-datetime", "location": "query", "type": "string" }, "regionCode": { - "description": "The regionCode parameter instructs the API to return results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code. YouTube uses this value when the authorized user's previous activity on YouTube does not provide enough information to generate the activity feed.", "location": "query", "type": "string" } }, - "path": "activities", + "path": "youtube/v3/activities", "response": { "$ref": "ActivityListResponse" }, @@ -195,7 +228,8 @@ "captions": { "methods": { "delete": { - "description": "Deletes a specified caption track.", + "description": "Deletes a resource.", + "flatPath": "youtube/v3/captions", "httpMethod": "DELETE", "id": "youtube.captions.delete", "parameterOrder": [ @@ -203,7 +237,6 @@ ], "parameters": { "id": { - "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.", "location": "query", "required": true, "type": "string" @@ -214,19 +247,20 @@ "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the request's authorization credentials identify a YouTube CMS user\nwho is acting on behalf of the content owner specified in the parameter\nvalue. This parameter is intended for YouTube content partners that own and\nmanage many different YouTube channels. It allows content owners to\nauthenticate once and get access to all their video and channel data,\nwithout having to provide authentication credentials for each individual\nchannel. The actual CMS account that the user authenticates with must be\nlinked to the specified YouTube content owner.", "location": "query", "type": "string" } }, - "path": "captions", + "path": "youtube/v3/captions", "scopes": [ "https://www.googleapis.com/auth/youtube.force-ssl", "https://www.googleapis.com/auth/youtubepartner" ] }, "download": { - "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.", + "description": "Downloads a caption track.", + "flatPath": "youtube/v3/captions/{id}", "httpMethod": "GET", "id": "youtube.captions.download", "parameterOrder": [ @@ -234,7 +268,7 @@ ], "parameters": { "id": { - "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.", + "description": "The ID of the caption track to download, required for One Platform.", "location": "path", "required": true, "type": "string" @@ -245,58 +279,42 @@ "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the request's authorization credentials identify a YouTube CMS user\nwho is acting on behalf of the content owner specified in the parameter\nvalue. This parameter is intended for YouTube content partners that own and\nmanage many different YouTube channels. It allows content owners to\nauthenticate once and get access to all their video and channel data,\nwithout having to provide authentication credentials for each individual\nchannel. The actual CMS account that the user authenticates with must be\nlinked to the specified YouTube content owner.", "location": "query", "type": "string" }, "tfmt": { - "description": "The tfmt parameter specifies that the caption track should be returned in a specific format. If the parameter is not included in the request, the track is returned in its original format.", - "enum": [ - "sbv", - "scc", - "srt", - "ttml", - "vtt" - ], - "enumDescriptions": [ - "SubViewer subtitle.", - "Scenarist Closed Caption format.", - "SubRip subtitle.", - "Timed Text Markup Language caption.", - "Web Video Text Tracks caption." - ], + "description": "Convert the captions into this format. Supported options are\nsbv, srt, and vtt.", "location": "query", "type": "string" }, "tlang": { - "description": "The tlang parameter specifies that the API response should return a translation of the specified caption track. The parameter value is an ISO 639-1 two-letter language code that identifies the desired caption language. The translation is generated by using machine translation, such as Google Translate.", + "description": "tlang is the language code; machine translate the captions into\nthis language.", "location": "query", "type": "string" } }, - "path": "captions/{id}", + "path": "youtube/v3/captions/{id}", "scopes": [ "https://www.googleapis.com/auth/youtube.force-ssl", "https://www.googleapis.com/auth/youtubepartner" ], - "supportsMediaDownload": true + "supportsMediaDownload": true, + "useMediaDownloadService": true }, "insert": { - "description": "Uploads a caption track.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/captions", "httpMethod": "POST", "id": "youtube.captions.insert", "mediaUpload": { "accept": [ - "*/*", + "text/xml", "application/octet-stream", - "text/xml" + "*/*" ], - "maxSize": "100MB", + "maxSize": "104857600", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/youtube/v3/captions" - }, "simple": { "multipart": true, "path": "/upload/youtube/v3/captions" @@ -313,23 +331,24 @@ "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the request's authorization credentials identify a YouTube CMS user\nwho is acting on behalf of the content owner specified in the parameter\nvalue. This parameter is intended for YouTube content partners that own and\nmanage many different YouTube channels. It allows content owners to\nauthenticate once and get access to all their video and channel data,\nwithout having to provide authentication credentials for each individual\nchannel. The actual CMS account that the user authenticates with must be\nlinked to the specified YouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the caption resource parts that the API response will include. Set the parameter value to snippet.", + "description": "The part parameter specifies the\ncaption resource parts that the API response will include. Set\nthe parameter value to snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "sync": { - "description": "The sync parameter indicates whether YouTube should automatically synchronize the caption file with the audio track of the video. If you set the value to true, YouTube will disregard any time codes that are in the uploaded caption file and generate new time codes for the captions.\n\nYou should set the sync parameter to true if you are uploading a transcript, which has no time codes, or if you suspect the time codes in your file are incorrect and want YouTube to try to fix them.", + "description": "Extra parameter to allow automatically syncing the uploaded\ncaption/transcript with the audio.", "location": "query", "type": "boolean" } }, - "path": "captions", + "path": "youtube/v3/captions", "request": { "$ref": "Caption" }, @@ -343,17 +362,19 @@ "supportsMediaUpload": true }, "list": { - "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.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/captions", "httpMethod": "GET", "id": "youtube.captions.list", "parameterOrder": [ - "part", - "videoId" + "videoId", + "part" ], "parameters": { "id": { - "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.", + "description": "Returns the captions with the given IDs for Stubby or Apiary.", "location": "query", + "repeated": true, "type": "string" }, "onBehalfOf": { @@ -362,24 +383,25 @@ "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the request's authorization credentials identify a YouTube CMS user\nwho is acting on behalf of the content owner specified in the parameter\nvalue. This parameter is intended for YouTube content partners that own and\nmanage many different YouTube channels. It allows content owners to\nauthenticate once and get access to all their video and channel data,\nwithout having to provide authentication credentials for each individual\nchannel. The actual CMS account that the user authenticates with must be\nlinked to the specified YouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more caption resource parts that the API response will include. The part names that you can include in the parameter value are id and snippet.", + "description": "The part parameter specifies a\ncomma-separated list of one or more caption resource parts\nthat the API response will include. The part names that you\ncan include in the parameter value are id and\nsnippet.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "videoId": { - "description": "The videoId parameter specifies the YouTube video ID of the video for which the API should return caption tracks.", + "description": "Returns the captions for the specified video.", "location": "query", "required": true, "type": "string" } }, - "path": "captions", + "path": "youtube/v3/captions", "response": { "$ref": "CaptionListResponse" }, @@ -389,21 +411,18 @@ ] }, "update": { - "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.", + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/captions", "httpMethod": "PUT", "id": "youtube.captions.update", "mediaUpload": { "accept": [ - "*/*", + "text/xml", "application/octet-stream", - "text/xml" + "*/*" ], - "maxSize": "100MB", + "maxSize": "104857600", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/youtube/v3/captions" - }, "simple": { "multipart": true, "path": "/upload/youtube/v3/captions" @@ -415,28 +434,29 @@ ], "parameters": { "onBehalfOf": { - "description": "ID of the Google+ Page for the channel that the request is be on behalf of", + "description": "ID of the Google+ Page for the channel that the request is on behalf of.", "location": "query", "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the request's authorization credentials identify a YouTube CMS user\nwho is acting on behalf of the content owner specified in the parameter\nvalue. This parameter is intended for YouTube content partners that own and\nmanage many different YouTube channels. It allows content owners to\nauthenticate once and get access to all their video and channel data,\nwithout having to provide authentication credentials for each individual\nchannel. The actual CMS account that the user authenticates with must be\nlinked to the specified YouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. Set the property value to snippet if you are updating the track's draft status. Otherwise, set the property value to id.", + "description": "The part parameter specifies a\ncomma-separated list of one or more caption resource parts\nthat the API response will include. The part names that you\ncan include in the parameter value are id and\nsnippet.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "sync": { - "description": "Note: The API server only processes the parameter value if the request contains an updated caption file.\n\nThe sync parameter indicates whether YouTube should automatically synchronize the caption file with the audio track of the video. If you set the value to true, YouTube will automatically synchronize the caption track with the audio track.", + "description": "Extra parameter to allow automatically syncing the uploaded\ncaption/transcript with the audio.", "location": "query", "type": "boolean" } }, - "path": "captions", + "path": "youtube/v3/captions", "request": { "$ref": "Caption" }, @@ -454,40 +474,43 @@ "channelBanners": { "methods": { "insert": { - "description": "Uploads a channel banner image to YouTube. This method represents the first two steps in a three-step process to update the banner image for a channel:\n\n- Call the channelBanners.insert method to upload the binary image data to YouTube. The image must have a 16:9 aspect ratio and be at least 2120x1192 pixels.\n- Extract the url property's value from the response that the API returns for step 1.\n- Call the channels.update method to update the channel's branding settings. Set the brandingSettings.image.bannerExternalUrl property's value to the URL obtained in step 2.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/channelBanners/insert", "httpMethod": "POST", "id": "youtube.channelBanners.insert", "mediaUpload": { "accept": [ - "application/octet-stream", "image/jpeg", - "image/png" + "image/png", + "application/octet-stream" ], - "maxSize": "6MB", + "maxSize": "6291456", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/youtube/v3/channelBanners/insert" - }, "simple": { "multipart": true, "path": "/upload/youtube/v3/channelBanners/insert" } } }, + "parameterOrder": [], "parameters": { "channelId": { - "description": "The channelId parameter identifies the YouTube channel to which the banner is uploaded. The channelId parameter was introduced as a required parameter in May 2017. As this was a backward-incompatible change, channelBanners.insert requests that do not specify this parameter will not return an error until six months have passed from the time that the parameter was introduced. Please see the API Terms of Service for the official policy regarding backward incompatible changes and the API revision history for the exact date that the parameter was introduced.", + "description": "Unused, channel_id is currently derived from the security context of the\nrequestor.", "location": "query", "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the request's authorization credentials identify a YouTube CMS user\nwho is acting on behalf of the content owner specified in the parameter\nvalue. This parameter is intended for YouTube content partners that own and\nmanage many different YouTube channels. It allows content owners to\nauthenticate once and get access to all their video and channel data,\nwithout having to provide authentication credentials for each individual\nchannel. The actual CMS account that the user authenticates with must be\nlinked to the specified YouTube content owner.", + "location": "query", + "type": "string" + }, + "onBehalfOfContentOwnerChannel": { + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" } }, - "path": "channelBanners/insert", + "path": "youtube/v3/channelBanners/insert", "request": { "$ref": "ChannelBannerResource" }, @@ -506,7 +529,8 @@ "channelSections": { "methods": { "delete": { - "description": "Deletes a channelSection.", + "description": "Deletes a resource.", + "flatPath": "youtube/v3/channelSections", "httpMethod": "DELETE", "id": "youtube.channelSections.delete", "parameterOrder": [ @@ -514,18 +538,17 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube channelSection ID for the resource that is being deleted. In a channelSection resource, the id property specifies the YouTube channelSection ID.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" } }, - "path": "channelSections", + "path": "youtube/v3/channelSections", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", @@ -533,7 +556,8 @@ ] }, "insert": { - "description": "Adds a channelSection for the authenticated user's channel.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/channelSections", "httpMethod": "POST", "id": "youtube.channelSections.insert", "parameterOrder": [ @@ -541,23 +565,24 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nThe part names that you can include in the parameter value are snippet and contentDetails.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

The part names that you can include in the\nparameter value are snippet and contentDetails.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "channelSections", + "path": "youtube/v3/channelSections", "request": { "$ref": "ChannelSection" }, @@ -571,7 +596,8 @@ ] }, "list": { - "description": "Returns channelSection resources that match the API request criteria.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/channelSections", "httpMethod": "GET", "id": "youtube.channelSections.list", "parameterOrder": [ @@ -579,38 +605,40 @@ ], "parameters": { "channelId": { - "description": "The channelId parameter specifies a YouTube channel ID. The API will only return that channel's channelSections.", + "description": "Return the ChannelSections owned by the specified channel ID.", "location": "query", "type": "string" }, "hl": { - "description": "The hl parameter indicates that the snippet.localized property values in the returned channelSection resources should be in the specified language if localized values for that language are available. For example, if the API request specifies hl=de, the snippet.localized properties in the API response will contain German titles if German titles are available. Channel owners can provide localized channel section titles using either the channelSections.insert or channelSections.update method.", + "description": "Return content in specified language", "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of the YouTube channelSection ID(s) for the resource(s) that are being retrieved. In a channelSection resource, the id property specifies the YouTube channelSection ID.", + "description": "Return the ChannelSections with the given IDs for Stubby or Apiary.", "location": "query", + "repeated": true, "type": "string" }, "mine": { - "description": "Set this parameter's value to true to retrieve a feed of the authenticated user's channelSections.", + "description": "Return the ChannelSections owned by the authenticated user.", "location": "query", "type": "boolean" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more channelSection resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails.\n\nIf the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channelSection resource, the snippet property contains other properties, such as a display title for the channelSection. If you set part=snippet, the API response will also contain all of those nested properties.", + "description": "The part parameter specifies a\ncomma-separated list of one or more channelSection resource\nproperties that the API response will include. The part names\nthat you can include in the parameter value are id,\nsnippet, and contentDetails.

If the\nparameter identifies a property that contains child properties, the child\nproperties will be included in the response. For example, in a\nchannelSection resource, the snippet property\ncontains other properties, such as a display title for the channelSection.\nIf you set part=snippet, the API response\nwill also contain all of those nested properties.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "channelSections", + "path": "youtube/v3/channelSections", "response": { "$ref": "ChannelSectionListResponse" }, @@ -622,7 +650,8 @@ ] }, "update": { - "description": "Update a channelSection.", + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/channelSections", "httpMethod": "PUT", "id": "youtube.channelSections.update", "parameterOrder": [ @@ -630,18 +659,19 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nThe part names that you can include in the parameter value are snippet and contentDetails.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

The part names that you can include in the\nparameter value are snippet and contentDetails.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "channelSections", + "path": "youtube/v3/channelSections", "request": { "$ref": "ChannelSection" }, @@ -659,7 +689,8 @@ "channels": { "methods": { "list": { - "description": "Returns a collection of zero or more channel resources that match the request criteria.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/channels", "httpMethod": "GET", "id": "youtube.channels.list", "parameterOrder": [ @@ -667,67 +698,67 @@ ], "parameters": { "categoryId": { - "description": "The categoryId parameter specifies a YouTube guide category, thereby requesting YouTube channels associated with that category.", + "description": "Return the channels within the specified guide category ID.", "location": "query", "type": "string" }, "forUsername": { - "description": "The forUsername parameter specifies a YouTube username, thereby requesting the channel associated with that username.", + "description": "Return the channel associated with a YouTube username.", "location": "query", "type": "string" }, "hl": { - "description": "The hl parameter should be used for filter out the properties that are not in the given language. Used for the brandingSettings part.", + "description": "Stands for \"host language\". Specifies the localization language of the\nmetadata to be filled into snippet.localized. The field is filled with the\ndefault metadata if there is no localization in the specified language.\nThe parameter value must be a language code included in the list returned\nby the i18nLanguages.list method (e.g. en_US, es_MX).", "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of the YouTube channel ID(s) for the resource(s) that are being retrieved. In a channel resource, the id property specifies the channel's YouTube channel ID.", + "description": "Return the channels with the specified IDs.", "location": "query", + "repeated": true, "type": "string" }, "managedByMe": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nSet this parameter's value to true to instruct the API to only return channels managed by the content owner that the onBehalfOfContentOwner parameter specifies. The user must be authenticated as a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided.", + "description": "Return the channels managed by the authenticated user.", "location": "query", "type": "boolean" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "mine": { - "description": "Set this parameter's value to true to instruct the API to only return channels owned by the authenticated user.", + "description": "Return the ids of channels owned by the authenticated user.", "location": "query", "type": "boolean" }, "mySubscribers": { - "description": "Use the subscriptions.list method and its mySubscribers parameter to retrieve a list of subscribers to the authenticated user's channel.", + "description": "Return the channels subscribed to the authenticated user", "location": "query", "type": "boolean" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more channel resource properties that the API response will include.\n\nIf the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channel resource, the contentDetails property contains other properties, such as the uploads properties. As such, if you set part=contentDetails, the API response will also contain all of those nested properties.", + "description": "The part parameter specifies a\ncomma-separated list of one or more channel resource\nproperties that the API response will include.

If the parameter\nidentifies a property that contains child properties, the child properties\nwill be included in the response. For example, in a channel\nresource, the contentDetails property contains other\nproperties, such as the uploads properties. As such, if you\nset part=contentDetails, the API response\nwill also contain all of those nested properties.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "channels", + "path": "youtube/v3/channels", "response": { "$ref": "ChannelListResponse" }, @@ -740,7 +771,8 @@ ] }, "update": { - "description": "Updates a channel's metadata. Note that this method currently only supports updates to the channel resource's brandingSettings and invideoPromotion objects and their child properties.", + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/channels", "httpMethod": "PUT", "id": "youtube.channels.update", "parameterOrder": [ @@ -748,18 +780,19 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.", + "description": "The onBehalfOfContentOwner parameter\nindicates that the authenticated user is acting on behalf of the content\nowner specified in the parameter value. This parameter is intended for\nYouTube content partners that own and manage many different YouTube\nchannels. It allows content owners to authenticate once and get access to\nall their video and channel data, without having to provide authentication\ncredentials for each individual channel. The actual CMS account that the\nuser authenticates with needs to be linked to the specified YouTube content\nowner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nThe API currently only allows the parameter value to be set to either brandingSettings or invideoPromotion. (You cannot update both of those parts with a single request.)\n\nNote that this method overrides the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

The API currently only allows the parameter value to be\nset to either brandingSettings or\ninvideoPromotion. (You cannot update both of those parts with\na single request.)

Note that this method overrides the existing\nvalues for all of the mutable properties that are contained in any parts\nthat the parameter value specifies.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "channels", + "path": "youtube/v3/channels", "request": { "$ref": "Channel" }, @@ -777,7 +810,8 @@ "commentThreads": { "methods": { "insert": { - "description": "Creates a new top-level comment. To add a reply to an existing comment, use the comments.insert method instead.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/commentThreads", "httpMethod": "POST", "id": "youtube.commentThreads.insert", "parameterOrder": [ @@ -785,13 +819,14 @@ ], "parameters": { "part": { - "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.", + "description": "The part parameter identifies the properties\nthat the API response will include. Set the parameter value to\nsnippet. The snippet part has a quota cost of 2\nunits.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "commentThreads", + "path": "youtube/v3/commentThreads", "request": { "$ref": "CommentThread" }, @@ -803,7 +838,8 @@ ] }, "list": { - "description": "Returns a list of comment threads that match the API request parameters.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/commentThreads", "httpMethod": "GET", "id": "youtube.commentThreads.list", "parameterOrder": [ @@ -811,96 +847,85 @@ ], "parameters": { "allThreadsRelatedToChannelId": { - "description": "The allThreadsRelatedToChannelId parameter instructs the API to return all comment threads associated with the specified channel. The response can include comments about the channel or about the channel's videos.", + "description": "Returns the comment threads of all videos of the channel and the\nchannel comments as well.", "location": "query", "type": "string" }, "channelId": { - "description": "The channelId parameter instructs the API to return comment threads containing comments about the specified channel. (The response will not include comments left on videos that the channel uploaded.)", + "description": "Returns the comment threads for all the channel comments (ie does not\ninclude comments left on videos).", "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of comment thread IDs for the resources that should be retrieved.", + "description": "Returns the comment threads with the given IDs for Stubby or Apiary.", "location": "query", + "repeated": true, "type": "string" }, "maxResults": { "default": "20", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.\n\nNote: This parameter is not supported for use in conjunction with the id parameter.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "100", - "minimum": "1", "type": "integer" }, "moderationStatus": { - "default": "MODERATION_STATUS_PUBLISHED", - "description": "Set this parameter to limit the returned comment threads to a particular moderation state.\n\nNote: This parameter is not supported for use in conjunction with the id parameter.", + "default": "published", + "description": "Limits the returned comment threads to those with the specified\nmoderation status. Not compatible with the 'id' filter.\nValid values: published, heldForReview, likelySpam.", "enum": [ + "published", "heldForReview", "likelySpam", - "published" - ], - "enumDescriptions": [ - "Retrieve comment threads that are awaiting review by a moderator. A comment thread can be included in the response if the top-level comment or at least one of the replies to that comment are awaiting review.", - "Retrieve comment threads classified as likely to be spam. A comment thread can be included in the response if the top-level comment or at least one of the replies to that comment is considered likely to be spam.", - "Retrieve threads of published comments. This is the default value. A comment thread can be included in the response if its top-level comment has been published." + "rejected" ], "location": "query", "type": "string" }, "order": { - "default": "true", - "description": "The order parameter specifies the order in which the API response should list comment threads. Valid values are: \n- time - Comment threads are ordered by time. This is the default behavior.\n- relevance - Comment threads are ordered by relevance.Note: This parameter is not supported for use in conjunction with the id parameter.", + "default": "time", "enum": [ - "relevance", - "time" - ], - "enumDescriptions": [ - "Order by relevance.", - "Order by time." + "orderUnspecified", + "time", + "relevance" ], "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page of the result that can be retrieved.\n\nNote: This parameter is not supported for use in conjunction with the id parameter.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more commentThread resource properties that the API response will include.", + "description": "The part parameter specifies a\ncomma-separated list of one or more commentThread resource\nproperties that the API response will include.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "searchTerms": { - "description": "The searchTerms parameter instructs the API to limit the API response to only contain comments that contain the specified search terms.\n\nNote: This parameter is not supported for use in conjunction with the id parameter.", + "description": "Limits the returned comment threads to those matching the specified\nkey words. Not compatible with the 'id' filter.", "location": "query", "type": "string" }, "textFormat": { - "default": "FORMAT_HTML", - "description": "Set this parameter's value to html or plainText to instruct the API to return the comments left by users in html formatted or in plain text.", + "default": "html", + "description": "The requested text format for the returned comments.", "enum": [ + "textFormatUnspecified", "html", "plainText" ], - "enumDescriptions": [ - "Returns the comments in HTML format. This is the default value.", - "Returns the comments in plain text format." - ], "location": "query", "type": "string" }, "videoId": { - "description": "The videoId parameter instructs the API to return comment threads associated with the specified video ID.", + "description": "Returns the comment threads of the specified video.", "location": "query", "type": "string" } }, - "path": "commentThreads", + "path": "youtube/v3/commentThreads", "response": { "$ref": "CommentThreadListResponse" }, @@ -909,7 +934,8 @@ ] }, "update": { - "description": "Modifies the top-level comment in a comment thread.", + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/commentThreads", "httpMethod": "PUT", "id": "youtube.commentThreads.update", "parameterOrder": [ @@ -917,13 +943,14 @@ ], "parameters": { "part": { - "description": "The part parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update.", + "description": "The part parameter specifies a\ncomma-separated list of commentThread resource properties that\nthe API response will include. You must at least include the\nsnippet part in the parameter value since that part contains\nall of the properties that the API request can update.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "commentThreads", + "path": "youtube/v3/commentThreads", "request": { "$ref": "CommentThread" }, @@ -939,7 +966,8 @@ "comments": { "methods": { "delete": { - "description": "Deletes a comment.", + "description": "Deletes a resource.", + "flatPath": "youtube/v3/comments", "httpMethod": "DELETE", "id": "youtube.comments.delete", "parameterOrder": [ @@ -947,19 +975,19 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the comment ID for the resource that is being deleted.", "location": "query", "required": true, "type": "string" } }, - "path": "comments", + "path": "youtube/v3/comments", "scopes": [ "https://www.googleapis.com/auth/youtube.force-ssl" ] }, "insert": { - "description": "Creates a reply to an existing comment. Note: To create a top-level comment, use the commentThreads.insert method.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/comments", "httpMethod": "POST", "id": "youtube.comments.insert", "parameterOrder": [ @@ -967,13 +995,14 @@ ], "parameters": { "part": { - "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.", + "description": "The part parameter identifies the properties\nthat the API response will include. Set the parameter value to\nsnippet. The snippet part has a quota cost of 2\nunits.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "comments", + "path": "youtube/v3/comments", "request": { "$ref": "Comment" }, @@ -985,7 +1014,8 @@ ] }, "list": { - "description": "Returns a list of comments that match the API request parameters.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/comments", "httpMethod": "GET", "id": "youtube.comments.list", "parameterOrder": [ @@ -993,51 +1023,48 @@ ], "parameters": { "id": { - "description": "The id parameter specifies a comma-separated list of comment IDs for the resources that are being retrieved. In a comment resource, the id property specifies the comment's ID.", + "description": "Returns the comments with the given IDs for One Platform.", "location": "query", + "repeated": true, "type": "string" }, "maxResults": { "default": "20", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.\n\nNote: This parameter is not supported for use in conjunction with the id parameter.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "100", - "minimum": "1", "type": "integer" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page of the result that can be retrieved.\n\nNote: This parameter is not supported for use in conjunction with the id parameter.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "parentId": { - "description": "The parentId parameter specifies the ID of the comment for which replies should be retrieved.\n\nNote: YouTube currently supports replies only for top-level comments. However, replies to replies may be supported in the future.", + "description": "Returns replies to the specified comment.\nNote, currently YouTube features only one level of replies (ie replies\nto top level comments). However replies to replies may be supported in\nthe future.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more comment resource properties that the API response will include.", + "description": "The part parameter specifies a\ncomma-separated list of one or more comment resource\nproperties that the API response will include.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "textFormat": { - "default": "FORMAT_HTML", - "description": "This parameter indicates whether the API should return comments formatted as HTML or as plain text.", + "default": "html", + "description": "The requested text format for the returned comments.", "enum": [ + "textFormatUnspecified", "html", "plainText" ], - "enumDescriptions": [ - "Returns the comments in HTML format. This is the default value.", - "Returns the comments in plain text format." - ], "location": "query", "type": "string" } }, - "path": "comments", + "path": "youtube/v3/comments", "response": { "$ref": "CommentListResponse" }, @@ -1046,7 +1073,8 @@ ] }, "markAsSpam": { - "description": "Expresses the caller's opinion that one or more comments should be flagged as spam.", + "description": "Expresses the caller's opinion that one or more comments should be flagged\nas spam.", + "flatPath": "youtube/v3/comments/markAsSpam", "httpMethod": "POST", "id": "youtube.comments.markAsSpam", "parameterOrder": [ @@ -1054,19 +1082,21 @@ ], "parameters": { "id": { - "description": "The id parameter specifies a comma-separated list of IDs of comments that the caller believes should be classified as spam.", + "description": "Flags the comments with the given IDs as spam in the caller's opinion.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "comments/markAsSpam", + "path": "youtube/v3/comments/markAsSpam", "scopes": [ "https://www.googleapis.com/auth/youtube.force-ssl" ] }, "setModerationStatus": { - "description": "Sets the moderation status of one or more comments. The API request must be authorized by the owner of the channel or video associated with the comments.", + "description": "Sets the moderation status of one or more comments.", + "flatPath": "youtube/v3/comments/setModerationStatus", "httpMethod": "POST", "id": "youtube.comments.setModerationStatus", "parameterOrder": [ @@ -1076,40 +1106,38 @@ "parameters": { "banAuthor": { "default": "false", - "description": "The banAuthor parameter lets you indicate that you want to automatically reject any additional comments written by the comment's author. Set the parameter value to true to ban the author.\n\nNote: This parameter is only valid if the moderationStatus parameter is also set to rejected.", + "description": "If set to true the author of the comment gets added to the ban list.\nThis means all future comments of the author will autmomatically be\nrejected.\nOnly valid in combination with STATUS_REJECTED.", "location": "query", "type": "boolean" }, "id": { - "description": "The id parameter specifies a comma-separated list of IDs that identify the comments for which you are updating the moderation status.", + "description": "Modifies the moderation status of the comments with the given IDs", "location": "query", + "repeated": true, "required": true, "type": "string" }, "moderationStatus": { - "description": "Identifies the new moderation status of the specified comments.", + "description": "Specifies the requested moderation status. Note, comments can be in\nstatuses, which are not available through this call. For example, this\ncall does not allow to mark a comment as 'likely spam'.\nValid values: MODERATION_STATUS_PUBLISHED,\nMODERATION_STATUS_HELD_FOR_REVIEW, MODERATION_STATUS_REJECTED.", "enum": [ - "heldForReview", "published", + "heldForReview", + "likelySpam", "rejected" ], - "enumDescriptions": [ - "Marks a comment as awaiting review by a moderator.", - "Clears a comment for public display.", - "Rejects a comment as being unfit for display. This action also effectively hides all replies to the rejected comment.\n\nNote: The API does not currently provide a way to list or otherwise discover rejected comments. However, you can change the moderation status of a rejected comment if you still know its ID. If you were to change the moderation status of a rejected comment, the comment replies would subsequently be discoverable again as well." - ], "location": "query", "required": true, "type": "string" } }, - "path": "comments/setModerationStatus", + "path": "youtube/v3/comments/setModerationStatus", "scopes": [ "https://www.googleapis.com/auth/youtube.force-ssl" ] }, "update": { - "description": "Modifies a comment.", + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/comments", "httpMethod": "PUT", "id": "youtube.comments.update", "parameterOrder": [ @@ -1117,13 +1145,14 @@ ], "parameters": { "part": { - "description": "The part parameter identifies the properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update.", + "description": "The part parameter identifies the properties\nthat the API response will include. You must at least include the\nsnippet part in the parameter value since that part contains\nall of the properties that the API request can update.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "comments", + "path": "youtube/v3/comments", "request": { "$ref": "Comment" }, @@ -1139,7 +1168,8 @@ "guideCategories": { "methods": { "list": { - "description": "Returns a list of categories that can be associated with YouTube channels.", + "description": "Retrieves a list of guide categories.", + "flatPath": "youtube/v3/guideCategories", "httpMethod": "GET", "id": "youtube.guideCategories.list", "parameterOrder": [ @@ -1148,28 +1178,29 @@ "parameters": { "hl": { "default": "en-US", - "description": "The hl parameter specifies the language that will be used for text values in the API response.", "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of the YouTube channel category ID(s) for the resource(s) that are being retrieved. In a guideCategory resource, the id property specifies the YouTube channel category ID.", + "description": "Return the guide categories with the given IDs.", "location": "query", + "repeated": true, "type": "string" }, "part": { - "description": "The part parameter specifies the guideCategory resource properties that the API response will include. Set the parameter value to snippet.", + "description": "The part parameter specifies the\nguideCategory resource properties that the API response will\ninclude. Set the parameter value to snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "regionCode": { - "description": "The regionCode parameter instructs the API to return the list of guide categories available in the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.", + "description": "Return all categories in the given region code.", "location": "query", "type": "string" } }, - "path": "guideCategories", + "path": "youtube/v3/guideCategories", "response": { "$ref": "GuideCategoryListResponse" }, @@ -1185,7 +1216,8 @@ "i18nLanguages": { "methods": { "list": { - "description": "Returns a list of application languages that the YouTube website supports.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/i18nLanguages", "httpMethod": "GET", "id": "youtube.i18nLanguages.list", "parameterOrder": [ @@ -1194,18 +1226,18 @@ "parameters": { "hl": { "default": "en_US", - "description": "The hl parameter specifies the language that should be used for text values in the API response.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the i18nLanguage resource properties that the API response will include. Set the parameter value to snippet.", + "description": "The part parameter specifies the\ni18nLanguage resource properties that the API response will\ninclude. Set the parameter value to snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "i18nLanguages", + "path": "youtube/v3/i18nLanguages", "response": { "$ref": "I18nLanguageListResponse" }, @@ -1221,7 +1253,8 @@ "i18nRegions": { "methods": { "list": { - "description": "Returns a list of content regions that the YouTube website supports.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/i18nRegions", "httpMethod": "GET", "id": "youtube.i18nRegions.list", "parameterOrder": [ @@ -1230,18 +1263,18 @@ "parameters": { "hl": { "default": "en_US", - "description": "The hl parameter specifies the language that should be used for text values in the API response.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the i18nRegion resource properties that the API response will include. Set the parameter value to snippet.", + "description": "The part parameter specifies the\ni18nRegion resource properties that the API response will\ninclude. Set the parameter value to snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "i18nRegions", + "path": "youtube/v3/i18nRegions", "response": { "$ref": "I18nRegionListResponse" }, @@ -1257,7 +1290,8 @@ "liveBroadcasts": { "methods": { "bind": { - "description": "Binds a YouTube broadcast to a stream or removes an existing binding between a broadcast and a stream. A broadcast can only be bound to one video stream, though a video stream may be bound to more than one broadcast.", + "description": "Bind a broadcast to a stream.", + "flatPath": "youtube/v3/liveBroadcasts/bind", "httpMethod": "POST", "id": "youtube.liveBroadcasts.bind", "parameterOrder": [ @@ -1266,34 +1300,35 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the unique ID of the broadcast that is being bound to a video stream.", + "description": "Broadcast to bind to the stream", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.", + "description": "The part parameter specifies a\ncomma-separated list of one or more liveBroadcast resource\nproperties that the API response will include. The part names\nthat you can include in the parameter value are id,\nsnippet, contentDetails, and status.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "streamId": { - "description": "The streamId parameter specifies the unique ID of the video stream that is being bound to a broadcast. If this parameter is omitted, the API will remove any existing binding between the broadcast and a video stream.", + "description": "Stream to bind, if not set unbind the current one.", "location": "query", "type": "string" } }, - "path": "liveBroadcasts/bind", + "path": "youtube/v3/liveBroadcasts/bind", "response": { "$ref": "LiveBroadcast" }, @@ -1303,7 +1338,8 @@ ] }, "control": { - "description": "Controls the settings for a slate that can be displayed in the broadcast stream.", + "description": "Slate and recording control of the live broadcast.\nSupport actions: slate on/off, recording start/stop/pause/resume.\nDesign doc: goto/yt-api-liveBroadcast-control", + "flatPath": "youtube/v3/liveBroadcasts/control", "httpMethod": "POST", "id": "youtube.liveBroadcasts.control", "parameterOrder": [ @@ -1312,46 +1348,47 @@ ], "parameters": { "displaySlate": { - "description": "The displaySlate parameter specifies whether the slate is being enabled or disabled.", + "description": "Whether display or hide slate.", "location": "query", "type": "boolean" }, "id": { - "description": "The id parameter specifies the YouTube live broadcast ID that uniquely identifies the broadcast in which the slate is being updated.", + "description": "Broadcast to operate.", "location": "query", "required": true, "type": "string" }, "offsetTimeMs": { - "description": "The offsetTimeMs parameter specifies a positive time offset when the specified slate change will occur. The value is measured in milliseconds from the beginning of the broadcast's monitor stream, which is the time that the testing phase for the broadcast began. Even though it is specified in milliseconds, the value is actually an approximation, and YouTube completes the requested action as closely as possible to that time.\n\nIf you do not specify a value for this parameter, then YouTube performs the action as soon as possible. See the Getting started guide for more details.\n\nImportant: You should only specify a value for this parameter if your broadcast stream is delayed.", + "description": "The exact time when the actions (e.g. slate on) are executed.\nIt is an offset from the first frame of the monitor stream.\nIf not set, it means \"now\" or ASAP.\nThis field should not be set if the monitor stream is disabled,\notherwise an error will be returned.", "format": "uint64", "location": "query", "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.", + "description": "The part parameter specifies a\ncomma-separated list of one or more liveBroadcast resource\nproperties that the API response will include. The part names\nthat you can include in the parameter value are id,\nsnippet, contentDetails, and status.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "walltime": { - "description": "The walltime parameter specifies the wall clock time at which the specified slate change will occur. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ) format.", - "format": "date-time", + "description": "The wall clock time at which the action should be executed.\nOnly one of offset_time_ms and walltime may be set at a time.", + "format": "google-datetime", "location": "query", "type": "string" } }, - "path": "liveBroadcasts/control", + "path": "youtube/v3/liveBroadcasts/control", "response": { "$ref": "LiveBroadcast" }, @@ -1361,7 +1398,8 @@ ] }, "delete": { - "description": "Deletes a broadcast.", + "description": "Delete a given broadcast.", + "flatPath": "youtube/v3/liveBroadcasts", "httpMethod": "DELETE", "id": "youtube.liveBroadcasts.delete", "parameterOrder": [ @@ -1369,30 +1407,30 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" } }, - "path": "liveBroadcasts", + "path": "youtube/v3/liveBroadcasts", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl" ] }, "insert": { - "description": "Creates a broadcast.", + "description": "Inserts a new stream for the authenticated user.", + "flatPath": "youtube/v3/liveBroadcasts", "httpMethod": "POST", "id": "youtube.liveBroadcasts.insert", "parameterOrder": [ @@ -1400,23 +1438,24 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nThe part properties that you can include in the parameter value are id, snippet, contentDetails, and status.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

The part properties that you can include in\nthe parameter value are id, snippet,\ncontentDetails, and status.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveBroadcasts", + "path": "youtube/v3/liveBroadcasts", "request": { "$ref": "LiveBroadcast" }, @@ -1429,7 +1468,8 @@ ] }, "list": { - "description": "Returns a list of YouTube broadcasts that match the API request parameters.", + "description": "Retrieve the list of broadcasts associated with the given channel.", + "flatPath": "youtube/v3/liveBroadcasts", "httpMethod": "GET", "id": "youtube.liveBroadcasts.list", "parameterOrder": [ @@ -1437,80 +1477,70 @@ ], "parameters": { "broadcastStatus": { - "description": "The broadcastStatus parameter filters the API response to only include broadcasts with the specified status.", + "description": "Return broadcasts with a certain status, e.g. active broadcasts.", "enum": [ - "active", + "broadcastStatusFilterUnspecified", "all", - "completed", - "upcoming" - ], - "enumDescriptions": [ - "Return current live broadcasts.", - "Return all broadcasts.", - "Return broadcasts that have already ended.", - "Return broadcasts that have not yet started." + "active", + "upcoming", + "completed" ], "location": "query", "type": "string" }, "broadcastType": { - "default": "BROADCAST_TYPE_FILTER_EVENT", - "description": "The broadcastType parameter filters the API response to only include broadcasts with the specified type. This is only compatible with the mine filter for now.", + "default": "event", + "description": "Return only broadcasts with the selected type.", "enum": [ + "broadcastTypeFilterUnspecified", "all", "event", "persistent" ], - "enumDescriptions": [ - "Return all broadcasts.", - "Return only scheduled event broadcasts.", - "Return only persistent broadcasts." - ], "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of YouTube broadcast IDs that identify the broadcasts being retrieved. In a liveBroadcast resource, the id property specifies the broadcast's ID.", + "description": "Return broadcasts with the given ids from Stubby or Apiary.", "location": "query", + "repeated": true, "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "mine": { - "description": "The mine parameter can be used to instruct the API to only return broadcasts owned by the authenticated user. Set the parameter value to true to only retrieve your own broadcasts.", "location": "query", "type": "boolean" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.", + "description": "The part parameter specifies a\ncomma-separated list of one or more liveBroadcast resource\nproperties that the API response will include. The part names\nthat you can include in the parameter value are id,\nsnippet, contentDetails, and status.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveBroadcasts", + "path": "youtube/v3/liveBroadcasts", "response": { "$ref": "LiveBroadcastListResponse" }, @@ -1521,55 +1551,53 @@ ] }, "transition": { - "description": "Changes the status of a YouTube live broadcast and initiates any processes associated with the new status. For example, when you transition a broadcast's status to testing, YouTube starts to transmit video to that broadcast's monitor stream. Before calling this method, you should confirm that the value of the status.streamStatus property for the stream bound to your broadcast is active.", + "description": "Transition a broadcast to a given status.", + "flatPath": "youtube/v3/liveBroadcasts/transition", "httpMethod": "POST", "id": "youtube.liveBroadcasts.transition", "parameterOrder": [ - "broadcastStatus", "id", + "broadcastStatus", "part" ], "parameters": { "broadcastStatus": { - "description": "The broadcastStatus parameter identifies the state to which the broadcast is changing. Note that to transition a broadcast to either the testing or live state, the status.streamStatus must be active for the stream that the broadcast is bound to.", + "description": "The status to which the broadcast is going to transition.", "enum": [ - "complete", + "statusUnspecified", + "testing", "live", - "testing" - ], - "enumDescriptions": [ - "The broadcast is over. YouTube stops transmitting video.", - "The broadcast is visible to its audience. YouTube transmits video to the broadcast's monitor stream and its broadcast stream.", - "Start testing the broadcast. YouTube transmits video to the broadcast's monitor stream. Note that you can only transition a broadcast to the testing state if its contentDetails.monitorStream.enableMonitorStream property is set to true." + "complete" ], "location": "query", "required": true, "type": "string" }, "id": { - "description": "The id parameter specifies the unique ID of the broadcast that is transitioning to another status.", + "description": "Broadcast to transition.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.", + "description": "The part parameter specifies a\ncomma-separated list of one or more liveBroadcast resource\nproperties that the API response will include. The part names\nthat you can include in the parameter value are id,\nsnippet, contentDetails, and status.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveBroadcasts/transition", + "path": "youtube/v3/liveBroadcasts/transition", "response": { "$ref": "LiveBroadcast" }, @@ -1579,7 +1607,8 @@ ] }, "update": { - "description": "Updates a broadcast. For example, you could modify the broadcast settings defined in the liveBroadcast resource's contentDetails object.", + "description": "Updates an existing broadcast for the authenticated user.", + "flatPath": "youtube/v3/liveBroadcasts", "httpMethod": "PUT", "id": "youtube.liveBroadcasts.update", "parameterOrder": [ @@ -1587,23 +1616,24 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nThe part properties that you can include in the parameter value are id, snippet, contentDetails, and status.\n\nNote that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a broadcast's privacy status is defined in the status part. As such, if your request is updating a private or unlisted broadcast, and the request's part parameter value includes the status part, the broadcast's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the broadcast will revert to the default privacy setting.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

The part properties that you can include in\nthe parameter value are id, snippet,\ncontentDetails, and status.

Note that this\nmethod will override the existing values for all of the mutable properties\nthat are contained in any parts that the parameter value specifies. For\nexample, a\nbroadcast's privacy status is defined in the status part. As\nsuch, if your request is updating a private or unlisted broadcast, and the\nrequest's part parameter value includes the\nstatus part, the broadcast's privacy setting will be updated\nto whatever value the request body specifies. If the request body does not\nspecify a value, the existing privacy setting will be removed and the\nbroadcast will revert to the default privacy setting.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveBroadcasts", + "path": "youtube/v3/liveBroadcasts", "request": { "$ref": "LiveBroadcast" }, @@ -1620,7 +1650,8 @@ "liveChatBans": { "methods": { "delete": { - "description": "Removes a chat ban.", + "description": "Deletes a chat ban.", + "flatPath": "youtube/v3/liveChat/bans", "httpMethod": "DELETE", "id": "youtube.liveChatBans.delete", "parameterOrder": [ @@ -1628,20 +1659,20 @@ ], "parameters": { "id": { - "description": "The id parameter identifies the chat ban to remove. The value uniquely identifies both the ban and the chat.", "location": "query", "required": true, "type": "string" } }, - "path": "liveChat/bans", + "path": "youtube/v3/liveChat/bans", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl" ] }, "insert": { - "description": "Adds a new ban to the chat.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/liveChat/bans", "httpMethod": "POST", "id": "youtube.liveChatBans.insert", "parameterOrder": [ @@ -1649,13 +1680,14 @@ ], "parameters": { "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response returns. Set the parameter value to snippet.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response returns. Set the\nparameter value to snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveChat/bans", + "path": "youtube/v3/liveChat/bans", "request": { "$ref": "LiveChatBan" }, @@ -1673,6 +1705,7 @@ "methods": { "delete": { "description": "Deletes a chat message.", + "flatPath": "youtube/v3/liveChat/messages", "httpMethod": "DELETE", "id": "youtube.liveChatMessages.delete", "parameterOrder": [ @@ -1680,20 +1713,20 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube chat message ID of the resource that is being deleted.", "location": "query", "required": true, "type": "string" } }, - "path": "liveChat/messages", + "path": "youtube/v3/liveChat/messages", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl" ] }, "insert": { - "description": "Adds a message to a live chat.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/liveChat/messages", "httpMethod": "POST", "id": "youtube.liveChatMessages.insert", "parameterOrder": [ @@ -1701,13 +1734,14 @@ ], "parameters": { "part": { - "description": "The part parameter serves two purposes. It identifies the properties that the write operation will set as well as the properties that the API response will include. Set the parameter value to snippet.", + "description": "The part parameter serves two purposes. It\nidentifies the properties that the write operation will set as well as the\nproperties that the API response will include. Set the parameter value to\nsnippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveChat/messages", + "path": "youtube/v3/liveChat/messages", "request": { "$ref": "LiveChatMessage" }, @@ -1720,7 +1754,8 @@ ] }, "list": { - "description": "Lists live chat messages for a specific chat.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/liveChat/messages", "httpMethod": "GET", "id": "youtube.liveChatMessages.list", "parameterOrder": [ @@ -1729,46 +1764,43 @@ ], "parameters": { "hl": { - "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.", + "description": "Specifies the localization language in which the system messages\nshould be returned.", "location": "query", "type": "string" }, "liveChatId": { - "description": "The liveChatId parameter specifies the ID of the chat whose messages will be returned.", + "description": "The id of the live chat for which comments should be returned.", "location": "query", "required": true, "type": "string" }, "maxResults": { "default": "500", - "description": "The maxResults parameter specifies the maximum number of messages that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "2000", - "minimum": "200", "type": "integer" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken property identify other pages that could be\nretrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the liveChatComment resource parts that the API response will include. Supported values are id and snippet.", + "description": "The part parameter specifies the\nliveChatComment resource parts that the API response will\ninclude. Supported values are id and snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "profileImageSize": { - "description": "The profileImageSize parameter specifies the size of the user profile pictures that should be returned in the result set. Default: 88.", + "description": "Specifies the size of the profile image that should be\nreturned for each user.", "format": "uint32", "location": "query", - "maximum": "720", - "minimum": "16", "type": "integer" } }, - "path": "liveChat/messages", + "path": "youtube/v3/liveChat/messages", "response": { "$ref": "LiveChatMessageListResponse" }, @@ -1783,7 +1815,8 @@ "liveChatModerators": { "methods": { "delete": { - "description": "Removes a chat moderator.", + "description": "Deletes a chat moderator.", + "flatPath": "youtube/v3/liveChat/moderators", "httpMethod": "DELETE", "id": "youtube.liveChatModerators.delete", "parameterOrder": [ @@ -1791,20 +1824,20 @@ ], "parameters": { "id": { - "description": "The id parameter identifies the chat moderator to remove. The value uniquely identifies both the moderator and the chat.", "location": "query", "required": true, "type": "string" } }, - "path": "liveChat/moderators", + "path": "youtube/v3/liveChat/moderators", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl" ] }, "insert": { - "description": "Adds a new moderator for the chat.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/liveChat/moderators", "httpMethod": "POST", "id": "youtube.liveChatModerators.insert", "parameterOrder": [ @@ -1812,13 +1845,14 @@ ], "parameters": { "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response returns. Set the parameter value to snippet.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response returns. Set the\nparameter value to snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveChat/moderators", + "path": "youtube/v3/liveChat/moderators", "request": { "$ref": "LiveChatModerator" }, @@ -1831,7 +1865,8 @@ ] }, "list": { - "description": "Lists moderators for a live chat.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/liveChat/moderators", "httpMethod": "GET", "id": "youtube.liveChatModerators.list", "parameterOrder": [ @@ -1840,33 +1875,32 @@ ], "parameters": { "liveChatId": { - "description": "The liveChatId parameter specifies the YouTube live chat for which the API should return moderators.", + "description": "The id of the live chat for which moderators should be returned.", "location": "query", "required": true, "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the liveChatModerator resource parts that the API response will include. Supported values are id and snippet.", + "description": "The part parameter specifies the\nliveChatModerator resource parts that the API response will\ninclude. Supported values are id and snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveChat/moderators", + "path": "youtube/v3/liveChat/moderators", "response": { "$ref": "LiveChatModeratorListResponse" }, @@ -1881,7 +1915,8 @@ "liveStreams": { "methods": { "delete": { - "description": "Deletes a video stream.", + "description": "Deletes an existing stream for the authenticated user.", + "flatPath": "youtube/v3/liveStreams", "httpMethod": "DELETE", "id": "youtube.liveStreams.delete", "parameterOrder": [ @@ -1889,30 +1924,30 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube live stream ID for the resource that is being deleted.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" } }, - "path": "liveStreams", + "path": "youtube/v3/liveStreams", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl" ] }, "insert": { - "description": "Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience.", + "description": "Inserts a new stream for the authenticated user.", + "flatPath": "youtube/v3/liveStreams", "httpMethod": "POST", "id": "youtube.liveStreams.insert", "parameterOrder": [ @@ -1920,23 +1955,24 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nThe part properties that you can include in the parameter value are id, snippet, cdn, and status.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

The part properties that you can include in\nthe parameter value are id, snippet,\ncdn, and status.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveStreams", + "path": "youtube/v3/liveStreams", "request": { "$ref": "LiveStream" }, @@ -1949,7 +1985,8 @@ ] }, "list": { - "description": "Returns a list of video streams that match the API request parameters.", + "description": "Retrieve the list of streams associated with the given channel. --", + "flatPath": "youtube/v3/liveStreams", "httpMethod": "GET", "id": "youtube.liveStreams.list", "parameterOrder": [ @@ -1957,47 +1994,46 @@ ], "parameters": { "id": { - "description": "The id parameter specifies a comma-separated list of YouTube stream IDs that identify the streams being retrieved. In a liveStream resource, the id property specifies the stream's ID.", + "description": "Return LiveStreams with the given ids from Stubby or Apiary.", "location": "query", + "repeated": true, "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "mine": { - "description": "The mine parameter can be used to instruct the API to only return streams owned by the authenticated user. Set the parameter value to true to only retrieve your own streams.", "location": "query", "type": "boolean" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more liveStream resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, cdn, and status.", + "description": "The part parameter specifies a\ncomma-separated list of one or more liveStream resource\nproperties that the API response will include. The part names\nthat you can include in the parameter value are id,\nsnippet, cdn, and status.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveStreams", + "path": "youtube/v3/liveStreams", "response": { "$ref": "LiveStreamListResponse" }, @@ -2008,7 +2044,8 @@ ] }, "update": { - "description": "Updates a video stream. If the properties that you want to change cannot be updated, then you need to create a new stream with the proper settings.", + "description": "Updates an existing stream for the authenticated user.", + "flatPath": "youtube/v3/liveStreams", "httpMethod": "PUT", "id": "youtube.liveStreams.update", "parameterOrder": [ @@ -2016,23 +2053,24 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nThe part properties that you can include in the parameter value are id, snippet, cdn, and status.\n\nNote that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. If the request body does not specify a value for a mutable property, the existing value for that property will be removed.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

The part properties that you can include in\nthe parameter value are id, snippet,\ncdn, and status.

Note that this method\nwill override the existing values for all of the mutable properties that\nare contained in any parts that the parameter value specifies. If the\nrequest body does not specify a value for a mutable property, the existing\nvalue for that property will be removed.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "liveStreams", + "path": "youtube/v3/liveStreams", "request": { "$ref": "LiveStream" }, @@ -2049,7 +2087,8 @@ "members": { "methods": { "list": { - "description": "Lists members for a channel.", + "description": "Retrieves a list of members that match the request criteria for a channel.", + "flatPath": "youtube/v3/members", "httpMethod": "GET", "id": "youtube.members.list", "parameterOrder": [ @@ -2057,51 +2096,47 @@ ], "parameters": { "filterByMemberChannelId": { - "description": "The filterByMemberChannelId parameter represents a comma separated list of channel IDs. Only data about members that are part of this list will be included in the response. It can be used to efficiently check whether specific users are entitled to perks offered via third parties.", + "description": "Comma separated list of channel IDs. Only data about members that are part\nof this list will be included in the response.", "location": "query", "type": "string" }, "hasAccessToLevel": { - "description": "The hasAccessToLevel parameter specifies, when set, the ID of a pricing level that members from the results set should have access to. When not set, all members will be considered, regardless of their active pricing level.", + "description": "Filter members in the results set to the ones that have access to a level.", "location": "query", "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "1000", - "minimum": "0", "type": "integer" }, "mode": { - "default": "LIST_MEMBERS_MODE_ALL_CURRENT", - "description": "The mode parameter specifies which channel members to return.", + "default": "all_current", + "description": "Parameter that specifies which channel members to return.", "enum": [ - "all_current", - "updates" - ], - "enumDescriptions": [ - "Return all current members, from newest to oldest.", - "Return only members that joined after the first call with this mode was made." + "listMembersModeUnknown", + "updates", + "all_current" ], "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the member resource parts that the API response will include. Set the parameter value to snippet.", + "description": "The part parameter specifies the\nmember resource parts that the API response will include. Set\nthe parameter value to snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "members", + "path": "youtube/v3/members", "response": { "$ref": "MemberListResponse" }, @@ -2118,7 +2153,8 @@ "membershipsLevels": { "methods": { "list": { - "description": "Lists pricing levels for a channel.", + "description": "Retrieves a list of all pricing levels offered by a creator to the fans.", + "flatPath": "youtube/v3/membershipsLevels", "httpMethod": "GET", "id": "youtube.membershipsLevels.list", "parameterOrder": [ @@ -2126,13 +2162,14 @@ ], "parameters": { "part": { - "description": "The part parameter specifies the membershipsLevel resource parts that the API response will include. Supported values are id and snippet.", + "description": "The part parameter specifies the\nmembershipsLevel resource parts that the API response will\ninclude. Supported values are id and snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "membershipsLevels", + "path": "youtube/v3/membershipsLevels", "response": { "$ref": "MembershipsLevelListResponse" }, @@ -2149,7 +2186,8 @@ "playlistItems": { "methods": { "delete": { - "description": "Deletes a playlist item.", + "description": "Deletes a resource.", + "flatPath": "youtube/v3/playlistItems", "httpMethod": "DELETE", "id": "youtube.playlistItems.delete", "parameterOrder": [ @@ -2157,18 +2195,17 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube playlist item ID for the playlist item that is being deleted. In a playlistItem resource, the id property specifies the playlist item's ID.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" } }, - "path": "playlistItems", + "path": "youtube/v3/playlistItems", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", @@ -2176,7 +2213,8 @@ ] }, "insert": { - "description": "Adds a resource to a playlist.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/playlistItems", "httpMethod": "POST", "id": "youtube.playlistItems.insert", "parameterOrder": [ @@ -2184,18 +2222,19 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will include.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "playlistItems", + "path": "youtube/v3/playlistItems", "request": { "$ref": "PlaylistItem" }, @@ -2209,7 +2248,8 @@ ] }, "list": { - "description": "Returns a collection of playlist items that match the API request parameters. You can retrieve all of the playlist items in a specified playlist or retrieve one or more playlist items by their unique IDs.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/playlistItems", "httpMethod": "GET", "id": "youtube.playlistItems.list", "parameterOrder": [ @@ -2217,47 +2257,46 @@ ], "parameters": { "id": { - "description": "The id parameter specifies a comma-separated list of one or more unique playlist item IDs.", "location": "query", + "repeated": true, "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more playlistItem resource properties that the API response will include.\n\nIf the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlistItem resource, the snippet property contains numerous fields, including the title, description, position, and resourceId properties. As such, if you set part=snippet, the API response will contain all of those properties.", + "description": "The part parameter specifies a\ncomma-separated list of one or more playlistItem resource\nproperties that the API response will include.

If the parameter\nidentifies a property that contains child properties, the child properties\nwill be included in the response. For example, in a\nplaylistItem resource, the snippet property\ncontains numerous fields, including the title,\ndescription, position, and\nresourceId properties. As such, if you set\npart=snippet, the API response will contain\nall of those properties.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "playlistId": { - "description": "The playlistId parameter specifies the unique ID of the playlist for which you want to retrieve playlist items. Note that even though this is an optional parameter, every request to retrieve playlist items must specify a value for either the id parameter or the playlistId parameter.", + "description": "Return the playlist items within the given playlist.", "location": "query", "type": "string" }, "videoId": { - "description": "The videoId parameter specifies that the request should return only the playlist items that contain the specified video.", + "description": "Return the playlist items associated with the given video ID.", "location": "query", "type": "string" } }, - "path": "playlistItems", + "path": "youtube/v3/playlistItems", "response": { "$ref": "PlaylistItemListResponse" }, @@ -2266,11 +2305,11 @@ "https://www.googleapis.com/auth/youtube.force-ssl", "https://www.googleapis.com/auth/youtube.readonly", "https://www.googleapis.com/auth/youtubepartner" - ], - "supportsSubscription": true + ] }, "update": { - "description": "Modifies a playlist item. For example, you could update the item's position in the playlist.", + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/playlistItems", "httpMethod": "PUT", "id": "youtube.playlistItems.update", "parameterOrder": [ @@ -2278,18 +2317,19 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nNote that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a playlist item can specify a start time and end time, which identify the times portion of the video that should play when users watch the video in the playlist. If your request is updating a playlist item that sets these values, and the request's part parameter value includes the contentDetails part, the playlist item's start and end times will be updated to whatever value the request body specifies. If the request body does not specify values, the existing start and end times will be removed and replaced with the default settings.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

Note that this method will override the existing values\nfor all of the mutable properties that are contained in any parts that the\nparameter value specifies. For example, a playlist item can specify a start\ntime and end time, which identify the times portion of the video that\nshould play when users watch the video in the playlist. If your request is\nupdating a playlist item that sets these values, and the\nrequest's part parameter value includes the\ncontentDetails part, the playlist item's start and end times\nwill be updated to whatever value the request body specifies. If the\nrequest body does not specify values, the existing start and end times will\nbe removed and replaced with the default settings.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "playlistItems", + "path": "youtube/v3/playlistItems", "request": { "$ref": "PlaylistItem" }, @@ -2307,7 +2347,8 @@ "playlists": { "methods": { "delete": { - "description": "Deletes a playlist.", + "description": "Deletes a resource.", + "flatPath": "youtube/v3/playlists", "httpMethod": "DELETE", "id": "youtube.playlists.delete", "parameterOrder": [ @@ -2315,18 +2356,17 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube playlist ID for the playlist that is being deleted. In a playlist resource, the id property specifies the playlist's ID.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" } }, - "path": "playlists", + "path": "youtube/v3/playlists", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", @@ -2334,7 +2374,8 @@ ] }, "insert": { - "description": "Creates a playlist.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/playlists", "httpMethod": "POST", "id": "youtube.playlists.insert", "parameterOrder": [ @@ -2342,23 +2383,24 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will include.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "playlists", + "path": "youtube/v3/playlists", "request": { "$ref": "Playlist" }, @@ -2372,7 +2414,8 @@ ] }, "list": { - "description": "Returns a collection of playlists that match the API request parameters. For example, you can retrieve all playlists that the authenticated user owns, or you can retrieve one or more playlists by their unique IDs.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/playlists", "httpMethod": "GET", "id": "youtube.playlists.list", "parameterOrder": [ @@ -2380,57 +2423,57 @@ ], "parameters": { "channelId": { - "description": "This value indicates that the API should only return the specified channel's playlists.", + "description": "Return the playlists owned by the specified channel ID.", "location": "query", "type": "string" }, "hl": { - "description": "The hl parameter should be used for filter out the properties that are not in the given language. Used for the snippet part.", + "description": "Returen content in specified language", "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of the YouTube playlist ID(s) for the resource(s) that are being retrieved. In a playlist resource, the id property specifies the playlist's YouTube playlist ID.", + "description": "Return the playlists with the given IDs for Stubby or Apiary.", "location": "query", + "repeated": true, "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "mine": { - "description": "Set this parameter's value to true to instruct the API to only return playlists owned by the authenticated user.", + "description": "Return the playlists owned by the authenticated user.", "location": "query", "type": "boolean" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more playlist resource properties that the API response will include.\n\nIf the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlist resource, the snippet property contains properties like author, title, description, tags, and timeCreated. As such, if you set part=snippet, the API response will contain all of those properties.", + "description": "The part parameter specifies a\ncomma-separated list of one or more playlist resource\nproperties that the API response will include.

If the parameter\nidentifies a property that contains child properties, the child properties\nwill be included in the response. For example, in a playlist\nresource, the snippet property contains properties like\nauthor, title, description,\ntags, and timeCreated. As such, if you set\npart=snippet, the API response will contain\nall of those properties.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "playlists", + "path": "youtube/v3/playlists", "response": { "$ref": "PlaylistListResponse" }, @@ -2442,7 +2485,8 @@ ] }, "update": { - "description": "Modifies a playlist. For example, you could change a playlist's title, description, or privacy status.", + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/playlists", "httpMethod": "PUT", "id": "youtube.playlists.update", "parameterOrder": [ @@ -2450,18 +2494,19 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nNote that this method will override the existing values for mutable properties that are contained in any parts that the request body specifies. For example, a playlist's description is contained in the snippet part, which must be included in the request body. If the request does not specify a value for the snippet.description property, the playlist's existing description will be deleted.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

Note that this method will override the existing values\nfor mutable properties that are contained in any parts that the request\nbody specifies. For example, a\nplaylist's description is contained in the snippet part, which\nmust be included in the request body. If the request does not specify a\nvalue for the snippet.description property, the playlist's\nexisting description will be deleted.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "playlists", + "path": "youtube/v3/playlists", "request": { "$ref": "Playlist" }, @@ -2479,7 +2524,8 @@ "search": { "methods": { "list": { - "description": "Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.", + "description": "Retrieves a list of search resources", + "flatPath": "youtube/v3/search", "httpMethod": "GET", "id": "youtube.search.list", "parameterOrder": [ @@ -2487,294 +2533,242 @@ ], "parameters": { "channelId": { - "description": "The channelId parameter indicates that the API response should only contain resources created by the channel", + "description": "Filter on resources belonging to this channelId.", "location": "query", "type": "string" }, "channelType": { - "description": "The channelType parameter lets you restrict a search to a particular type of channel.", + "description": "Add a filter on the channel search.", "enum": [ + "channelTypeUnspecified", "any", "show" ], - "enumDescriptions": [ - "Return all channels.", - "Only retrieve shows." - ], "location": "query", "type": "string" }, "eventType": { - "description": "The eventType parameter restricts a search to broadcast events. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on the livestream status of the videos.", "enum": [ - "completed", + "none", + "upcoming", "live", - "upcoming" - ], - "enumDescriptions": [ - "Only include completed broadcasts.", - "Only include active broadcasts.", - "Only include upcoming broadcasts." + "completed" ], "location": "query", "type": "string" }, "forContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe forContentOwner parameter restricts the search to only retrieve resources owned by the content owner specified by the onBehalfOfContentOwner parameter. The user must be authenticated using a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided.", + "description": "Search owned by a content owner.", "location": "query", "type": "boolean" }, "forDeveloper": { - "description": "The forDeveloper parameter restricts the search to only retrieve videos uploaded via the developer's application or website. The API server uses the request's authorization credentials to identify the developer. Therefore, a developer can restrict results to videos uploaded through the developer's own app or website but not to videos uploaded through other apps or sites.", + "description": "Restrict the search to only retrieve videos uploaded using the project id\nof the authenticated user.", "location": "query", "type": "boolean" }, "forMine": { - "description": "The forMine parameter restricts the search to only retrieve videos owned by the authenticated user. If you set this parameter to true, then the type parameter's value must also be set to video.", + "description": "Search for the private videos of the authenticated user.", "location": "query", "type": "boolean" }, "location": { - "description": "The location parameter, in conjunction with the locationRadius parameter, defines a circular geographic area and also restricts a search to videos that specify, in their metadata, a geographic location that falls within that area. The parameter value is a string that specifies latitude/longitude coordinates e.g. (37.42307,-122.08427).\n\n\n- The location parameter value identifies the point at the center of the area.\n- The locationRadius parameter specifies the maximum distance that the location associated with a video can be from that point for the video to still be included in the search results.The API returns an error if your request specifies a value for the location parameter but does not also specify a value for the locationRadius parameter.", + "description": "Filter on location of the video", "location": "query", "type": "string" }, "locationRadius": { - "description": "The locationRadius parameter, in conjunction with the location parameter, defines a circular geographic area.\n\nThe parameter value must be a floating point number followed by a measurement unit. Valid measurement units are m, km, ft, and mi. For example, valid parameter values include 1500m, 5km, 10000ft, and 0.75mi. The API does not support locationRadius parameter values larger than 1000 kilometers.\n\nNote: See the definition of the location parameter for more information.", + "description": "Filter on distance from the location (specified above).", "location": "query", "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "order": { - "default": "SEARCH_SORT_RELEVANCE", - "description": "The order parameter specifies the method that will be used to order resources in the API response.", + "default": "relevance", + "description": "Sort order of the results.", "enum": [ + "searchSortUnspecified", "date", "rating", + "viewCount", "relevance", "title", - "videoCount", - "viewCount" - ], - "enumDescriptions": [ - "Resources are sorted in reverse chronological order based on the date they were created.", - "Resources are sorted from highest to lowest rating.", - "Resources are sorted based on their relevance to the search query. This is the default value for this parameter.", - "Resources are sorted alphabetically by title.", - "Channels are sorted in descending order of their number of uploaded videos.", - "Resources are sorted from highest to lowest number of views." + "videoCount" ], "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more search resource properties that the API response will include. Set the parameter value to snippet.", + "description": "The part parameter specifies a\ncomma-separated list of one or more search resource properties\nthat the API response will include. Set the parameter value to\nsnippet.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "publishedAfter": { - "description": "The publishedAfter parameter indicates that the API response should only contain resources created after the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).", - "format": "date-time", + "description": "Filter on resources published after this date.", + "format": "google-datetime", "location": "query", "type": "string" }, "publishedBefore": { - "description": "The publishedBefore parameter indicates that the API response should only contain resources created before the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).", - "format": "date-time", + "description": "Filter on resources published before this date.", + "format": "google-datetime", "location": "query", "type": "string" }, "q": { - "description": "The q parameter specifies the query term to search for.\n\nYour request can also use the Boolean NOT (-) and OR (|) operators to exclude videos or to find videos that are associated with one of several search terms. For example, to search for videos matching either \"boating\" or \"sailing\", set the q parameter value to boating|sailing. Similarly, to search for videos matching either \"boating\" or \"sailing\" but not \"fishing\", set the q parameter value to boating|sailing -fishing. Note that the pipe character must be URL-escaped when it is sent in your API request. The URL-escaped value for the pipe character is %7C.", + "description": "Textual search terms to match.", "location": "query", "type": "string" }, "regionCode": { - "description": "The regionCode parameter instructs the API to return search results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.", + "description": "Display the content as seen by viewers in this country.", "location": "query", "type": "string" }, "relatedToVideoId": { - "description": "The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies. The parameter value must be set to a YouTube video ID and, if you are using this parameter, the type parameter must be set to video.", + "description": "Search related to a resource.", "location": "query", "type": "string" }, "relevanceLanguage": { - "description": "The relevanceLanguage parameter instructs the API to return search results that are most relevant to the specified language. The parameter value is typically an ISO 639-1 two-letter language code. However, you should use the values zh-Hans for simplified Chinese and zh-Hant for traditional Chinese. Please note that results in other languages will still be returned if they are highly relevant to the search query term.", + "description": "Return results relevant to this language.", "location": "query", "type": "string" }, "safeSearch": { - "default": "SAFE_SEARCH_MODERATE_FILTERING", - "description": "The safeSearch parameter indicates whether the search results should include restricted content as well as standard content.", + "default": "moderate", + "description": "Indicates whether the search results should include restricted content as\nwell as standard content.", "enum": [ - "moderate", + "safeSearchSettingUnspecified", "none", + "moderate", "strict" ], - "enumDescriptions": [ - "YouTube will filter some content from search results and, at the least, will filter content that is restricted in your locale. Based on their content, search results could be removed from search results or demoted in search results. This is the default parameter value.", - "YouTube will not filter the search result set.", - "YouTube will try to exclude all restricted content from the search result set. Based on their content, search results could be removed from search results or demoted in search results." - ], "location": "query", "type": "string" }, "topicId": { - "description": "The topicId parameter indicates that the API response should only contain resources associated with the specified topic. The value identifies a Freebase topic ID.", + "description": "Restrict results to a particular topic.", "location": "query", "type": "string" }, "type": { "default": "video,channel,playlist", - "description": "The type parameter restricts a search query to only retrieve a particular type of resource. The value is a comma-separated list of resource types.", + "description": "Restrict results to a particular set of resource types from One Platform.", "location": "query", + "repeated": true, "type": "string" }, "videoCaption": { - "description": "The videoCaption parameter indicates whether the API should filter video search results based on whether they have captions. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on the presence of captions on the videos.", "enum": [ + "videoCaptionUnspecified", "any", "closedCaption", "none" ], - "enumDescriptions": [ - "Do not filter results based on caption availability.", - "Only include videos that have captions.", - "Only include videos that do not have captions." - ], "location": "query", "type": "string" }, "videoCategoryId": { - "description": "The videoCategoryId parameter filters video search results based on their category. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on videos in a specific category.", "location": "query", "type": "string" }, "videoDefinition": { - "description": "The videoDefinition parameter lets you restrict a search to only include either high definition (HD) or standard definition (SD) videos. HD videos are available for playback in at least 720p, though higher resolutions, like 1080p, might also be available. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on the definition of the videos.", "enum": [ "any", - "high", - "standard" - ], - "enumDescriptions": [ - "Return all videos, regardless of their resolution.", - "Only retrieve HD videos.", - "Only retrieve videos in standard definition." + "standard", + "high" ], "location": "query", "type": "string" }, "videoDimension": { - "description": "The videoDimension parameter lets you restrict a search to only retrieve 2D or 3D videos. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on 3d videos.", "enum": [ + "any", "2d", - "3d", - "any" - ], - "enumDescriptions": [ - "Restrict search results to exclude 3D videos.", - "Restrict search results to only include 3D videos.", - "Include both 3D and non-3D videos in returned results. This is the default value." + "3d" ], "location": "query", "type": "string" }, "videoDuration": { - "description": "The videoDuration parameter filters video search results based on their duration. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on the duration of the videos.", "enum": [ + "videoDurationUnspecified", "any", - "long", + "short", "medium", - "short" - ], - "enumDescriptions": [ - "Do not filter video search results based on their duration. This is the default value.", - "Only include videos longer than 20 minutes.", - "Only include videos that are between four and 20 minutes long (inclusive).", - "Only include videos that are less than four minutes long." + "long" ], "location": "query", "type": "string" }, "videoEmbeddable": { - "description": "The videoEmbeddable parameter lets you to restrict a search to only videos that can be embedded into a webpage. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on embeddable videos.", "enum": [ + "videoEmbeddableUnspecified", "any", "true" ], - "enumDescriptions": [ - "Return all videos, embeddable or not.", - "Only retrieve embeddable videos." - ], "location": "query", "type": "string" }, "videoLicense": { - "description": "The videoLicense parameter filters search results to only include videos with a particular license. YouTube lets video uploaders choose to attach either the Creative Commons license or the standard YouTube license to each of their videos. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on the license of the videos.", "enum": [ "any", - "creativeCommon", - "youtube" - ], - "enumDescriptions": [ - "Return all videos, regardless of which license they have, that match the query parameters.", - "Only return videos that have a Creative Commons license. Users can reuse videos with this license in other videos that they create. Learn more.", - "Only return videos that have the standard YouTube license." + "youtube", + "creativeCommon" ], "location": "query", "type": "string" }, "videoSyndicated": { - "description": "The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on syndicated videos.", "enum": [ + "videoSyndicatedUnspecified", "any", "true" ], - "enumDescriptions": [ - "Return all videos, syndicated or not.", - "Only retrieve syndicated videos." - ], "location": "query", "type": "string" }, "videoType": { - "description": "The videoType parameter lets you restrict a search to a particular type of videos. If you specify a value for this parameter, you must also set the type parameter's value to video.", + "description": "Filter on videos of a specific type.", "enum": [ + "videoTypeUnspecified", "any", - "episode", - "movie" - ], - "enumDescriptions": [ - "Return all videos.", - "Only retrieve episodes of shows.", - "Only retrieve movies." + "movie", + "episode" ], "location": "query", "type": "string" } }, - "path": "search", + "path": "youtube/v3/search", "response": { "$ref": "SearchListResponse" }, @@ -2790,7 +2784,8 @@ "sponsors": { "methods": { "list": { - "description": "Lists sponsors for a channel.", + "description": "Retrieves a list of sponsors that match the request criteria for a\nchannel.", + "flatPath": "youtube/v3/sponsors", "httpMethod": "GET", "id": "youtube.sponsors.list", "parameterOrder": [ @@ -2798,41 +2793,37 @@ ], "parameters": { "filter": { - "default": "POLL_NEWEST", - "description": "The filter parameter specifies which channel sponsors to return.", + "default": "newest", + "description": "Parameter that specifies which channel sponsors to return.", "enum": [ - "all", - "newest" - ], - "enumDescriptions": [ - "Return all sponsors, from newest to oldest.", - "Return the most recent sponsors, from newest to oldest." + "sponsorFilterUnknown", + "newest", + "all" ], "location": "query", "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the sponsor resource parts that the API response will include. Supported values are id and snippet.", + "description": "The part parameter specifies the\nsponsor resource parts that the API response will include.\nSupported values are id and snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "sponsors", + "path": "youtube/v3/sponsors", "response": { "$ref": "SponsorListResponse" }, @@ -2847,7 +2838,8 @@ "subscriptions": { "methods": { "delete": { - "description": "Deletes a subscription.", + "description": "Deletes a resource.", + "flatPath": "youtube/v3/subscriptions", "httpMethod": "DELETE", "id": "youtube.subscriptions.delete", "parameterOrder": [ @@ -2855,13 +2847,12 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube subscription ID for the resource that is being deleted. In a subscription resource, the id property specifies the YouTube subscription ID.", "location": "query", "required": true, "type": "string" } }, - "path": "subscriptions", + "path": "youtube/v3/subscriptions", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", @@ -2869,7 +2860,8 @@ ] }, "insert": { - "description": "Adds a subscription for the authenticated user's channel.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/subscriptions", "httpMethod": "POST", "id": "youtube.subscriptions.insert", "parameterOrder": [ @@ -2877,13 +2869,14 @@ ], "parameters": { "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will include.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "subscriptions", + "path": "youtube/v3/subscriptions", "request": { "$ref": "Subscription" }, @@ -2897,7 +2890,8 @@ ] }, "list": { - "description": "Returns subscription resources that match the API request criteria.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/subscriptions", "httpMethod": "GET", "id": "youtube.subscriptions.list", "parameterOrder": [ @@ -2905,83 +2899,78 @@ ], "parameters": { "channelId": { - "description": "The channelId parameter specifies a YouTube channel ID. The API will only return that channel's subscriptions.", + "description": "Return the subscriptions of the given channel owner.", "location": "query", "type": "string" }, "forChannelId": { - "description": "The forChannelId parameter specifies a comma-separated list of channel IDs. The API response will then only contain subscriptions matching those channels.", + "description": "Return the subscriptions to the subset of these channels that the\nauthenticated user is subscribed to.", "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of the YouTube subscription ID(s) for the resource(s) that are being retrieved. In a subscription resource, the id property specifies the YouTube subscription ID.", + "description": "Return the subscriptions with the given IDs for Stubby or Apiary.", "location": "query", + "repeated": true, "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "0", "type": "integer" }, "mine": { - "description": "Set this parameter's value to true to retrieve a feed of the authenticated user's subscriptions.", + "description": "Flag for returning the subscriptions of the authenticated user.", "location": "query", "type": "boolean" }, "myRecentSubscribers": { - "description": "Set this parameter's value to true to retrieve a feed of the subscribers of the authenticated user in reverse chronological order (newest first).", "location": "query", "type": "boolean" }, "mySubscribers": { - "description": "Set this parameter's value to true to retrieve a feed of the subscribers of the authenticated user in no particular order.", + "description": "Return the subscribers of the given channel owner.", "location": "query", "type": "boolean" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "order": { - "default": "SUBSCRIPTION_ORDER_RELEVANCE", - "description": "The order parameter specifies the method that will be used to sort resources in the API response.", + "default": "relevance", + "description": "The order of the returned subscriptions", "enum": [ - "alphabetical", + "subscriptionOrderUnspecified", "relevance", - "unread" - ], - "enumDescriptions": [ - "Sort alphabetically.", - "Sort by relevance.", - "Sort by order of activity." + "unread", + "alphabetical" ], "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more subscription resource properties that the API response will include.\n\nIf the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a subscription resource, the snippet property contains other properties, such as a display title for the subscription. If you set part=snippet, the API response will also contain all of those nested properties.", + "description": "The part parameter specifies a\ncomma-separated list of one or more subscription resource\nproperties that the API response will include.

If the parameter\nidentifies a property that contains child properties, the child properties\nwill be included in the response. For example, in a\nsubscription resource, the snippet property\ncontains other properties, such as a display title for the subscription. If\nyou set part=snippet, the API response will\nalso contain all of those nested properties.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "subscriptions", + "path": "youtube/v3/subscriptions", "response": { "$ref": "SubscriptionListResponse" }, @@ -2997,7 +2986,8 @@ "superChatEvents": { "methods": { "list": { - "description": "Lists Super Chat events for a channel.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/superChatEvents", "httpMethod": "GET", "id": "youtube.superChatEvents.list", "parameterOrder": [ @@ -3005,32 +2995,31 @@ ], "parameters": { "hl": { - "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.", + "description": "Return rendered funding amounts in specified language.", "location": "query", "type": "string" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result set.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "1", "type": "integer" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the superChatEvent resource parts that the API response will include. Supported values are id and snippet.", + "description": "The part parameter specifies the\nsuperChatEvent resource parts that the API response will\ninclude. Supported values are id and snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "superChatEvents", + "path": "youtube/v3/superChatEvents", "response": { "$ref": "SuperChatEventListResponse" }, @@ -3042,24 +3031,146 @@ } } }, + "thirdPartyLinks": { + "methods": { + "delete": { + "description": "Deletes a resource.", + "flatPath": "youtube/v3/thirdPartyLinks", + "httpMethod": "DELETE", + "id": "youtube.thirdPartyLinks.delete", + "parameterOrder": [ + "linkingToken", + "type" + ], + "parameters": { + "linkingToken": { + "description": "Delete the partner links with the given linking token.", + "location": "query", + "required": true, + "type": "string" + }, + "part": { + "description": "Do not use. Required for compatibility.", + "location": "query", + "repeated": true, + "type": "string" + }, + "type": { + "description": "Type of the link to be deleted.", + "enum": [ + "linkUnspecified", + "channelToStoreLink" + ], + "location": "query", + "required": true, + "type": "string" + } + }, + "path": "youtube/v3/thirdPartyLinks" + }, + "insert": { + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/thirdPartyLinks", + "httpMethod": "POST", + "id": "youtube.thirdPartyLinks.insert", + "parameterOrder": [ + "part" + ], + "parameters": { + "part": { + "description": "The part parameter specifies the\nthirdPartyLink resource parts that the API request and\nresponse will include. Supported values are linkingToken,\nstatus, and snippet.", + "location": "query", + "repeated": true, + "required": true, + "type": "string" + } + }, + "path": "youtube/v3/thirdPartyLinks", + "request": { + "$ref": "ThirdPartyLink" + }, + "response": { + "$ref": "ThirdPartyLink" + } + }, + "list": { + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/thirdPartyLinks", + "httpMethod": "GET", + "id": "youtube.thirdPartyLinks.list", + "parameterOrder": [ + "part" + ], + "parameters": { + "linkingToken": { + "description": "Get a third party link with the given linking token.", + "location": "query", + "type": "string" + }, + "part": { + "description": "The part parameter specifies the\nthirdPartyLink resource parts that the API response will\ninclude. Supported values are linkingToken,\nstatus, and snippet.", + "location": "query", + "repeated": true, + "required": true, + "type": "string" + }, + "type": { + "description": "Get a third party link of the given type.", + "enum": [ + "linkUnspecified", + "channelToStoreLink" + ], + "location": "query", + "type": "string" + } + }, + "path": "youtube/v3/thirdPartyLinks", + "response": { + "$ref": "ThirdPartyLink" + } + }, + "update": { + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/thirdPartyLinks", + "httpMethod": "PUT", + "id": "youtube.thirdPartyLinks.update", + "parameterOrder": [ + "part" + ], + "parameters": { + "part": { + "description": "The part parameter specifies the\nthirdPartyLink resource parts that the API request and\nresponse will include. Supported values are linkingToken,\nstatus, and snippet.", + "location": "query", + "repeated": true, + "required": true, + "type": "string" + } + }, + "path": "youtube/v3/thirdPartyLinks", + "request": { + "$ref": "ThirdPartyLink" + }, + "response": { + "$ref": "ThirdPartyLink" + } + } + } + }, "thumbnails": { "methods": { "set": { - "description": "Uploads a custom video thumbnail to YouTube and sets it for a video.", + "description": "As this is not an insert in a strict sense (it supports uploading/setting\nof a thumbnail for multiple videos, which doesn't result in creation of a\nsingle resource), I use a custom verb here.", + "flatPath": "youtube/v3/thumbnails/set", "httpMethod": "POST", "id": "youtube.thumbnails.set", "mediaUpload": { "accept": [ - "application/octet-stream", "image/jpeg", - "image/png" + "image/png", + "application/octet-stream" ], - "maxSize": "2MB", + "maxSize": "2097152", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/youtube/v3/thumbnails/set" - }, "simple": { "multipart": true, "path": "/upload/youtube/v3/thumbnails/set" @@ -3071,18 +3182,18 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The actual\nCMS account that the user authenticates with must be linked to the\nspecified YouTube content owner.", "location": "query", "type": "string" }, "videoId": { - "description": "The videoId parameter specifies a YouTube video ID for which the custom video thumbnail is being provided.", + "description": "Returns the Thumbnail with the given video IDs for Stubby or Apiary.", "location": "query", "required": true, "type": "string" } }, - "path": "thumbnails/set", + "path": "youtube/v3/thumbnails/set", "response": { "$ref": "ThumbnailSetResponse" }, @@ -3099,7 +3210,8 @@ "videoAbuseReportReasons": { "methods": { "list": { - "description": "Returns a list of abuse reasons that can be used for reporting abusive videos.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/videoAbuseReportReasons", "httpMethod": "GET", "id": "youtube.videoAbuseReportReasons.list", "parameterOrder": [ @@ -3108,18 +3220,18 @@ "parameters": { "hl": { "default": "en_US", - "description": "The hl parameter specifies the language that should be used for text values in the API response.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies the videoCategory resource parts that the API response will include. Supported values are id and snippet.", + "description": "The part parameter specifies the\nvideoCategory resource parts that the API response will\ninclude. Supported values are id and snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "videoAbuseReportReasons", + "path": "youtube/v3/videoAbuseReportReasons", "response": { "$ref": "VideoAbuseReportReasonListResponse" }, @@ -3134,7 +3246,8 @@ "videoCategories": { "methods": { "list": { - "description": "Returns a list of categories that can be associated with YouTube videos.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/videoCategories", "httpMethod": "GET", "id": "youtube.videoCategories.list", "parameterOrder": [ @@ -3143,28 +3256,28 @@ "parameters": { "hl": { "default": "en_US", - "description": "The hl parameter specifies the language that should be used for text values in the API response.", "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of video category IDs for the resources that you are retrieving.", + "description": "Returns the video categories with the given IDs for Stubby or Apiary.", "location": "query", + "repeated": true, "type": "string" }, "part": { - "description": "The part parameter specifies the videoCategory resource properties that the API response will include. Set the parameter value to snippet.", + "description": "The part parameter specifies the\nvideoCategory resource properties that the API response will\ninclude. Set the parameter value to snippet.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "regionCode": { - "description": "The regionCode parameter instructs the API to return the list of video categories available in the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.", "location": "query", "type": "string" } }, - "path": "videoCategories", + "path": "youtube/v3/videoCategories", "response": { "$ref": "VideoCategoryListResponse" }, @@ -3180,7 +3293,8 @@ "videos": { "methods": { "delete": { - "description": "Deletes a YouTube video.", + "description": "Deletes a resource.", + "flatPath": "youtube/v3/videos", "httpMethod": "DELETE", "id": "youtube.videos.delete", "parameterOrder": [ @@ -3188,18 +3302,17 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube video ID for the resource that is being deleted. In a video resource, the id property specifies the video's ID.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The actual\nCMS account that the user authenticates with must be linked to the\nspecified YouTube content owner.", "location": "query", "type": "string" } }, - "path": "videos", + "path": "youtube/v3/videos", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", @@ -3207,7 +3320,8 @@ ] }, "getRating": { - "description": "Retrieves the ratings that the authorized user gave to a list of specified videos.", + "description": "Retrieves the ratings that the authorized user gave to a list of specified\nvideos.", + "flatPath": "youtube/v3/videos/getRating", "httpMethod": "GET", "id": "youtube.videos.getRating", "parameterOrder": [ @@ -3215,20 +3329,20 @@ ], "parameters": { "id": { - "description": "The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) for which you are retrieving rating data. In a video resource, the id property specifies the video's ID.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" } }, - "path": "videos/getRating", + "path": "youtube/v3/videos/getRating", "response": { - "$ref": "VideoGetRatingResponse" + "$ref": "VideoRatingListResponse" }, "scopes": [ "https://www.googleapis.com/auth/youtube", @@ -3237,20 +3351,17 @@ ] }, "insert": { - "description": "Uploads a video to YouTube and optionally sets the video's metadata.", + "description": "Inserts a new resource into this collection.", + "flatPath": "youtube/v3/videos", "httpMethod": "POST", "id": "youtube.videos.insert", "mediaUpload": { "accept": [ - "application/octet-stream", - "video/*" + "video/*", + "application/octet-stream" ], - "maxSize": "128GB", + "maxSize": "137438953472", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/youtube/v3/videos" - }, "simple": { "multipart": true, "path": "/upload/youtube/v3/videos" @@ -3262,39 +3373,40 @@ ], "parameters": { "autoLevels": { - "description": "The autoLevels parameter indicates whether YouTube should automatically enhance the video's lighting and color.", + "description": "Should auto-levels be applied to the upload.", "location": "query", "type": "boolean" }, "notifySubscribers": { "default": "true", - "description": "The notifySubscribers parameter indicates whether YouTube should send a notification about the new video to users who subscribe to the video's channel. A parameter value of True indicates that subscribers will be notified of newly uploaded videos. However, a channel owner who is uploading many videos might prefer to set the value to False to avoid sending a notification about each new video to the channel's subscribers.", + "description": "Notify the channel subscribers about the new video. As default, the\nnotification is enabled.", "location": "query", "type": "boolean" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "onBehalfOfContentOwnerChannel": { - "description": "This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.\n\nThis parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.", + "description": "This parameter can only be used in a properly authorized request.\nNote: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwnerChannel parameter\nspecifies the YouTube channel ID of the channel to which a video is being\nadded. This parameter is required when a request specifies a value for the\nonBehalfOfContentOwner parameter, and it can only be used in\nconjunction with that parameter. In addition, the request must be\nauthorized using a CMS account that is linked to the content owner that the\nonBehalfOfContentOwner parameter specifies. Finally, the\nchannel that the onBehalfOfContentOwnerChannel parameter value\nspecifies must be linked to the content owner that the\nonBehalfOfContentOwner parameter specifies.

This\nparameter is intended for YouTube content partners that own and manage many\ndifferent YouTube channels. It allows content owners to authenticate once\nand perform actions on behalf of the channel specified in the parameter\nvalue, without having to provide authentication credentials for each\nseparate channel.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nNote that not all parts contain properties that can be set when inserting or updating a video. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

Note that not all parts contain properties that can be\nset when inserting or updating a video. For example, the\nstatistics object encapsulates statistics that YouTube\ncalculates for a video and does not contain values that you can set or\nmodify. If the parameter value specifies a part that does not\ncontain mutable values, that part will still be included in\nthe API response.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "stabilize": { - "description": "The stabilize parameter indicates whether YouTube should adjust the video to remove shaky camera motions.", + "description": "Should stabilize be applied to the upload.", "location": "query", "type": "boolean" } }, - "path": "videos", + "path": "youtube/v3/videos", "request": { "$ref": "Video" }, @@ -3310,7 +3422,8 @@ "supportsMediaUpload": true }, "list": { - "description": "Returns a list of videos that match the API request parameters.", + "description": "Retrieves a list of resources, possibly filtered.", + "flatPath": "youtube/v3/videos", "httpMethod": "GET", "id": "youtube.videos.list", "parameterOrder": [ @@ -3318,98 +3431,87 @@ ], "parameters": { "chart": { - "description": "The chart parameter identifies the chart that you want to retrieve.", + "description": "Return the videos that are in the specified chart.", "enum": [ + "chartUnspecified", "mostPopular" ], - "enumDescriptions": [ - "Return the most popular videos for the specified content region and video category." - ], "location": "query", "type": "string" }, "hl": { - "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.", + "description": "Stands for \"host language\". Specifies the localization language of the\nmetadata to be filled into snippet.localized. The field is filled with the\ndefault metadata if there is no localization in the specified language.\nThe parameter value must be a language code included in the list returned\nby the i18nLanguages.list method (e.g. en_US, es_MX).", "location": "query", "type": "string" }, "id": { - "description": "The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID.", + "description": "Return videos with the given ids.", "location": "query", + "repeated": true, "type": "string" }, "locale": { - "description": "DEPRECATED", "location": "query", "type": "string" }, "maxHeight": { - "description": "The maxHeight parameter specifies a maximum height of the embedded player. If maxWidth is provided, maxHeight may not be reached in order to not violate the width request.", - "format": "uint32", + "format": "int32", "location": "query", - "maximum": "8192", - "minimum": "72", "type": "integer" }, "maxResults": { "default": "5", - "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.\n\nNote: This parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use in conjunction with the id parameter.", + "description": "The maxResults parameter specifies the\nmaximum number of items that should be returned in the result\nset.

Note: This parameter is supported for use in\nconjunction with the myRating and\nchart parameters, but it is not supported\nfor use in conjunction with the id\nparameter.", "format": "uint32", "location": "query", - "maximum": "50", - "minimum": "1", "type": "integer" }, "maxWidth": { - "description": "The maxWidth parameter specifies a maximum width of the embedded player. If maxHeight is provided, maxWidth may not be reached in order to not violate the height request.", - "format": "uint32", + "description": "Return the player with maximum height specified in", + "format": "int32", "location": "query", - "maximum": "8192", - "minimum": "72", "type": "integer" }, "myRating": { - "description": "Set this parameter's value to like or dislike to instruct the API to only return videos liked or disliked by the authenticated user.", + "description": "Return videos liked/disliked by the authenticated user.\nDoes not support RateType.RATED_TYPE_NONE.", "enum": [ - "dislike", - "like" - ], - "enumDescriptions": [ - "Returns only videos disliked by the authenticated user.", - "Returns only video liked by the authenticated user." + "none", + "like", + "dislike" ], "location": "query", "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" }, "pageToken": { - "description": "The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.\n\nNote: This parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use in conjunction with the id parameter.", + "description": "The pageToken parameter identifies a specific\npage in the result set that should be returned. In an API response, the\nnextPageToken and prevPageToken properties\nidentify other pages that could be retrieved.

Note:\nThis parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use\nin conjunction with the id parameter.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter specifies a comma-separated list of one or more video resource properties that the API response will include.\n\nIf the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a video resource, the snippet property contains the channelId, title, description, tags, and categoryId properties. As such, if you set part=snippet, the API response will contain all of those properties.", + "description": "The part parameter specifies a\ncomma-separated list of one or more video resource properties\nthat the API response will include.

If the parameter identifies a\nproperty that contains child properties, the child properties will be\nincluded in the response. For example, in a video resource,\nthe snippet property contains the channelId,\ntitle, description, tags, and\ncategoryId properties. As such, if you set\npart=snippet, the API response will contain\nall of those properties.", "location": "query", + "repeated": true, "required": true, "type": "string" }, "regionCode": { - "description": "The regionCode parameter instructs the API to select a video chart available in the specified region. This parameter can only be used in conjunction with the chart parameter. The parameter value is an ISO 3166-1 alpha-2 country code.", + "description": "Use a chart that is specific to the specified region", "location": "query", "type": "string" }, "videoCategoryId": { "default": "0", - "description": "The videoCategoryId parameter identifies the video category for which the chart should be retrieved. This parameter can only be used in conjunction with the chart parameter. By default, charts are not restricted to a particular category.", + "description": "Use chart that is specific to the specified video category", "location": "query", "type": "string" } }, - "path": "videos", + "path": "youtube/v3/videos", "response": { "$ref": "VideoListResponse" }, @@ -3421,7 +3523,8 @@ ] }, "rate": { - "description": "Add a like or dislike rating to a video or remove a rating from a video.", + "description": "Adds a like or dislike rating to a video or removes a rating from a video.", + "flatPath": "youtube/v3/videos/rate", "httpMethod": "POST", "id": "youtube.videos.rate", "parameterOrder": [ @@ -3430,29 +3533,22 @@ ], "parameters": { "id": { - "description": "The id parameter specifies the YouTube video ID of the video that is being rated or having its rating removed.", "location": "query", "required": true, "type": "string" }, "rating": { - "description": "Specifies the rating to record.", "enum": [ - "dislike", + "none", "like", - "none" - ], - "enumDescriptions": [ - "Records that the authenticated user disliked the video.", - "Records that the authenticated user liked the video.", - "Removes any rating that the authenticated user had previously set for the video." + "dislike" ], "location": "query", "required": true, "type": "string" } }, - "path": "videos/rate", + "path": "youtube/v3/videos/rate", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", @@ -3461,16 +3557,18 @@ }, "reportAbuse": { "description": "Report abuse for a video.", + "flatPath": "youtube/v3/videos/reportAbuse", "httpMethod": "POST", "id": "youtube.videos.reportAbuse", + "parameterOrder": [], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" } }, - "path": "videos/reportAbuse", + "path": "youtube/v3/videos/reportAbuse", "request": { "$ref": "VideoAbuseReport" }, @@ -3481,7 +3579,8 @@ ] }, "update": { - "description": "Updates a video's metadata.", + "description": "Updates an existing resource.", + "flatPath": "youtube/v3/videos", "httpMethod": "PUT", "id": "youtube.videos.update", "parameterOrder": [ @@ -3489,18 +3588,19 @@ ], "parameters": { "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The actual\nCMS account that the user authenticates with must be linked to the\nspecified YouTube content owner.", "location": "query", "type": "string" }, "part": { - "description": "The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.\n\nNote that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a video's privacy setting is contained in the status part. As such, if your request is updating a private video, and the request's part parameter value includes the status part, the video's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the video will revert to the default privacy setting.\n\nIn addition, not all parts contain properties that can be set when inserting or updating a video. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response.", + "description": "The part parameter serves two purposes in\nthis operation. It identifies the properties that the write operation will\nset as well as the properties that the API response will\ninclude.

Note that this method will override the existing values\nfor all of the mutable properties that are contained in any parts that the\nparameter value specifies. For example, a\nvideo's privacy setting is contained in the status part. As\nsuch, if your request is updating a private video, and the request's\npart parameter value includes the status part,\nthe\nvideo's privacy setting will be updated to whatever value the request body\nspecifies. If the request body does not specify a value, the existing\nprivacy setting will be removed and the video will revert to the default\nprivacy setting.

In addition, not all parts contain properties\nthat can be set when inserting or updating a video. For example, the\nstatistics object encapsulates statistics that YouTube\ncalculates for a video and does not contain values that you can set or\nmodify. If the parameter value specifies a part that does not\ncontain mutable values, that part will still be included in\nthe API response.", "location": "query", + "repeated": true, "required": true, "type": "string" } }, - "path": "videos", + "path": "youtube/v3/videos", "request": { "$ref": "Video" }, @@ -3518,21 +3618,18 @@ "watermarks": { "methods": { "set": { - "description": "Uploads a watermark image to YouTube and sets it for a channel.", + "description": "Allows upload of watermark image and setting it for a channel.", + "flatPath": "youtube/v3/watermarks/set", "httpMethod": "POST", "id": "youtube.watermarks.set", "mediaUpload": { "accept": [ - "application/octet-stream", "image/jpeg", - "image/png" + "image/png", + "application/octet-stream" ], - "maxSize": "10MB", + "maxSize": "10485760", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/youtube/v3/watermarks/set" - }, "simple": { "multipart": true, "path": "/upload/youtube/v3/watermarks/set" @@ -3544,18 +3641,17 @@ ], "parameters": { "channelId": { - "description": "The channelId parameter specifies the YouTube channel ID for which the watermark is being provided.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" } }, - "path": "watermarks/set", + "path": "youtube/v3/watermarks/set", "request": { "$ref": "InvideoBranding" }, @@ -3568,7 +3664,8 @@ "supportsMediaUpload": true }, "unset": { - "description": "Deletes a channel's watermark image.", + "description": "Allows removal of channel watermark.", + "flatPath": "youtube/v3/watermarks/unset", "httpMethod": "POST", "id": "youtube.watermarks.unset", "parameterOrder": [ @@ -3576,18 +3673,17 @@ ], "parameters": { "channelId": { - "description": "The channelId parameter specifies the YouTube channel ID for which the watermark is being unset.", "location": "query", "required": true, "type": "string" }, "onBehalfOfContentOwner": { - "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", + "description": "Note: This parameter is intended exclusively for YouTube\ncontent partners.

The\nonBehalfOfContentOwner parameter indicates\nthat the\nrequest's authorization credentials identify a YouTube CMS user who is\nacting on behalf of the content owner specified in the parameter value.\nThis parameter is intended for YouTube content partners that own and manage\nmany different YouTube channels. It allows content owners to authenticate\nonce and get access to all their video and channel data, without having to\nprovide authentication credentials for each individual channel. The CMS\naccount that the user authenticates with must be linked to the specified\nYouTube content owner.", "location": "query", "type": "string" } }, - "path": "watermarks/unset", + "path": "youtube/v3/watermarks/unset", "scopes": [ "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", @@ -3595,21 +3691,170 @@ ] } } + }, + "youtube": { + "resources": { + "v3": { + "methods": { + "infocards": { + "description": "Updates infocards for a given video.\nNote:\n* If the card id is not provided, a new card will be created.\n* If the card id is provided, that card will be updated.\n* Existing cards will be discarded if they're not included in the request.", + "flatPath": "youtube/v3/infocards", + "httpMethod": "POST", + "id": "youtube.youtube.v3.infocards", + "parameterOrder": [ + "part" + ], + "parameters": { + "onBehalfOfContentOwner": { + "description": "Content owner of the video.", + "location": "query", + "type": "string" + }, + "part": { + "description": "The properties to update.", + "location": "query", + "repeated": true, + "required": true, + "type": "string" + }, + "videoId": { + "description": "Encrypted id of the video.", + "location": "query", + "type": "string" + } + }, + "path": "youtube/v3/infocards", + "request": { + "$ref": "InfoCards" + }, + "response": { + "$ref": "InfoCards" + }, + "scopes": [ + "https://www.googleapis.com/auth/youtube", + "https://www.googleapis.com/auth/youtube.force-ssl", + "https://www.googleapis.com/auth/youtubepartner" + ] + } + }, + "resources": { + "infocards": { + "methods": { + "list": { + "description": "Retrieves all infocards for a given video.", + "flatPath": "youtube/v3/infocards", + "httpMethod": "GET", + "id": "youtube.youtube.v3.infocards.list", + "parameterOrder": [ + "part" + ], + "parameters": { + "onBehalfOfContentOwner": { + "description": "Content owner of the video.", + "location": "query", + "type": "string" + }, + "part": { + "description": "The properties to return.", + "location": "query", + "repeated": true, + "required": true, + "type": "string" + }, + "videoId": { + "description": "Encrypted id of the video.", + "location": "query", + "type": "string" + } + }, + "path": "youtube/v3/infocards", + "response": { + "$ref": "InfocardListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/youtube", + "https://www.googleapis.com/auth/youtube.force-ssl", + "https://www.googleapis.com/auth/youtubepartner" + ] + } + } + }, + "tests": { + "methods": { + "create": { + "description": "POST method.", + "flatPath": "youtube/v3/tests", + "httpMethod": "POST", + "id": "youtube.youtube.v3.tests.create", + "parameterOrder": [], + "parameters": { + "part": { + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "youtube/v3/tests", + "request": { + "$ref": "TestItem" + }, + "response": { + "$ref": "TestItem" + } + } + } + } + } + } + } } }, - "revision": "20200402", + "revision": "20200709", "rootUrl": "https://www.googleapis.com/", "schemas": { + "AbuseReport": { + "id": "AbuseReport", + "properties": { + "abuseTypes": { + "items": { + "$ref": "AbuseType" + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "relatedEntities": { + "items": { + "$ref": "RelatedEntity" + }, + "type": "array" + }, + "subject": { + "$ref": "Entity" + } + }, + "type": "object" + }, + "AbuseType": { + "id": "AbuseType", + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, "AccessPolicy": { "description": "Rights management policy for YouTube resources.", "id": "AccessPolicy", "properties": { "allowed": { - "description": "The value of allowed indicates whether the access to the policy is allowed or denied by default.", + "description": "The value of allowed indicates whether the access to the\npolicy is allowed or denied by default.", "type": "boolean" }, "exception": { - "description": "A list of region codes that identify countries where the default policy do not apply.", + "description": "A list of region codes that identify countries where the default policy do\nnot apply.", "items": { "type": "string" }, @@ -3619,15 +3864,15 @@ "type": "object" }, "Activity": { - "description": "An activity resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.", + "description": "An activity resource contains\ninformation about an action that a particular channel, or user, has\ntaken on YouTube.The actions reported in activity feeds include rating\na video, sharing a video, marking a video as a favorite, commenting on\na video, uploading a video, and so forth. Each activity\nresource identifies the type of action, the channel associated with\nthe action, and the resource(s) associated with the action, such as\nthe video that was rated or uploaded.", "id": "Activity", "properties": { "contentDetails": { "$ref": "ActivityContentDetails", - "description": "The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video." + "description": "The contentDetails object contains information about the\ncontent associated with the activity. For example, if the\nsnippet.type value is videoRated, then the\ncontentDetails object's content identifies the rated video." }, "etag": { - "description": "Etag of this resource.", + "description": "Etag of this resource", "type": "string" }, "id": { @@ -3636,63 +3881,63 @@ }, "kind": { "default": "youtube#activity", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#activity\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#activity\".", "type": "string" }, "snippet": { "$ref": "ActivitySnippet", - "description": "The snippet object contains basic details about the activity, including the activity's type and group ID." + "description": "The snippet object contains basic details about the\nactivity, including the activity's type and group ID." } }, "type": "object" }, "ActivityContentDetails": { - "description": "Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc.", + "description": "Details about the content of an activity: the video that was shared, the\nchannel that was subscribed to, etc.", "id": "ActivityContentDetails", "properties": { "bulletin": { "$ref": "ActivityContentDetailsBulletin", - "description": "The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin." + "description": "The bulletin object contains details about a channel\nbulletin post. This object is only present if the\nsnippet.type is bulletin." }, "channelItem": { "$ref": "ActivityContentDetailsChannelItem", - "description": "The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem." + "description": "The channelItem object contains details about a resource\nwhich was added to a channel. This property is only present if the\nsnippet.type is channelItem." }, "comment": { "$ref": "ActivityContentDetailsComment", - "description": "The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment." + "description": "The comment object contains information about a resource\nthat received a comment. This property is only present if the\nsnippet.type is comment." }, "favorite": { "$ref": "ActivityContentDetailsFavorite", - "description": "The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite." + "description": "The favorite object contains information about a video that\nwas marked as a favorite video. This property is only present if the\nsnippet.type is favorite." }, "like": { "$ref": "ActivityContentDetailsLike", - "description": "The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like." + "description": "The like object contains information about a resource that\nreceived a positive (like) rating. This property is only present if\nthe snippet.type is like." }, "playlistItem": { "$ref": "ActivityContentDetailsPlaylistItem", - "description": "The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem." + "description": "The playlistItem object contains information about a\nnew playlist item. This property is only present if the\nsnippet.type is playlistItem." }, "promotedItem": { "$ref": "ActivityContentDetailsPromotedItem", - "description": "The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem." + "description": "The promotedItem object contains details about a resource\nwhich is being promoted. This property is only present if the\nsnippet.type is promotedItem." }, "recommendation": { "$ref": "ActivityContentDetailsRecommendation", - "description": "The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation." + "description": "The recommendation object contains information about a\nrecommended resource. This property is only present if the\nsnippet.type is recommendation." }, "social": { "$ref": "ActivityContentDetailsSocial", - "description": "The social object contains details about a social network post. This property is only present if the snippet.type is social." + "description": "The social object contains details about a social network\npost. This property is only present if the snippet.type\nis social." }, "subscription": { "$ref": "ActivityContentDetailsSubscription", - "description": "The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription." + "description": "The subscription object contains information about a\nchannel that a user subscribed to. This property is only\npresent if the snippet.type is subscription." }, "upload": { "$ref": "ActivityContentDetailsUpload", - "description": "The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload." + "description": "The upload object contains information about the uploaded\nvideo. This property is only present if the snippet.type\nis upload." } }, "type": "object" @@ -3703,7 +3948,7 @@ "properties": { "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object contains information that identifies the resource associated with a bulletin post." + "description": "The resourceId object contains information that\nidentifies the resource associated with a bulletin post.\n@mutable youtube.activities.insert" } }, "type": "object" @@ -3714,7 +3959,7 @@ "properties": { "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object contains information that identifies the resource that was added to the channel." + "description": "The resourceId object contains information that\nidentifies the resource that was added to the channel." } }, "type": "object" @@ -3725,7 +3970,7 @@ "properties": { "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object contains information that identifies the resource associated with the comment." + "description": "The resourceId object contains information that\nidentifies the resource associated with the comment." } }, "type": "object" @@ -3736,7 +3981,7 @@ "properties": { "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object contains information that identifies the resource that was marked as a favorite." + "description": "The resourceId object contains information that\nidentifies the resource that was marked as a favorite." } }, "type": "object" @@ -3747,7 +3992,7 @@ "properties": { "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object contains information that identifies the rated resource." + "description": "The resourceId object contains information that identifies\nthe rated resource." } }, "type": "object" @@ -3766,7 +4011,7 @@ }, "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object contains information about the resource that was added to the playlist." + "description": "The resourceId object contains information about the\nresource that was added to the playlist." } }, "type": "object" @@ -3780,17 +4025,17 @@ "type": "string" }, "clickTrackingUrl": { - "description": "The URL the client should ping to indicate that the user clicked through on this promoted item.", + "description": "The URL the client should ping to indicate that the user clicked through\non this promoted item.", "type": "string" }, "creativeViewUrl": { - "description": "The URL the client should ping to indicate that the user was shown this promoted item.", + "description": "The URL the client should ping to indicate that the user was shown this\npromoted item.", "type": "string" }, "ctaType": { - "description": "The type of call-to-action, a message to the user indicating action that can be taken.", + "description": "The type of call-to-action, a message to the user indicating action that\ncan be taken.", "enum": [ - "unspecified", + "ctaTypeUnspecified", "visitAdvertiserSite" ], "enumDescriptions": [ @@ -3800,7 +4045,7 @@ "type": "string" }, "customCtaButtonText": { - "description": "The custom call-to-action button text. If specified, it will override the default button text for the cta_type.", + "description": "The custom call-to-action button text. If specified, it will override\nthe default button text for the cta_type.", "type": "string" }, "descriptionText": { @@ -3808,18 +4053,18 @@ "type": "string" }, "destinationUrl": { - "description": "The URL the client should direct the user to, if the user chooses to visit the advertiser's website.", + "description": "The URL the client should direct the user to, if the user chooses to\nvisit the advertiser's website.", "type": "string" }, "forecastingUrl": { - "description": "The list of forecasting URLs. The client should ping all of these URLs when a promoted item is not available, to indicate that a promoted item could have been shown.", + "description": "The list of forecasting URLs. The client should ping all of these URLs\nwhen a promoted item is not available, to indicate that a promoted item\ncould have been shown.", "items": { "type": "string" }, "type": "array" }, "impressionUrl": { - "description": "The list of impression URLs. The client should ping all of these URLs to indicate that the user was shown this promoted item.", + "description": "The list of impression URLs. The client should ping all of these URLs to\nindicate that the user was shown this promoted item.", "items": { "type": "string" }, @@ -3839,7 +4084,7 @@ "reason": { "description": "The reason that the resource is recommended to the user.", "enum": [ - "unspecified", + "reasonUnspecified", "videoFavorited", "videoLiked", "videoWatched" @@ -3854,11 +4099,11 @@ }, "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object contains information that identifies the recommended resource." + "description": "The resourceId object contains information that\nidentifies the recommended resource." }, "seedResourceId": { "$ref": "ResourceId", - "description": "The seedResourceId object contains information about the resource that caused the recommendation." + "description": "The seedResourceId object contains information about\nthe resource that caused the recommendation." } }, "type": "object" @@ -3881,15 +4126,15 @@ }, "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object encapsulates information that identifies the resource associated with a social network post." + "description": "The resourceId object encapsulates information that\nidentifies the resource associated with a social network post." }, "type": { "description": "The name of the social network.", "enum": [ - "facebook", + "typeUnspecified", "googlePlus", - "twitter", - "unspecified" + "facebook", + "twitter" ], "enumDescriptions": [ "", @@ -3908,7 +4153,7 @@ "properties": { "resourceId": { "$ref": "ResourceId", - "description": "The resourceId object contains information that identifies the resource that the user subscribed to." + "description": "The resourceId object contains information that\nidentifies the resource that the user subscribed to." } }, "type": "object" @@ -3936,7 +4181,6 @@ "type": "string" }, "items": { - "description": "A list of activities, or events, that match the request criteria.", "items": { "$ref": "Activity" }, @@ -3944,36 +4188,37 @@ }, "kind": { "default": "youtube#activityListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#activityListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#activityListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "prevPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the previous page in the result set.", "type": "string" }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, "type": "object" }, "ActivitySnippet": { - "description": "Basic details about an activity, including title, description, thumbnails, activity type and group.", + "description": "Basic details about an activity, including title, description, thumbnails,\nactivity type and group.\nNext ID: 12", "id": "ActivitySnippet", "properties": { "channelId": { - "description": "The ID that YouTube uses to uniquely identify the channel associated with the activity.", + "description": "The ID that YouTube uses to uniquely identify the channel associated\nwith the activity.", "type": "string" }, "channelTitle": { @@ -3981,26 +4226,20 @@ "type": "string" }, "description": { - "annotations": { - "required": [ - "youtube.activities.insert" - ] - }, - "description": "The description of the resource primarily associated with the activity.", + "description": "The description of the resource primarily associated with the activity.\n@mutable youtube.activities.insert", "type": "string" }, "groupId": { - "description": "The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.", + "description": "The group ID associated with the activity. A group ID identifies user\nevents that are associated with the same user and resource. For example,\nif a user rates a video and marks the same video as a favorite, the\nentries for those events would have the same group ID in the user's\nactivity feed. In your user interface, you can avoid repetition by\ngrouping events with the same groupId value.", "type": "string" }, "publishedAt": { - "description": "The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time that the video was uploaded. The value is specified\nin ISO 8601\nformat.", "type": "string" }, "thumbnails": { "$ref": "ThumbnailDetails", - "description": "A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail." + "description": "A map of thumbnail images associated with the resource that is primarily\nassociated with the activity. For each object in the map, the key is the\nname of the thumbnail image, and the value is an object that contains\nother information about the thumbnail." }, "title": { "description": "The title of the resource primarily associated with the activity.", @@ -4009,17 +4248,18 @@ "type": { "description": "The type of activity that the resource describes.", "enum": [ - "bulletin", - "channelItem", - "comment", - "favorite", + "typeUnspecified", + "upload", "like", - "playlistItem", - "promotedItem", - "recommendation", - "social", + "favorite", + "comment", "subscription", - "upload" + "playlistItem", + "recommendation", + "bulletin", + "social", + "channelItem", + "promotedItem" ], "enumDescriptions": [ "", @@ -4032,6 +4272,7 @@ "", "", "", + "", "" ], "type": "string" @@ -4040,7 +4281,7 @@ "type": "object" }, "Caption": { - "description": "A caption resource represents a YouTube caption track. A caption track is associated with exactly one YouTube video.", + "description": "A caption resource represents a YouTube\ncaption track. A caption track is associated with exactly one YouTube\nvideo.", "id": "Caption", "properties": { "etag": { @@ -4058,12 +4299,12 @@ }, "kind": { "default": "youtube#caption", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#caption\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#caption\".", "type": "string" }, "snippet": { "$ref": "CaptionSnippet", - "description": "The snippet object contains basic details about the caption." + "description": "The snippet object contains basic details about the caption." } }, "type": "object" @@ -4088,11 +4329,11 @@ }, "kind": { "default": "youtube#captionListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#captionListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#captionListResponse\".", "type": "string" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -4105,10 +4346,10 @@ "audioTrackType": { "description": "The type of audio track associated with the caption track.", "enum": [ - "commentary", - "descriptive", + "unknown", "primary", - "unknown" + "commentary", + "descriptive" ], "enumDescriptions": [ "", @@ -4119,11 +4360,11 @@ "type": "string" }, "failureReason": { - "description": "The reason that YouTube failed to process the caption track. This property is only present if the state property's value is failed.", + "description": "The reason that YouTube failed to process the caption track. This\nproperty is only present if the state\nproperty's value is failed.", "enum": [ - "processingFailed", "unknownFormat", - "unsupportedFormat" + "unsupportedFormat", + "processingFailed" ], "enumDescriptions": [ "", @@ -4133,54 +4374,43 @@ "type": "string" }, "isAutoSynced": { - "description": "Indicates whether YouTube synchronized the caption track to the audio track in the video. The value will be true if a sync was explicitly requested when the caption track was uploaded. For example, when calling the captions.insert or captions.update methods, you can set the sync parameter to true to instruct YouTube to sync the uploaded track to the video. If the value is false, YouTube uses the time codes in the uploaded caption track to determine when to display captions.", + "description": "Indicates whether YouTube synchronized the caption track to the audio\ntrack in the video. The value will be true if a sync was\nexplicitly requested when the caption track was uploaded. For example,\nwhen calling the captions.insert or\ncaptions.update methods, you can set the sync\nparameter to true to instruct YouTube to sync the uploaded\ntrack to the video. If the value is false, YouTube uses\nthe time codes in the uploaded caption track to determine when to display\ncaptions.", "type": "boolean" }, "isCC": { - "description": "Indicates whether the track contains closed captions for the deaf and hard of hearing. The default value is false.", + "description": "Indicates whether the track contains closed captions for the deaf\nand hard of hearing. The default value is false.", "type": "boolean" }, "isDraft": { - "description": "Indicates whether the caption track is a draft. If the value is true, then the track is not publicly visible. The default value is false.", + "description": "Indicates whether the caption track is a draft. If the value is\ntrue, then the track is not publicly visible.\nThe default value is false.\n@mutable youtube.captions.insert youtube.captions.update", "type": "boolean" }, "isEasyReader": { - "description": "Indicates whether caption track is formatted for \"easy reader,\" meaning it is at a third-grade level for language learners. The default value is false.", + "description": "Indicates whether caption track is formatted for \"easy reader,\"\nmeaning it is at a third-grade level for language learners.\nThe default value is false.", "type": "boolean" }, "isLarge": { - "description": "Indicates whether the caption track uses large text for the vision-impaired. The default value is false.", + "description": "Indicates whether the caption track uses large text for the\nvision-impaired. The default value is false.", "type": "boolean" }, "language": { - "annotations": { - "required": [ - "youtube.captions.insert" - ] - }, - "description": "The language of the caption track. The property value is a BCP-47 language tag.", + "description": "The language of the caption track. The property value is a\nBCP-47\n language tag.", "type": "string" }, "lastUpdated": { - "description": "The date and time when the caption track was last updated. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time when the caption track was last updated. The value is\nspecified in ISO 8601\nformat.", "type": "string" }, "name": { - "annotations": { - "required": [ - "youtube.captions.insert" - ] - }, - "description": "The name of the caption track. The name is intended to be visible to the user as an option during playback.", + "description": "The name of the caption track. The name is intended to be visible\nto the user as an option during playback.", "type": "string" }, "status": { "description": "The caption track's status.", "enum": [ - "failed", "serving", - "syncing" + "syncing", + "failed" ], "enumDescriptions": [ "", @@ -4192,9 +4422,9 @@ "trackKind": { "description": "The caption track's type.", "enum": [ + "standard", "ASR", - "forced", - "standard" + "forced" ], "enumDescriptions": [ "", @@ -4209,7 +4439,7 @@ "youtube.captions.insert" ] }, - "description": "The ID that YouTube uses to uniquely identify the video associated with the caption track.", + "description": "The ID that YouTube uses to uniquely identify the video associated\nwith the caption track.\n@mutable youtube.captions.insert", "type": "string" } }, @@ -4220,13 +4450,7 @@ "id": "CdnSettings", "properties": { "format": { - "annotations": { - "required": [ - "youtube.liveStreams.insert", - "youtube.liveStreams.update" - ] - }, - "description": "The format of the video stream that you are sending to Youtube.", + "description": "The format of the video stream that you are sending to Youtube.

", "type": "string" }, "frameRate": { @@ -4245,21 +4469,15 @@ }, "ingestionInfo": { "$ref": "IngestionInfo", - "description": "The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube." + "description": "The ingestionInfo object contains information that YouTube\nprovides that you need to transmit your RTMP or HTTP stream to YouTube." }, "ingestionType": { - "annotations": { - "required": [ - "youtube.liveStreams.insert", - "youtube.liveStreams.update" - ] - }, - "description": "The method or protocol used to transmit the video stream.", + "description": " The method or protocol used to transmit the video stream.", "enum": [ - "dash", - "hls", "rtmp", - "webrtc" + "dash", + "webrtc", + "hls" ], "enumDescriptions": [ "", @@ -4272,13 +4490,13 @@ "resolution": { "description": "The resolution of the inbound video data.", "enum": [ - "1080p", - "1440p", - "2160p", "240p", "360p", "480p", "720p", + "1080p", + "1440p", + "2160p", "variable" ], "enumDescriptions": [ @@ -4297,28 +4515,28 @@ "type": "object" }, "Channel": { - "description": "A channel resource contains information about a YouTube channel.", + "description": "A channel resource contains\ninformation about a YouTube channel.", "id": "Channel", "properties": { "auditDetails": { "$ref": "ChannelAuditDetails", - "description": "The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process." + "description": "The auditionDetails object encapsulates channel data\nthat is relevant for YouTube Partners during the audition process." }, "brandingSettings": { "$ref": "ChannelBrandingSettings", - "description": "The brandingSettings object encapsulates information about the branding of the channel." + "description": "The brandingSettings object encapsulates information about\nthe branding of the channel." }, "contentDetails": { "$ref": "ChannelContentDetails", - "description": "The contentDetails object encapsulates information about the channel's content." + "description": "The contentDetails object encapsulates information about the\nchannel's content." }, "contentOwnerDetails": { "$ref": "ChannelContentOwnerDetails", - "description": "The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel." + "description": "The contentOwnerDetails object encapsulates channel data\nthat is relevant for YouTube Partners linked with the channel." }, "conversionPings": { "$ref": "ChannelConversionPings", - "description": "The conversionPings object encapsulates information about conversion pings that need to be respected by the channel." + "description": "The conversionPings object encapsulates information about\nconversion pings that need to be respected by the channel." }, "etag": { "description": "Etag of this resource.", @@ -4330,42 +4548,41 @@ }, "invideoPromotion": { "$ref": "InvideoPromotion", - "description": "The invideoPromotion object encapsulates information about promotion campaign associated with the channel." + "description": "The invideoPromotion object encapsulates information about\npromotion campaign associated with the channel." }, "kind": { "default": "youtube#channel", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channel\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#channel\".", "type": "string" }, "localizations": { "additionalProperties": { - "$ref": "ChannelLocalization", - "description": "The language tag, using string since map_key require simple types." + "$ref": "ChannelLocalization" }, "description": "Localizations for different languages", "type": "object" }, "snippet": { "$ref": "ChannelSnippet", - "description": "The snippet object contains basic details about the channel, such as its title, description, and thumbnail images." + "description": "The snippet object contains basic details about the channel,\nsuch as its title, description, and thumbnail images." }, "statistics": { "$ref": "ChannelStatistics", - "description": "The statistics object encapsulates statistics for the channel." + "description": "The statistics object encapsulates statistics for the channel." }, "status": { "$ref": "ChannelStatus", - "description": "The status object encapsulates information about the privacy status of the channel." + "description": "The status object encapsulates information about the privacy\nstatus of the channel." }, "topicDetails": { "$ref": "ChannelTopicDetails", - "description": "The topicDetails object encapsulates information about Freebase topics associated with the channel." + "description": "The topicDetails object encapsulates information about\nFreebase topics associated with the\nchannel." } }, "type": "object" }, "ChannelAuditDetails": { - "description": "The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process.", + "description": "The auditDetails object encapsulates channel data that is\nrelevant for YouTube Partners during the audit process.", "id": "ChannelAuditDetails", "properties": { "communityGuidelinesGoodStanding": { @@ -4388,12 +4605,11 @@ "id": "ChannelBannerResource", "properties": { "etag": { - "description": "Etag of this resource.", "type": "string" }, "kind": { "default": "youtube#channelBannerResource", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channelBannerResource\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#channelBannerResource\".", "type": "string" }, "url": { @@ -4429,6 +4645,20 @@ }, "type": "object" }, + "ChannelCard": { + "id": "ChannelCard", + "properties": { + "channelId": { + "description": "External channel ID.\nRequired.", + "type": "string" + }, + "customMessage": { + "description": "Each card can have a custom message.\nRequired.", + "type": "string" + } + }, + "type": "object" + }, "ChannelContentDetails": { "description": "Details about the content of a channel.", "id": "ChannelContentDetails", @@ -4436,23 +4666,23 @@ "relatedPlaylists": { "properties": { "favorites": { - "description": "The ID of the playlist that contains the channel\"s favorite videos. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.", + "description": "The ID of the playlist that contains the channel\"s favorite videos. Use\nthe playlistItems.insert\nand playlistItems.delete\nto add or remove items from that list.", "type": "string" }, "likes": { - "description": "The ID of the playlist that contains the channel\"s liked videos. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.", + "description": "The ID of the playlist that contains the channel\"s liked videos. Use the\n \nplaylistItems.insert and playlistItems.delete\nto add or remove items from that list.", "type": "string" }, "uploads": { - "description": "The ID of the playlist that contains the channel\"s uploaded videos. Use the videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.", + "description": "The ID of the playlist that contains the channel\"s uploaded videos. Use\nthe videos.insert method to\nupload new videos and the videos.delete method to\ndelete previously uploaded videos.", "type": "string" }, "watchHistory": { - "description": "The ID of the playlist that contains the channel\"s watch history. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.", + "description": "The ID of the playlist that contains the channel\"s watch history. Use the\n playlistItems.insert\nand playlistItems.delete\nto add or remove items from that list.", "type": "string" }, "watchLater": { - "description": "The ID of the playlist that contains the channel\"s watch later playlist. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.", + "description": "The ID of the playlist that contains the channel\"s watch later playlist.\nUse the playlistItems.insert\nand playlistItems.delete\nto add or remove items from that list.", "type": "string" } }, @@ -4462,7 +4692,7 @@ "type": "object" }, "ChannelContentOwnerDetails": { - "description": "The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel.", + "description": "The contentOwnerDetails object encapsulates channel data that\nis relevant for YouTube Partners linked with the channel.", "id": "ChannelContentOwnerDetails", "properties": { "contentOwner": { @@ -4470,23 +4700,22 @@ "type": "string" }, "timeLinked": { - "description": "The date and time of when the channel was linked to the content owner. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time of when the channel was linked to the content owner.\nThe value is specified in ISO\n8601\nformat.", "type": "string" } }, "type": "object" }, "ChannelConversionPing": { - "description": "Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.", + "description": "Pings that the app shall fire (authenticated by biscotti cookie). Each ping\nhas a context, in which the app must fire the ping, and a url identifying the\nping.", "id": "ChannelConversionPing", "properties": { "context": { "description": "Defines the context of the ping.", "enum": [ - "cview", "subscribe", - "unsubscribe" + "unsubscribe", + "cview" ], "enumDescriptions": [ "", @@ -4496,18 +4725,18 @@ "type": "string" }, "conversionUrl": { - "description": "The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.", + "description": "The url (without the schema) that the player shall send the ping to.\nIt's at caller's descretion to decide which schema to use (http vs https)\nExample of a returned url: //googleads.g.doubleclick.net/pagead/\nviewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D\ncview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default\nThe caller must append biscotti authentication (ms param in case of\nmobile, for example) to this ping.", "type": "string" } }, "type": "object" }, "ChannelConversionPings": { - "description": "The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.", + "description": "The conversionPings object encapsulates information about\nconversion pings that need to be respected by the channel.", "id": "ChannelConversionPings", "properties": { "pings": { - "description": "Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.", + "description": "Pings that the app shall fire (authenticated by biscotti cookie). Each ping\nhas a context, in which the app must fire the ping, and a url identifying\nthe ping.", "items": { "$ref": "ChannelConversionPing" }, @@ -4528,7 +4757,6 @@ "type": "string" }, "items": { - "description": "A list of channels that match the request criteria.", "items": { "$ref": "Channel" }, @@ -4536,25 +4764,26 @@ }, "kind": { "default": "youtube#channelListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channelListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#channelListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "prevPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the previous page in the result set.", "type": "string" }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -4602,7 +4831,7 @@ "properties": { "contentDetails": { "$ref": "ChannelSectionContentDetails", - "description": "The contentDetails object contains details about the channel section content, such as a list of playlists or channels featured in the section." + "description": "The contentDetails object contains details about the channel\nsection content, such as a list of playlists or channels featured in the\nsection." }, "etag": { "description": "Etag of this resource.", @@ -4614,24 +4843,23 @@ }, "kind": { "default": "youtube#channelSection", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channelSection\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#channelSection\".", "type": "string" }, "localizations": { "additionalProperties": { - "$ref": "ChannelSectionLocalization", - "description": "The language tag, using string since map_key require simple types." + "$ref": "ChannelSectionLocalization" }, "description": "Localizations for different languages", "type": "object" }, "snippet": { "$ref": "ChannelSectionSnippet", - "description": "The snippet object contains basic details about the channel section, such as its type, style and title." + "description": "The snippet object contains basic details about the channel\nsection, such as its type, style and title." }, "targeting": { "$ref": "ChannelSectionTargeting", - "description": "The targeting object contains basic targeting settings about the channel section." + "description": "The targeting object contains basic targeting settings about\nthe channel section." } }, "type": "object" @@ -4648,7 +4876,7 @@ "type": "array" }, "playlists": { - "description": "The playlist ids for type single_playlist and multiple_playlists. For singlePlaylist, only one playlistId is allowed.", + "description": "The playlist ids for type single_playlist and multiple_playlists. For\nsinglePlaylist, only one playlistId is allowed.", "items": { "type": "string" }, @@ -4677,11 +4905,11 @@ }, "kind": { "default": "youtube#channelSectionListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#channelSectionListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#channelSectionListResponse\".", "type": "string" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -4703,7 +4931,7 @@ "id": "ChannelSectionSnippet", "properties": { "channelId": { - "description": "The ID that YouTube uses to uniquely identify the channel that published the channel section.", + "description": "The ID that YouTube uses to uniquely identify the channel that published\nthe channel section.", "type": "string" }, "defaultLanguage": { @@ -4722,7 +4950,7 @@ "style": { "description": "The style of the channel section.", "enum": [ - "channelsectionStyleUndefined", + "channelsectionStyleUnspecified", "horizontalRow", "verticalList" ], @@ -4740,23 +4968,23 @@ "type": { "description": "The type of the channel section.", "enum": [ - "allPlaylists", - "channelsectionTypeUndefined", - "completedEvents", - "likedPlaylists", - "likes", - "liveEvents", - "multipleChannels", + "channelsectionTypeUnspecified", + "singlePlaylist", "multiplePlaylists", "popularUploads", - "postedPlaylists", - "postedVideos", - "recentActivity", - "recentPosts", "recentUploads", - "singlePlaylist", - "subscriptions", - "upcomingEvents" + "likes", + "allPlaylists", + "likedPlaylists", + "recentPosts", + "recentActivity", + "liveEvents", + "upcomingEvents", + "completedEvents", + "multipleChannels", + "postedVideos", + "postedPlaylists", + "subscriptions" ], "enumDescriptions": [ "", @@ -4845,7 +5073,7 @@ "type": "string" }, "moderateComments": { - "description": "Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.", + "description": "Whether user-submitted comments left on the channel page need to be\napproved by the channel owner to be publicly visible.", "type": "boolean" }, "profileColor": { @@ -4865,7 +5093,7 @@ "type": "string" }, "trackingAnalyticsAccountId": { - "description": "The ID for a Google Analytics account to track and measure traffic to the channels.", + "description": "The ID for a Google Analytics account to track and measure traffic to the\nchannels.", "type": "string" }, "unsubscribedTrailer": { @@ -4900,13 +5128,12 @@ "description": "Localized title and description, read-only." }, "publishedAt": { - "description": "The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time that the channel was created. The value is specified in\n< a href=\"//www.w3.org/TR/NOTE-datetime\">ISO 8601\nformat.", "type": "string" }, "thumbnails": { "$ref": "ThumbnailDetails", - "description": "A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.\n\nWhen displaying thumbnails in your application, make sure that your code uses the image URLs exactly as they are returned in API responses. For example, your application should not use the http domain instead of the https domain in a URL returned in an API response.\n\nBeginning in July 2018, channel thumbnail URLs will only be available in the https domain, which is how the URLs appear in API responses. After that time, you might see broken images in your application if it tries to load YouTube images from the http domain." + "description": "A map of thumbnail images associated with the channel. For each object in\nthe map, the key is the name of the thumbnail image, and the value is an\nobject that contains other information about the thumbnail.

When\ndisplaying thumbnails in your application, make sure that your code uses\nthe image URLs exactly as they are returned in API responses. For example,\nyour application should not use the http domain instead of the\nhttps domain in a URL returned in an API response.

\nBeginning in July 2018, channel thumbnail URLs will only be available in\nthe https domain, which is how the URLs appear in API\nresponses. After that time, you might see broken images in your application\nif it tries to load YouTube images from the http domain." }, "title": { "description": "The channel's title.", @@ -4916,7 +5143,7 @@ "type": "object" }, "ChannelStatistics": { - "description": "Statistics about a channel: number of subscribers, number of videos in the channel, etc.", + "description": "Statistics about a channel: number of subscribers, number of videos in the\nchannel, etc.", "id": "ChannelStatistics", "properties": { "commentCount": { @@ -4951,16 +5178,16 @@ "id": "ChannelStatus", "properties": { "isLinked": { - "description": "If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.", + "description": "If true, then the user is linked to either a YouTube username or G+\naccount. Otherwise, the user doesn't have a public YouTube identity.", "type": "boolean" }, "longUploadsStatus": { - "description": "The long uploads status of this channel. See", + "description": "The long uploads status of this channel. See\nhttps://support.google.com/youtube/answer/71673 for more information.", "enum": [ + "longUploadsUnspecified", "allowed", - "disallowed", "eligible", - "longUploadsUnspecified" + "disallowed" ], "enumDescriptions": [ "", @@ -4976,9 +5203,9 @@ "privacyStatus": { "description": "Privacy status of the channel.", "enum": [ - "private", "public", - "unlisted" + "unlisted", + "private" ], "enumDescriptions": [ "", @@ -4993,6 +5220,21 @@ }, "type": "object" }, + "ChannelToStoreLinkDetails": { + "description": "Information specific to a store on a merchandising platform linked to a\nYouTube channel.", + "id": "ChannelToStoreLinkDetails", + "properties": { + "storeName": { + "description": "Name of the store.", + "type": "string" + }, + "storeUrl": { + "description": "Landing page of the store.", + "type": "string" + } + }, + "type": "object" + }, "ChannelTopicDetails": { "description": "Freebase topic information related to the channel.", "id": "ChannelTopicDetails", @@ -5005,7 +5247,7 @@ "type": "array" }, "topicIds": { - "description": "A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.", + "description": "A list of Freebase topic IDs associated with the channel. You can retrieve\ninformation about each topic using the Freebase Topic API.", "items": { "type": "string" }, @@ -5015,7 +5257,7 @@ "type": "object" }, "Comment": { - "description": "A comment represents a single YouTube comment.", + "description": "A comment represents a single YouTube comment.", "id": "Comment", "properties": { "etag": { @@ -5028,12 +5270,12 @@ }, "kind": { "default": "youtube#comment", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#comment\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#comment\".", "type": "string" }, "snippet": { "$ref": "CommentSnippet", - "description": "The snippet object contains basic details about the comment." + "description": "The snippet object contains basic details about the comment." } }, "type": "object" @@ -5058,21 +5300,22 @@ }, "kind": { "default": "youtube#commentListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#commentListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#commentListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -5083,8 +5326,7 @@ "id": "CommentSnippet", "properties": { "authorChannelId": { - "description": "The id of the author's YouTube channel, if any.", - "type": "any" + "$ref": "CommentSnippetAuthorChannelId" }, "authorChannelUrl": { "description": "Link to the author's YouTube channel, if any.", @@ -5103,7 +5345,7 @@ "type": "boolean" }, "channelId": { - "description": "The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.", + "description": "The id of the corresponding YouTube channel. In case of a channel comment\nthis is the channel the comment refers to. In case of a video comment\nit's the video's channel.", "type": "string" }, "likeCount": { @@ -5112,11 +5354,11 @@ "type": "integer" }, "moderationStatus": { - "description": "The comment's moderation status. Will not be set if the comments were requested through the id filter.", + "description": "The comment's moderation status. Will not be set if the comments were\nrequested through the id filter.", "enum": [ + "published", "heldForReview", "likelySpam", - "published", "rejected" ], "enumDescriptions": [ @@ -5132,21 +5374,19 @@ "type": "string" }, "publishedAt": { - "description": "The date and time when the comment was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time when the comment was orignally published. The value is\nspecified in ISO 8601\nformat.", "type": "string" }, "textDisplay": { - "description": "The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.", + "description": "The comment's text. The format is either plain text or HTML dependent on\nwhat has been requested. Even the plain text representation may differ\nfrom the text originally posted in that it may replace video links with\nvideo titles etc.", "type": "string" }, "textOriginal": { - "description": "The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.", + "description": "The comment's original raw text as initially posted or last updated. The\noriginal text will only be returned if it is accessible to the viewer,\nwhich is only guaranteed if the viewer is the comment's author.", "type": "string" }, "updatedAt": { - "description": "The date and time when was last updated . The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time when was last updated . The value is\nspecified in ISO 8601\nformat.", "type": "string" }, "videoId": { @@ -5154,15 +5394,13 @@ "type": "string" }, "viewerRating": { - "description": "The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.", + "description": "The rating the viewer has given to this comment. For the time being this\nwill never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE.\nThis may change in the future.", "enum": [ - "dislike", - "like", "none", - "unspecified" + "like", + "dislike" ], "enumDescriptions": [ - "", "", "", "" @@ -5172,8 +5410,18 @@ }, "type": "object" }, + "CommentSnippetAuthorChannelId": { + "description": "The id of the author's YouTube channel, if any.", + "id": "CommentSnippetAuthorChannelId", + "properties": { + "value": { + "type": "string" + } + }, + "type": "object" + }, "CommentThread": { - "description": "A comment thread represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.", + "description": "A comment thread represents information that\napplies to a top level comment and all its replies. It can also include the\ntop level comment itself and some of the replies.", "id": "CommentThread", "properties": { "etag": { @@ -5186,16 +5434,16 @@ }, "kind": { "default": "youtube#commentThread", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#commentThread\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#commentThread\".", "type": "string" }, "replies": { "$ref": "CommentThreadReplies", - "description": "The replies object contains a limited number of replies (if any) to the top level comment found in the snippet." + "description": "The replies object contains a limited number of replies (if\nany) to the top level comment found in the snippet." }, "snippet": { "$ref": "CommentThreadSnippet", - "description": "The snippet object contains basic details about the comment thread and also the top level comment." + "description": "The snippet object contains basic details about the comment\nthread and also the top level comment." } }, "type": "object" @@ -5220,21 +5468,22 @@ }, "kind": { "default": "youtube#commentThreadListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#commentThreadListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#commentThreadListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -5245,7 +5494,7 @@ "id": "CommentThreadReplies", "properties": { "comments": { - "description": "A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.", + "description": "A limited number of replies. Unless the number of replies returned equals\ntotal_reply_count in the snippet the returned replies are only a subset\nof the total number of replies.", "items": { "$ref": "Comment" }, @@ -5259,15 +5508,15 @@ "id": "CommentThreadSnippet", "properties": { "canReply": { - "description": "Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.", + "description": "Whether the current viewer of the thread can reply to it. This is viewer\nspecific - other viewers may see a different value for this field.", "type": "boolean" }, "channelId": { - "description": "The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If video_id isn't set the comments refer to the channel itself.", + "description": "The YouTube channel the comments in the thread refer to or the channel\nwith the video the comments refer to. If video_id isn't set the comments\nrefer to the channel itself.", "type": "string" }, "isPublic": { - "description": "Whether the thread (and therefore all its comments) is visible to all YouTube users.", + "description": "Whether the thread (and therefore all its comments) is visible to all\nYouTube users.", "type": "boolean" }, "topLevelComment": { @@ -5280,78 +5529,84 @@ "type": "integer" }, "videoId": { - "description": "The ID of the video the comments refer to, if any. No video_id implies a channel discussion comment.", + "description": "The ID of the video the comments refer to, if any. No video_id implies a\nchannel discussion comment.", "type": "string" } }, "type": "object" }, "ContentRating": { - "description": "Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 72", + "description": "Ratings schemes. The country-specific ratings are mostly for\nmovies and shows.\nLINT.IfChange", "id": "ContentRating", "properties": { "acbRating": { - "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.", + "description": "The video's Australian Classification Board (ACB) or Australian\nCommunications and Media Authority (ACMA) rating. ACMA ratings are used\nto classify children's television programming.", "enum": [ - "acbC", + "acbUnspecified", "acbE", + "acbP", + "acbC", "acbG", + "acbPg", "acbM", "acbMa15plus", - "acbP", - "acbPg", "acbR18plus", "acbUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "E", + "Programs that have been given a P classification by the\nAustralian Communications and Media Authority. These programs are\nintended for preschool children.", + "Programs that have been given a C classification by the\nAustralian Communications and Media Authority. These programs are\nintended for children (other than preschool children) who are younger\nthan 14 years of age.", + "G", + "PG", + "M", + "MA15+", + "R18+", "" ], "type": "string" }, "agcomRating": { - "description": "The video's rating from Italy's Autorit\u00e0 per le Garanzie nelle Comunicazioni (AGCOM).", + "description": "The video's rating from Italy's Autorità per le Garanzie nelle\nComunicazioni (AGCOM).", "enum": [ + "agcomUnspecified", "agcomT", - "agcomUnrated", "agcomVm14", - "agcomVm18" + "agcomVm18", + "agcomUnrated" ], "enumDescriptions": [ "", - "", - "", + "T", + "VM14", + "VM18", "" ], "type": "string" }, "anatelRating": { - "description": "The video's Anatel (Asociaci\u00f3n Nacional de Televisi\u00f3n) rating for Chilean television.", + "description": "The video's Anatel (Asociación Nacional de Televisión)\nrating for Chilean television.", "enum": [ - "anatelA", + "anatelUnspecified", "anatelF", "anatelI", + "anatelI7", "anatelI10", "anatelI12", - "anatelI7", "anatelR", + "anatelA", "anatelUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "F", + "I", + "I-7", + "I-10", + "I-12", + "R", + "A", "" ], "type": "string" @@ -5359,23 +5614,25 @@ "bbfcRating": { "description": "The video's British Board of Film Classification (BBFC) rating.", "enum": [ - "bbfc12", + "bbfcUnspecified", + "bbfcU", + "bbfcPg", "bbfc12a", + "bbfc12", "bbfc15", "bbfc18", - "bbfcPg", "bbfcR18", - "bbfcU", "bbfcUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "U", + "PG", + "12A", + "12", + "15", + "18", + "R18", "" ], "type": "string" @@ -5383,88 +5640,100 @@ "bfvcRating": { "description": "The video's rating from Thailand's Board of Film and Video Censors.", "enum": [ + "bfvcUnspecified", + "bfvcG", + "bfvcE", "bfvc13", "bfvc15", "bfvc18", "bfvc20", "bfvcB", - "bfvcE", - "bfvcG", "bfvcUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "G", + "E", + "13", + "15", + "18", + "20", + "B", "" ], "type": "string" }, "bmukkRating": { - "description": "The video's rating from the Austrian Board of Media Classification (Bundesministerium f\u00fcr Unterricht, Kunst und Kultur).", + "description": "The video's rating from the Austrian Board of Media Classification\n(Bundesministerium für Unterricht, Kunst und Kultur).", "enum": [ + "bmukkUnspecified", + "bmukkAa", + "bmukk6", + "bmukk8", "bmukk10", "bmukk12", "bmukk14", "bmukk16", - "bmukk6", - "bmukk8", - "bmukkAa", "bmukkUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "Unrestricted", + "6+", + "8+", + "10+", + "12+", + "14+", + "16+", "" ], "type": "string" }, "catvRating": { - "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.", + "description": "Rating system for Canadian TV - Canadian TV Classification System\nThe video's rating from the Canadian Radio-Television and\nTelecommunications Commission (CRTC) for Canadian English-language\nbroadcasts. For more information, see the\nCanadian\nBroadcast Standards Council website.", "enum": [ - "catv14plus", - "catv18plus", + "catvUnspecified", "catvC", "catvC8", "catvG", "catvPg", - "catvUnrated" + "catv14plus", + "catv18plus", + "catvUnrated", + "catvE" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "C", + "C8", + "G", + "PG", + "14+", + "18+", "", "" ], "type": "string" }, "catvfrRating": { - "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.", + "description": "The video's rating from the Canadian Radio-Television and\nTelecommunications Commission (CRTC) for Canadian French-language\nbroadcasts. For more information, see the\nCanadian\nBroadcast Standards Council website.", "enum": [ + "catvfrUnspecified", + "catvfrG", + "catvfr8plus", "catvfr13plus", "catvfr16plus", "catvfr18plus", - "catvfr8plus", - "catvfrG", - "catvfrUnrated" + "catvfrUnrated", + "catvfrE" ], "enumDescriptions": [ "", - "", - "", - "", + "G", + "8+", + "13+", + "16+", + "18+", "", "" ], @@ -5473,81 +5742,89 @@ "cbfcRating": { "description": "The video's Central Board of Film Certification (CBFC - India) rating.", "enum": [ - "cbfcA", - "cbfcS", + "cbfcUnspecified", "cbfcU", "cbfcUA", + "cbfcA", + "cbfcS", "cbfcUnrated" ], "enumDescriptions": [ "", - "", - "", - "", + "U", + "U/A", + "A", + "S", "" ], "type": "string" }, "cccRating": { - "description": "The video's Consejo de Calificaci\u00f3n Cinematogr\u00e1fica (Chile) rating.", + "description": "The video's Consejo de Calificación Cinematográfica (Chile)\nrating.", "enum": [ + "cccUnspecified", + "cccTe", + "ccc6", "ccc14", "ccc18", - "ccc18s", "ccc18v", - "ccc6", - "cccTe", + "ccc18s", "cccUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "Todo espectador", + "6+ - Inconveniente para menores de 7 a\u00f1os", + "14+", + "18+", + "18+ - contenido excesivamente violento", + "18+ - contenido pornogr\u00e1fico", "" ], "type": "string" }, "cceRating": { - "description": "The video's rating from Portugal's Comiss\u00e3o de Classifica\u00e7\u00e3o de Espect\u00b4culos.", + "description": "The video's rating from Portugal's Comissão de\nClassificação de Espect´culos.", "enum": [ - "cceM12", - "cceM14", - "cceM16", - "cceM18", + "cceUnspecified", "cceM4", "cceM6", - "cceUnrated" + "cceM12", + "cceM16", + "cceM18", + "cceUnrated", + "cceM14" ], "enumDescriptions": [ "", + "4", + "6", + "12", + "16", + "18", "", - "", - "", - "", - "", - "" + "14" ], "type": "string" }, "chfilmRating": { "description": "The video's rating in Switzerland.", "enum": [ + "chfilmUnspecified", "chfilm0", + "chfilm6", "chfilm12", "chfilm16", "chfilm18", - "chfilm6", "chfilmUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "0", + "6", + "12", + "16", + "18", "" ], "type": "string" @@ -5555,57 +5832,63 @@ "chvrsRating": { "description": "The video's Canadian Home Video Rating System (CHVRS) rating.", "enum": [ - "chvrs14a", - "chvrs18a", - "chvrsE", + "chvrsUnspecified", "chvrsG", "chvrsPg", + "chvrs14a", + "chvrs18a", "chvrsR", + "chvrsE", "chvrsUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "G", + "PG", + "14A", + "18A", + "R", + "E", "" ], "type": "string" }, "cicfRating": { - "description": "The video's rating from the Commission de Contr\u00f4le des Films (Belgium).", + "description": "The video's rating from the Commission de Contrôle des Films\n(Belgium).", "enum": [ + "cicfUnspecified", "cicfE", - "cicfKntEna", "cicfKtEa", + "cicfKntEna", "cicfUnrated" ], "enumDescriptions": [ "", - "", - "", + "E", + "KT/EA", + "KNT/ENA", "" ], "type": "string" }, "cnaRating": { - "description": "The video's rating from Romania's CONSILIUL NATIONAL AL AUDIOVIZUALULUI (CNA).", + "description": "The video's rating from Romania's CONSILIUL NATIONAL AL AUDIOVIZUALULUI\n(CNA).", "enum": [ + "cnaUnspecified", + "cnaAp", "cna12", "cna15", "cna18", "cna18plus", - "cnaAp", "cnaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "AP", + "12", + "15", + "18", + "18+", "" ], "type": "string" @@ -5613,69 +5896,75 @@ "cncRating": { "description": "Rating system in France - Commission de classification cinematographique", "enum": [ + "cncUnspecified", + "cncT", "cnc10", "cnc12", "cnc16", "cnc18", "cncE", "cncInterdiction", - "cncT", "cncUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "T", + "10", + "12", + "16", + "18", + "E", + "interdiction", "" ], "type": "string" }, "csaRating": { - "description": "The video's rating from France's Conseil sup\u00e9rieur de l?audiovisuel, which rates broadcast content.", + "description": "The video's rating from France's Conseil supérieur de\nl\u2019audiovisuel, which rates broadcast content.", "enum": [ + "csaUnspecified", + "csaT", "csa10", "csa12", "csa16", "csa18", "csaInterdiction", - "csaT", "csaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "T", + "10", + "12", + "16", + "18", + "Interdiction", "" ], "type": "string" }, "cscfRating": { - "description": "The video's rating from Luxembourg's Commission de surveillance de la classification des films (CSCF).", + "description": "The video's rating from Luxembourg's Commission de surveillance\nde la classification des films (CSCF).", "enum": [ + "cscfUnspecified", + "cscfAl", + "cscfA", + "cscf6", + "cscf9", "cscf12", "cscf16", "cscf18", - "cscf6", - "cscf9", - "cscfA", - "cscfAl", "cscfUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "AL", + "A", + "6", + "9", + "12", + "16", + "18", "" ], "type": "string" @@ -5683,55 +5972,59 @@ "czfilmRating": { "description": "The video's rating in the Czech Republic.", "enum": [ + "czfilmUnspecified", + "czfilmU", "czfilm12", "czfilm14", "czfilm18", - "czfilmU", "czfilmUnrated" ], "enumDescriptions": [ "", - "", - "", - "", + "U", + "12", + "14", + "18", "" ], "type": "string" }, "djctqRating": { - "description": "The video's Departamento de Justi\u00e7a, Classifica\u00e7\u00e3o, Qualifica\u00e7\u00e3o e T\u00edtulos (DJCQT - Brazil) rating.", + "description": "The video's Departamento de Justiça, Classificação,\nQualificação e Títulos (DJCQT - Brazil) rating.", "enum": [ + "djctqUnspecified", + "djctqL", "djctq10", - "djctq1012", - "djctq1014", - "djctq1016", - "djctq1018", "djctq12", - "djctq1214", - "djctq1216", - "djctq1218", "djctq14", - "djctq1416", - "djctq1418", "djctq16", - "djctq1618", "djctq18", "djctqEr", - "djctqL", "djctqL10", "djctqL12", "djctqL14", "djctqL16", "djctqL18", + "djctq1012", + "djctq1014", + "djctq1016", + "djctq1018", + "djctq1214", + "djctq1216", + "djctq1218", + "djctq1416", + "djctq1418", + "djctq1618", "djctqUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "L", + "10", + "12", + "14", + "16", + "18", "", "", "", @@ -5754,61 +6047,65 @@ }, "djctqRatingReasons": { "description": "Reasons that explain why the video received its DJCQT (Brazil) rating.", + "enumDescriptions": [ + "", + "Brazil rating content descriptors. See http://go/brazilratings section F.\nViol\u00eancia (Violence)", + "Viol\u00eancia extrema (Extreme violence)", + "Conte\u00fado sexual (Sexual content)", + "Nudez (Nudity)", + "Sexo (Sex)", + "Sexo Expl\u00edcito (Explicit sex)", + "Drogas (Drugs)", + "Drogas L\u00edcitas (Legal drugs)", + "Drogas Il\u00edcitas (Illegal drugs)", + "Linguagem Impr\u00f3pria (Inappropriate language)", + "Atos Criminosos (Criminal Acts)", + "Conte\u00fado Impactante (Impacting content)" + ], "items": { "enum": [ - "djctqCriminalActs", - "djctqDrugs", - "djctqExplicitSex", + "djctqRatingReasonUnspecified", + "djctqViolence", "djctqExtremeViolence", - "djctqIllegalDrugs", - "djctqImpactingContent", - "djctqInappropriateLanguage", - "djctqLegalDrugs", + "djctqSexualContent", "djctqNudity", "djctqSex", - "djctqSexualContent", - "djctqViolence" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "djctqExplicitSex", + "djctqDrugs", + "djctqLegalDrugs", + "djctqIllegalDrugs", + "djctqInappropriateLanguage", + "djctqCriminalActs", + "djctqImpactingContent" ], "type": "string" }, "type": "array" }, "ecbmctRating": { - "description": "Rating system in Turkey - Evaluation and Classification Board of the Ministry of Culture and Tourism", + "description": "Rating system in Turkey - Evaluation and Classification Board of the\nMinistry of Culture and Tourism", "enum": [ + "ecbmctUnspecified", + "ecbmctG", + "ecbmct7a", + "ecbmct7plus", "ecbmct13a", "ecbmct13plus", "ecbmct15a", "ecbmct15plus", "ecbmct18plus", - "ecbmct7a", - "ecbmct7plus", - "ecbmctG", "ecbmctUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "G", + "7A", + "7+", + "13A", + "13+", + "15A", + "15+", + "18+", "" ], "type": "string" @@ -5816,25 +6113,27 @@ "eefilmRating": { "description": "The video's rating in Estonia.", "enum": [ + "eefilmUnspecified", + "eefilmPere", + "eefilmL", + "eefilmMs6", + "eefilmK6", + "eefilmMs12", "eefilmK12", "eefilmK14", "eefilmK16", - "eefilmK6", - "eefilmL", - "eefilmMs12", - "eefilmMs6", - "eefilmPere", "eefilmUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "Pere", + "L", + "MS-6", + "K-6", + "MS-12", + "K-12", + "K-14", + "K-16", "" ], "type": "string" @@ -5842,22 +6141,25 @@ "egfilmRating": { "description": "The video's rating in Egypt.", "enum": [ + "egfilmUnspecified", + "egfilmGn", "egfilm18", "egfilmBn", - "egfilmGn", "egfilmUnrated" ], "enumDescriptions": [ "", - "", - "", + "GN", + "18", + "BN", "" ], "type": "string" }, "eirinRating": { - "description": "The video's Eirin (\u6620\u502b) rating. Eirin is the Japanese rating system.", + "description": "The video's Eirin (映倫) rating.\nEirin is the Japanese rating system.", "enum": [ + "eirinUnspecified", "eirinG", "eirinPg12", "eirinR15plus", @@ -5866,9 +6168,10 @@ ], "enumDescriptions": [ "", - "", - "", - "", + "G", + "PG-12", + "R15+", + "R18+", "" ], "type": "string" @@ -5876,67 +6179,73 @@ "fcbmRating": { "description": "The video's rating from Malaysia's Film Censorship Board.", "enum": [ - "fcbm18", - "fcbm18pa", - "fcbm18pl", - "fcbm18sg", - "fcbm18sx", - "fcbmP13", - "fcbmPg13", + "fcbmUnspecified", "fcbmU", + "fcbmPg13", + "fcbmP13", + "fcbm18", + "fcbm18sx", + "fcbm18pa", + "fcbm18sg", + "fcbm18pl", "fcbmUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "U", + "PG13", + "P13", + "18", + "18SX", + "18PA", + "18SG", + "18PL", "" ], "type": "string" }, "fcoRating": { - "description": "The video's rating from Hong Kong's Office for Film, Newspaper and Article Administration.", + "description": "The video's rating from Hong Kong's Office for Film, Newspaper\nand Article Administration.", "enum": [ + "fcoUnspecified", "fcoI", - "fcoIi", "fcoIia", "fcoIib", + "fcoIi", "fcoIii", "fcoUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "I", + "IIA", + "IIB", + "II", + "III", "" ], "type": "string" }, "fmocRating": { - "description": "This property has been deprecated. Use the contentDetails.contentRating.cncRating instead.", + "description": "This property has been deprecated. Use the\ncontentDetails.contentRating.cncRating\ninstead.", "enum": [ + "fmocUnspecified", + "fmocU", "fmoc10", "fmoc12", "fmoc16", "fmoc18", "fmocE", - "fmocU", "fmocUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "U", + "10", + "12", + "16", + "18", + "E", "" ], "type": "string" @@ -5944,20 +6253,40 @@ "fpbRating": { "description": "The video's rating from South Africa's Film and Publication Board.", "enum": [ - "fpb10", + "fpbUnspecified", + "fpbA", + "fpbPg", + "fpb79Pg", "fpb1012Pg", "fpb13", "fpb16", "fpb18", - "fpb79Pg", - "fpbA", - "fpbPg", - "fpbUnrated", "fpbX18", - "fpbXx" + "fpbXx", + "fpbUnrated", + "fpb10" ], "enumDescriptions": [ "", + "A", + "PG", + "7-9PG", + "10-12PG", + "13", + "16", + "18", + "X18", + "XX", + "", + "10" + ], + "type": "string" + }, + "fpbRatingReasons": { + "description": "Reasons that explain why the video received its FPB (South Africa) rating.", + "enumDescriptions": [ + "", + "South Africa rating content descriptors.", "", "", "", @@ -5969,57 +6298,43 @@ "", "" ], - "type": "string" - }, - "fpbRatingReasons": { - "description": "Reasons that explain why the video received its FPB (South Africa) rating.", "items": { "enum": [ + "fpbRatingReasonUnspecified", "fpbBlasphemy", - "fpbCriminalTechniques", - "fpbDrugs", - "fpbHorror", - "fpbImitativeActsTechniques", "fpbLanguage", "fpbNudity", "fpbPrejudice", "fpbSex", + "fpbViolence", + "fpbDrugs", "fpbSexualViolence", - "fpbViolence" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "fpbHorror", + "fpbCriminalTechniques", + "fpbImitativeActsTechniques" ], "type": "string" }, "type": "array" }, "fskRating": { - "description": "The video's Freiwillige Selbstkontrolle der Filmwirtschaft (FSK - Germany) rating.", + "description": "The video's Freiwillige Selbstkontrolle der Filmwirtschaft\n(FSK - Germany) rating.", "enum": [ + "fskUnspecified", "fsk0", + "fsk6", "fsk12", "fsk16", "fsk18", - "fsk6", "fskUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "FSK 0", + "FSK 6", + "FSK 12", + "FSK 16", + "FSK 18", "" ], "type": "string" @@ -6027,8 +6342,9 @@ "grfilmRating": { "description": "The video's rating in Greece.", "enum": [ - "grfilmE", + "grfilmUnspecified", "grfilmK", + "grfilmE", "grfilmK12", "grfilmK13", "grfilmK15", @@ -6038,62 +6354,67 @@ ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "K", + "E", + "K-12", + "K-13", + "K-15", + "K-17", + "K-18", "" ], "type": "string" }, "icaaRating": { - "description": "The video's Instituto de la Cinematograf\u00eda y de las Artes Audiovisuales (ICAA - Spain) rating.", + "description": "The video's Instituto de la Cinematografía y de las Artes\nAudiovisuales (ICAA - Spain) rating.", "enum": [ + "icaaUnspecified", + "icaaApta", + "icaa7", "icaa12", "icaa13", "icaa16", "icaa18", - "icaa7", - "icaaApta", - "icaaUnrated", - "icaaX" + "icaaX", + "icaaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "APTA", + "7", + "12", + "13", + "16", + "18", + "X", "" ], "type": "string" }, "ifcoRating": { - "description": "The video's Irish Film Classification Office (IFCO - Ireland) rating. See the IFCO website for more information.", + "description": "The video's Irish Film Classification Office (IFCO - Ireland) rating.\nSee the IFCO\nwebsite for more information.", "enum": [ + "ifcoUnspecified", + "ifcoG", + "ifcoPg", "ifco12", "ifco12a", "ifco15", "ifco15a", "ifco16", "ifco18", - "ifcoG", - "ifcoPg", "ifcoUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "G", + "PG", + "12", + "12A", + "15", + "15A", + "16", + "18", "" ], "type": "string" @@ -6101,39 +6422,43 @@ "ilfilmRating": { "description": "The video's rating in Israel.", "enum": [ + "ilfilmUnspecified", + "ilfilmAa", "ilfilm12", "ilfilm14", "ilfilm16", "ilfilm18", - "ilfilmAa", "ilfilmUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "AA", + "12", + "14", + "16", + "18", "" ], "type": "string" }, "incaaRating": { - "description": "The video's INCAA (Instituto Nacional de Cine y Artes Audiovisuales - Argentina) rating.", + "description": "The video's INCAA (Instituto Nacional de Cine y Artes Audiovisuales -\nArgentina) rating.", "enum": [ + "incaaUnspecified", "incaaAtp", - "incaaC", "incaaSam13", "incaaSam16", "incaaSam18", + "incaaC", "incaaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "ATP (Apta para todo publico)", + "13 (Solo apta para mayores de 13 a\u00f1os)", + "16 (Solo apta para mayores de 16 a\u00f1os)", + "18 (Solo apta para mayores de 18 a\u00f1os)", + "X (Solo apta para mayores de 18 a\u00f1os, de exhibici\u00f3n condicionada)", "" ], "type": "string" @@ -6141,59 +6466,65 @@ "kfcbRating": { "description": "The video's rating from the Kenya Film Classification Board.", "enum": [ - "kfcb16plus", + "kfcbUnspecified", "kfcbG", "kfcbPg", + "kfcb16plus", "kfcbR", "kfcbUnrated" ], "enumDescriptions": [ "", - "", - "", - "", + "GE", + "PG", + "16", + "18", "" ], "type": "string" }, "kijkwijzerRating": { - "description": "voor de Classificatie van Audiovisuele Media (Netherlands).", + "description": "The video's NICAM/Kijkwijzer rating from the Nederlands Instituut\nvoor de Classificatie van Audiovisuele Media (Netherlands).", "enum": [ + "kijkwijzerUnspecified", + "kijkwijzerAl", + "kijkwijzer6", + "kijkwijzer9", "kijkwijzer12", "kijkwijzer16", "kijkwijzer18", - "kijkwijzer6", - "kijkwijzer9", - "kijkwijzerAl", "kijkwijzerUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "AL", + "6", + "9", + "12", + "16", "", "" ], "type": "string" }, "kmrbRating": { - "description": "The video's Korea Media Rating Board (\uc601\uc0c1\ubb3c\ub4f1\uae09\uc704\uc6d0\ud68c) rating. The KMRB rates videos in South Korea.", + "description": "The video's Korea Media Rating Board\n(영상물등급위원회) rating.\nThe KMRB rates videos in South Korea.", "enum": [ + "kmrbUnspecified", + "kmrbAll", "kmrb12plus", "kmrb15plus", - "kmrbAll", - "kmrbR", "kmrbTeenr", + "kmrbR", "kmrbUnrated" ], "enumDescriptions": [ "", + "전체관람가", + "12세 이상 관람가", + "15세 이상 관람가", "", - "", - "", - "", + "청소년 관람불가", "" ], "type": "string" @@ -6201,25 +6532,27 @@ "lsfRating": { "description": "The video's rating from Indonesia's Lembaga Sensor Film.", "enum": [ - "lsf13", - "lsf17", - "lsf21", + "lsfUnspecified", + "lsfSu", "lsfA", "lsfBo", - "lsfD", + "lsf13", "lsfR", - "lsfSu", + "lsf17", + "lsfD", + "lsf21", "lsfUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "SU", + "A", + "BO", + "13", + "R", + "17", + "D", + "21", "" ], "type": "string" @@ -6227,43 +6560,47 @@ "mccaaRating": { "description": "The video's rating from Malta's Film Age-Classification Board.", "enum": [ - "mccaa12", + "mccaaUnspecified", + "mccaaU", + "mccaaPg", "mccaa12a", + "mccaa12", "mccaa14", "mccaa15", "mccaa16", "mccaa18", - "mccaaPg", - "mccaaU", "mccaaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "U", + "PG", + "12A", + "12", + "14 - this rating was removed from the new classification structure\nintroduced in 2013.", + "15", + "16 - this rating was removed from the new classification structure\nintroduced in 2013.", + "18", "" ], "type": "string" }, "mccypRating": { - "description": "The video's rating from the Danish Film Institute's (Det Danske Filminstitut) Media Council for Children and Young People.", + "description": "The video's rating from the Danish Film Institute's (Det Danske\nFilminstitut) Media Council for Children and Young People.", "enum": [ + "mccypUnspecified", + "mccypA", + "mccyp7", "mccyp11", "mccyp15", - "mccyp7", - "mccypA", "mccypUnrated" ], "enumDescriptions": [ "", - "", - "", - "", + "A", + "7", + "11", + "15", "" ], "type": "string" @@ -6271,45 +6608,49 @@ "mcstRating": { "description": "The video's rating system for Vietnam - MCST", "enum": [ + "mcstUnspecified", + "mcstP", "mcst0", - "mcst16plus", "mcstC13", "mcstC16", + "mcst16plus", "mcstC18", "mcstGPg", - "mcstP", "mcstUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "P", + "0", + "C13", + "C16", + "16+", + "C18", + "MCST_G_PG", "" ], "type": "string" }, "mdaRating": { - "description": "The video's rating from Singapore's Media Development Authority (MDA) and, specifically, it's Board of Film Censors (BFC).", + "description": "The video's rating from Singapore's Media Development Authority (MDA) and,\nspecifically, it's Board of Film Censors (BFC).", "enum": [ + "mdaUnspecified", "mdaG", - "mdaM18", - "mdaNc16", "mdaPg", "mdaPg13", + "mdaNc16", + "mdaM18", "mdaR21", "mdaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "G", + "PG", + "PG13", + "NC16", + "M18", + "R21", "" ], "type": "string" @@ -6317,52 +6658,57 @@ "medietilsynetRating": { "description": "The video's rating from Medietilsynet, the Norwegian Media Authority.", "enum": [ + "medietilsynetUnspecified", + "medietilsynetA", + "medietilsynet6", + "medietilsynet7", + "medietilsynet9", "medietilsynet11", "medietilsynet12", "medietilsynet15", "medietilsynet18", - "medietilsynet6", - "medietilsynet7", - "medietilsynet9", - "medietilsynetA", "medietilsynetUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "A", + "6", + "7", + "9", + "11", + "12", + "15", + "18", "" ], "type": "string" }, "mekuRating": { - "description": "The video's rating from Finland's Kansallinen Audiovisuaalinen Instituutti (National Audiovisual Institute).", + "description": "The video's rating from Finland's Kansallinen Audiovisuaalinen Instituutti\n(National Audiovisual Institute).", "enum": [ + "mekuUnspecified", + "mekuS", + "meku7", "meku12", "meku16", "meku18", - "meku7", - "mekuS", "mekuUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "S", + "7", + "12", + "16", + "18", "" ], "type": "string" }, "menaMpaaRating": { - "description": "The rating system for MENA countries, a clone of MPAA. It is needed to", + "description": "The rating system for MENA countries, a clone of MPAA. It is needed to\nprevent titles go live w/o additional QC check, since some of them can be\ninappropriate for the countries at all. See b/33408548 for more details.", "enum": [ + "menaMpaaUnspecified", "menaMpaaG", "menaMpaaPg", "menaMpaaPg13", @@ -6371,22 +6717,24 @@ ], "enumDescriptions": [ "", - "", - "", - "", - "" + "G", + "PG", + "PG-13", + "R", + "To keep the same enum values as MPAA's items have, skip NC_17." ], "type": "string" }, "mibacRating": { - "description": "The video's rating from the Ministero dei Beni e delle Attivit\u00e0 Culturali e del Turismo (Italy).", + "description": "The video's rating from the Ministero dei Beni e delle Attività\nCulturali e del Turismo (Italy).", "enum": [ + "mibacUnspecified", "mibacT", - "mibacUnrated", "mibacVap", "mibacVm12", "mibacVm14", - "mibacVm18" + "mibacVm18", + "mibacUnrated" ], "enumDescriptions": [ "", @@ -6394,6 +6742,7 @@ "", "", "", + "", "" ], "type": "string" @@ -6401,103 +6750,113 @@ "mocRating": { "description": "The video's Ministerio de Cultura (Colombia) rating.", "enum": [ + "mocUnspecified", + "mocE", + "mocT", + "moc7", "moc12", "moc15", "moc18", - "moc7", + "mocX", "mocBanned", - "mocE", - "mocT", - "mocUnrated", - "mocX" + "mocUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", - "", + "E", + "T", + "7", + "12", + "15", + "18", + "X", + "Banned", "" ], "type": "string" }, "moctwRating": { - "description": "The video's rating from Taiwan's Ministry of Culture (\u6587\u5316\u90e8).", + "description": "The video's rating from Taiwan's Ministry of Culture\n(文化部).", "enum": [ + "moctwUnspecified", "moctwG", "moctwP", "moctwPg", "moctwR", + "moctwUnrated", "moctwR12", - "moctwR15", - "moctwUnrated" + "moctwR15" ], "enumDescriptions": [ "", + "G", + "P", + "PG", + "R", "", - "", - "", - "", - "", - "" + "R-12", + "R-15" ], "type": "string" }, "mpaaRating": { "description": "The video's Motion Picture Association of America (MPAA) rating.", "enum": [ + "mpaaUnspecified", "mpaaG", - "mpaaNc17", "mpaaPg", "mpaaPg13", "mpaaR", - "mpaaUnrated", - "mpaaX" + "mpaaNc17", + "mpaaX", + "mpaaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "G", + "PG", + "PG-13", + "R", + "NC-17", + "! X", "" ], "type": "string" }, "mpaatRating": { - "description": "The rating system for trailer, DVD, and Ad in the US. See http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html.", + "description": "The rating system for trailer, DVD, and Ad in the US. See\nhttp://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html.", "enum": [ + "mpaatUnspecified", "mpaatGb", "mpaatRb" ], "enumDescriptions": [ "", - "" + "GB", + "RB" ], "type": "string" }, "mtrcbRating": { - "description": "The video's rating from the Movie and Television Review and Classification Board (Philippines).", + "description": "The video's rating from the Movie and Television Review and\nClassification Board (Philippines).", "enum": [ + "mtrcbUnspecified", "mtrcbG", "mtrcbPg", "mtrcbR13", "mtrcbR16", "mtrcbR18", - "mtrcbUnrated", - "mtrcbX" + "mtrcbX", + "mtrcbUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "G", + "PG", + "R-13", + "R-16", + "R-18", + "X", "" ], "type": "string" @@ -6505,23 +6864,25 @@ "nbcRating": { "description": "The video's rating from the Maldives National Bureau of Classification.", "enum": [ + "nbcUnspecified", + "nbcG", + "nbcPg", "nbc12plus", "nbc15plus", "nbc18plus", "nbc18plusr", - "nbcG", - "nbcPg", "nbcPu", "nbcUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "G", + "PG", + "12+", + "15+", + "18+", + "18+R", + "PU", "" ], "type": "string" @@ -6529,11 +6890,12 @@ "nbcplRating": { "description": "The video's rating in Poland.", "enum": [ - "nbcpl18plus", + "nbcplUnspecified", "nbcplI", "nbcplIi", "nbcplIii", "nbcplIv", + "nbcpl18plus", "nbcplUnrated" ], "enumDescriptions": [ @@ -6542,26 +6904,29 @@ "", "", "", + "", "" ], "type": "string" }, "nfrcRating": { - "description": "The video's rating from the Bulgarian National Film Center.", + "description": "The video's rating from the Bulgarian\nNational Film Center.", "enum": [ + "nfrcUnspecified", "nfrcA", "nfrcB", "nfrcC", "nfrcD", - "nfrcUnrated", - "nfrcX" + "nfrcX", + "nfrcUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "A", + "B", + "C", + "D", + "X", "" ], "type": "string" @@ -6569,128 +6934,140 @@ "nfvcbRating": { "description": "The video's rating from Nigeria's National Film and Video Censors Board.", "enum": [ + "nfvcbUnspecified", + "nfvcbG", + "nfvcbPg", "nfvcb12", "nfvcb12a", "nfvcb15", "nfvcb18", - "nfvcbG", - "nfvcbPg", "nfvcbRe", "nfvcbUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "G", + "PG", + "12", + "12A", + "15", + "18", + "RE", "" ], "type": "string" }, "nkclvRating": { - "description": "The video's rating from the Nacion\u00e3lais Kino centrs (National Film Centre of Latvia).", + "description": "The video's rating from the Nacionãlais Kino centrs (National Film\nCentre of Latvia).", "enum": [ + "nkclvUnspecified", + "nkclvU", + "nkclv7plus", "nkclv12plus", "nkclv16plus", "nkclv18plus", - "nkclv7plus", - "nkclvU", "nkclvUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "U", + "7+", + "12+", + "! 16+", + "18+", "" ], "type": "string" }, "nmcRating": { + "description": "The National Media Council ratings system for United Arab Emirates.", "enum": [ - "nmc15plus", - "nmc18plus", - "nmc18tc", + "nmcUnspecified", "nmcG", "nmcPg", "nmcPg13", "nmcPg15", + "nmc15plus", + "nmc18plus", + "nmc18tc", "nmcUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "G", + "PG", + "PG-13", + "PG-15", + "15+", + "18+", + "18TC", "" ], "type": "string" }, "oflcRating": { - "description": "The video's Office of Film and Literature Classification (OFLC - New Zealand) rating.", + "description": "The video's Office of Film and Literature Classification\n(OFLC - New Zealand) rating.", "enum": [ + "oflcUnspecified", "oflcG", - "oflcM", "oflcPg", + "oflcM", "oflcR13", "oflcR15", "oflcR16", "oflcR18", + "oflcUnrated", "oflcRp13", "oflcRp16", - "oflcRp18", - "oflcUnrated" + "oflcRp18" ], "enumDescriptions": [ "", + "G", + "PG", + "M", + "R13", + "R15", + "R16", + "R18", "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "RP13", + "RP16", + "RP18" ], "type": "string" }, "pefilmRating": { "description": "The video's rating in Peru.", "enum": [ + "pefilmUnspecified", + "pefilmPt", + "pefilmPg", "pefilm14", "pefilm18", - "pefilmPg", - "pefilmPt", "pefilmUnrated" ], "enumDescriptions": [ "", - "", - "", - "", + "PT", + "PG", + "14", + "18", "" ], "type": "string" }, "rcnofRating": { - "description": "The video's rating from the Hungarian Nemzeti Filmiroda, the Rating Committee of the National Office of Film.", + "description": "The video's rating from the Hungarian Nemzeti Filmiroda, the Rating\nCommittee of the National Office of Film.", "enum": [ + "rcnofUnspecified", "rcnofI", "rcnofIi", "rcnofIii", "rcnofIv", - "rcnofUnrated", "rcnofV", - "rcnofVi" + "rcnofVi", + "rcnofUnrated" ], "enumDescriptions": [ "", @@ -6699,6 +7076,7 @@ "", "", "", + "", "" ], "type": "string" @@ -6706,6 +7084,7 @@ "resorteviolenciaRating": { "description": "The video's rating in Venezuela.", "enum": [ + "resorteviolenciaUnspecified", "resorteviolenciaA", "resorteviolenciaB", "resorteviolenciaC", @@ -6715,19 +7094,21 @@ ], "enumDescriptions": [ "", - "", - "", - "", - "", + "A", + "B", + "C", + "D", + "E", "" ], "type": "string" }, "rtcRating": { - "description": "The video's General Directorate of Radio, Television and Cinematography (Mexico) rating.", + "description": "The video's General Directorate of Radio, Television and Cinematography\n(Mexico) rating.", "enum": [ - "rtcA", + "rtcUnspecified", "rtcAa", + "rtcA", "rtcB", "rtcB15", "rtcC", @@ -6736,49 +7117,54 @@ ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "AA", + "A", + "B", + "B15", + "C", + "D", "" ], "type": "string" }, "rteRating": { - "description": "The video's rating from Ireland's Raidi\u00f3 Teilif\u00eds \u00c9ireann.", + "description": "The video's rating from Ireland's Raidió Teilifís\nÉireann.", "enum": [ - "rteCh", + "rteUnspecified", "rteGa", - "rteMa", + "rteCh", "rtePs", + "rteMa", "rteUnrated" ], "enumDescriptions": [ "", - "", - "", - "", + "GA", + "CH", + "PS", + "MA", "" ], "type": "string" }, "russiaRating": { - "description": "The video's National Film Registry of the Russian Federation (MKRF - Russia) rating.", + "description": "The video's National Film Registry of the Russian Federation\n(MKRF - Russia) rating.", "enum": [ + "russiaUnspecified", "russia0", + "russia6", "russia12", "russia16", "russia18", - "russia6", "russiaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", + "0+", + "6+", + "12+", + "16+", + "18+", "" ], "type": "string" @@ -6786,6 +7172,7 @@ "skfilmRating": { "description": "The video's rating in Slovakia.", "enum": [ + "skfilmUnspecified", "skfilmG", "skfilmP2", "skfilmP5", @@ -6794,9 +7181,10 @@ ], "enumDescriptions": [ "", - "", - "", - "", + "G", + "P2", + "P5", + "P8", "" ], "type": "string" @@ -6804,39 +7192,43 @@ "smaisRating": { "description": "The video's rating in Iceland.", "enum": [ + "smaisUnspecified", + "smaisL", + "smais7", "smais12", "smais14", "smais16", "smais18", - "smais7", - "smaisL", "smaisUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", + "L", + "7", + "12", + "14", + "16", + "18", "" ], "type": "string" }, "smsaRating": { - "description": "The video's rating from Statens medier\u00e5d (Sweden's National Media Council).", + "description": "The video's rating from Statens medieråd (Sweden's National Media\nCouncil).", "enum": [ + "smsaUnspecified", + "smsaA", + "smsa7", "smsa11", "smsa15", - "smsa7", - "smsaA", "smsaUnrated" ], "enumDescriptions": [ "", - "", - "", - "", + "All ages", + "7", + "11", + "15", "" ], "type": "string" @@ -6844,23 +7236,25 @@ "tvpgRating": { "description": "The video's TV Parental Guidelines (TVPG) rating.", "enum": [ - "pg14", - "tvpgG", - "tvpgMa", - "tvpgPg", - "tvpgUnrated", + "tvpgUnspecified", "tvpgY", "tvpgY7", - "tvpgY7Fv" + "tvpgY7Fv", + "tvpgG", + "tvpgPg", + "pg14", + "tvpgMa", + "tvpgUnrated" ], "enumDescriptions": [ "", - "", - "", - "", - "", - "", - "", + "TV-Y", + "TV-Y7", + "TV-Y7-FV", + "TV-G", + "TV-PG", + "TV-14", + "TV-MA", "" ], "type": "string" @@ -6868,9 +7262,11 @@ "ytRating": { "description": "A rating that YouTube uses to identify age-restricted content.", "enum": [ + "ytUnspecified", "ytAgeRestricted" ], "enumDescriptions": [ + "", "" ], "type": "string" @@ -6878,6 +7274,21 @@ }, "type": "object" }, + "Entity": { + "id": "Entity", + "properties": { + "id": { + "type": "string" + }, + "typeId": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, "GeoPoint": { "description": "Geographical coordinates of a point, in WGS84.", "id": "GeoPoint", @@ -6901,7 +7312,7 @@ "type": "object" }, "GuideCategory": { - "description": "A guideCategory resource identifies a category that YouTube algorithmically assigns based on a channel's content or other indicators, such as the channel's popularity. The list is similar to video categories, with the difference being that a video's uploader can assign a video category but only YouTube can assign a channel category.", + "description": "A guideCategory resource identifies a category\nthat YouTube algorithmically assigns based on a\nchannel's content or other indicators, such as the channel's popularity. The\nlist is similar to video categories, with the\ndifference being that a video's uploader can assign a video category but only\nYouTube can assign a channel category.", "id": "GuideCategory", "properties": { "etag": { @@ -6914,12 +7325,12 @@ }, "kind": { "default": "youtube#guideCategory", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#guideCategory\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#guideCategory\".", "type": "string" }, "snippet": { "$ref": "GuideCategorySnippet", - "description": "The snippet object contains basic details about the category, such as its title." + "description": "The snippet object contains basic details about the category,\nsuch as its title." } }, "type": "object" @@ -6936,7 +7347,7 @@ "type": "string" }, "items": { - "description": "A list of categories that can be associated with YouTube channels. In this map, the category ID is the map key, and its value is the corresponding guideCategory resource.", + "description": "A list of categories that can be associated with YouTube channels. In this\nmap, the category ID is the map key, and its value is the corresponding\nguideCategory resource.", "items": { "$ref": "GuideCategory" }, @@ -6944,25 +7355,25 @@ }, "kind": { "default": "youtube#guideCategoryListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#guideCategoryListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#guideCategoryListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { "$ref": "PageInfo" }, "prevPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the previous page in the result set.", "type": "string" }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -6973,7 +7384,6 @@ "id": "GuideCategorySnippet", "properties": { "channelId": { - "default": "UCBR8-60-B28hp2BmDPdntcQ", "type": "string" }, "title": { @@ -6984,7 +7394,7 @@ "type": "object" }, "I18nLanguage": { - "description": "An i18nLanguage resource identifies a UI language currently supported by YouTube.", + "description": "An i18nLanguage resource identifies a UI\nlanguage currently supported by YouTube.", "id": "I18nLanguage", "properties": { "etag": { @@ -6997,12 +7407,12 @@ }, "kind": { "default": "youtube#i18nLanguage", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#i18nLanguage\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#i18nLanguage\".", "type": "string" }, "snippet": { "$ref": "I18nLanguageSnippet", - "description": "The snippet object contains basic details about the i18n language, such as language code and human-readable name." + "description": "The snippet object contains basic details about the i18n\nlanguage, such as language code and human-readable name." } }, "type": "object" @@ -7019,7 +7429,7 @@ "type": "string" }, "items": { - "description": "A list of supported i18n languages. In this map, the i18n language ID is the map key, and its value is the corresponding i18nLanguage resource.", + "description": "A list of supported i18n languages. In this map, the i18n language ID is\nthe map key, and its value is the corresponding i18nLanguage\nresource.", "items": { "$ref": "I18nLanguage" }, @@ -7027,18 +7437,18 @@ }, "kind": { "default": "youtube#i18nLanguageListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#i18nLanguageListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#i18nLanguageListResponse\".", "type": "string" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, "type": "object" }, "I18nLanguageSnippet": { - "description": "Basic details about an i18n language, such as language code and human-readable name.", + "description": "Basic details about an i18n language, such as language code and\nhuman-readable name.", "id": "I18nLanguageSnippet", "properties": { "hl": { @@ -7053,7 +7463,7 @@ "type": "object" }, "I18nRegion": { - "description": "A i18nRegion resource identifies a region where YouTube is available.", + "description": "A i18nRegion resource identifies a region where\nYouTube is available.", "id": "I18nRegion", "properties": { "etag": { @@ -7066,12 +7476,12 @@ }, "kind": { "default": "youtube#i18nRegion", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#i18nRegion\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#i18nRegion\".", "type": "string" }, "snippet": { "$ref": "I18nRegionSnippet", - "description": "The snippet object contains basic details about the i18n region, such as region code and human-readable name." + "description": "The snippet object contains basic details about the i18n\nregion, such as region code and human-readable name." } }, "type": "object" @@ -7088,7 +7498,7 @@ "type": "string" }, "items": { - "description": "A list of regions where YouTube is available. In this map, the i18n region ID is the map key, and its value is the corresponding i18nRegion resource.", + "description": "A list of regions where YouTube is available. In this map, the i18n region\nID is the map key, and its value is the corresponding\ni18nRegion resource.", "items": { "$ref": "I18nRegion" }, @@ -7096,18 +7506,18 @@ }, "kind": { "default": "youtube#i18nRegionListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#i18nRegionListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#i18nRegionListResponse\".", "type": "string" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, "type": "object" }, "I18nRegionSnippet": { - "description": "Basic details about an i18n region, such as region code and human-readable name.", + "description": "Basic details about an i18n region, such as region code and human-readable\nname.", "id": "I18nRegionSnippet", "properties": { "gl": { @@ -7127,10 +7537,10 @@ "properties": { "backgroundImageUrl": { "$ref": "LocalizedProperty", - "description": "The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k." + "description": "The URL for the background image shown on the video watch page. The image\nshould be 1200px by 615px, with a maximum file size of 128k." }, "bannerExternalUrl": { - "description": "This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.", + "description": "This is used only in update requests; if it's set, we use this URL to\ngenerate all of the above banner URLs.", "type": "string" }, "bannerImageUrl": { @@ -7195,7 +7605,7 @@ }, "largeBrandedBannerImageUrl": { "$ref": "LocalizedProperty", - "description": "The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page." + "description": "The URL for the 854px by 70px image that appears below the video player in\nthe expanded video view of the video watch page." }, "smallBrandedBannerImageImapScript": { "$ref": "LocalizedProperty", @@ -7203,14 +7613,108 @@ }, "smallBrandedBannerImageUrl": { "$ref": "LocalizedProperty", - "description": "The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page." + "description": "The URL for the 640px by 70px banner image that appears below the video\nplayer in the default view of the video watch page.\nThe URL for the image that appears above the top-left corner of the video\nplayer. This is a 25-pixel-high image with a flexible width that cannot\nexceed 170 pixels." }, "trackingImageUrl": { - "description": "The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.", + "description": "The URL for a 1px by 1px tracking pixel that can be used to collect\nstatistics for views of the channel or video pages.", "type": "string" }, "watchIconImageUrl": { - "description": "The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.", + "type": "string" + } + }, + "type": "object" + }, + "InfoCard": { + "id": "InfoCard", + "properties": { + "etag": { + "description": "Etag of this resource.", + "type": "string" + }, + "id": { + "description": "UUID for this infocard.", + "type": "string" + }, + "kind": { + "default": "youtube#infocard", + "description": "Identifies what kind of resource this is.", + "type": "string" + }, + "snippet": { + "$ref": "InfoCardSnippet", + "description": "The snippet object contains basic details about the infocard." + } + }, + "type": "object" + }, + "InfoCardSnippet": { + "id": "InfoCardSnippet", + "properties": { + "channelInfocard": { + "$ref": "ChannelCard" + }, + "linkInfocard": { + "$ref": "LinkCard" + }, + "playlistInfocard": { + "$ref": "PlaylistCard" + }, + "teaser": { + "$ref": "InfoCardSnippetTeaser", + "description": "Each card can have a teaser.\nRequired." + }, + "videoInfocard": { + "$ref": "VideoCard" + } + }, + "type": "object" + }, + "InfoCardSnippetTeaser": { + "id": "InfoCardSnippetTeaser", + "properties": { + "teaserStartOffset": { + "description": "The offset from the video start at which the teaser should be displayed\n(activated), in milliseconds.\nRequired.", + "format": "google-duration", + "type": "string" + }, + "teaserText": { + "description": "The teaser text to show at the top of the player for the info-card.\nRequired for channel and link type cards.\nOptional for video and playlist type cards.", + "type": "string" + } + }, + "type": "object" + }, + "InfoCards": { + "id": "InfoCards", + "properties": { + "items": { + "description": "A list of infocards.", + "items": { + "$ref": "InfoCard" + }, + "type": "array" + } + }, + "type": "object" + }, + "InfocardListResponse": { + "id": "InfocardListResponse", + "properties": { + "etag": { + "description": "Etag of this resource.", + "type": "string" + }, + "items": { + "description": "A list of infocards.", + "items": { + "$ref": "InfoCard" + }, + "type": "array" + }, + "kind": { + "default": "youtube#infocardListResponse", + "description": "Identifies what kind of resource this is.", "type": "string" } }, @@ -7221,11 +7725,19 @@ "id": "IngestionInfo", "properties": { "backupIngestionAddress": { - "description": "The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.", + "description": "The backup ingestion URL that you should use to stream video to\nYouTube. You have the option of simultaneously streaming the content\nthat you are sending to the ingestionAddress to this URL.", "type": "string" }, "ingestionAddress": { - "description": "The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.\n\nDepending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:\n\nSTREAM_URL/STREAM_NAME", + "description": "The primary ingestion URL that you should use to stream video to\nYouTube. You must stream video to this URL.

\nDepending on which application or tool you use to encode\nyour video stream, you may need to enter the stream URL and stream\nname separately or you may need to concatenate them in the following\nformat:

STREAM_URL/STREAM_NAME
", + "type": "string" + }, + "rtmpsBackupIngestionAddress": { + "description": "This ingestion url may be used instead of\nbackupIngestionAddress in order to stream via RTMPS. Not\napplicable to non-RTMP streams.", + "type": "string" + }, + "rtmpsIngestionAddress": { + "description": "This ingestion url may be used instead of\ningestionAddress in order to stream via RTMPS. Not applicable\nto non-RTMP streams.", "type": "string" }, "streamName": { @@ -7236,38 +7748,44 @@ "type": "object" }, "InvideoBranding": { + "description": "LINT.IfChange\nDescribes an invideo branding.", "id": "InvideoBranding", "properties": { "imageBytes": { + "description": "The bytes the uploaded image. Only used in api to youtube communication.", "format": "byte", "type": "string" }, "imageUrl": { + "description": "The url of the uploaded image. Only used in apiary to api communication.", "type": "string" }, "position": { - "$ref": "InvideoPosition" + "$ref": "InvideoPosition", + "description": "The spatial position within the video where the branding watermark will be\ndisplayed." }, "targetChannelId": { + "description": "The channel to which this branding links. If not present it defaults to\nthe current channel.", "type": "string" }, "timing": { - "$ref": "InvideoTiming" + "$ref": "InvideoTiming", + "description": "The temporal position within the video where watermark will be displayed." } }, "type": "object" }, "InvideoPosition": { - "description": "Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one.", + "description": "Describes the spatial position of a visual widget inside a video. It is a\nunion of various position types, out of which only will be set one.", "id": "InvideoPosition", "properties": { "cornerPosition": { "description": "Describes in which corner of the video the visual widget will appear.", "enum": [ - "bottomLeft", - "bottomRight", "topLeft", - "topRight" + "topRight", + "bottomLeft", + "bottomRight" ], "enumDescriptions": [ "", @@ -7291,12 +7809,12 @@ "type": "object" }, "InvideoPromotion": { - "description": "Describes an invideo promotion campaign consisting of multiple promoted items. A campaign belongs to a single channel_id.", + "description": "Describes an invideo promotion campaign consisting of multiple promoted\nitems. A campaign belongs to a single channel_id.", "id": "InvideoPromotion", "properties": { "defaultTiming": { "$ref": "InvideoTiming", - "description": "The default temporal position within the video where the promoted item will be displayed. Can be overriden by more specific timing in the item." + "description": "The default temporal position within the video where the promoted item will\nbe displayed. Can be overridden by more specific timing in the item." }, "items": { "description": "List of promoted items in decreasing priority.", @@ -7307,10 +7825,10 @@ }, "position": { "$ref": "InvideoPosition", - "description": "The spatial position within the video where the promoted item will be displayed." + "description": "The spatial position within the video where the promoted item will be\ndisplayed." }, "useSmartTiming": { - "description": "Indicates whether the channel's promotional campaign uses \"smart timing.\" This feature attempts to show promotions at a point in the video when they are more likely to be clicked and less likely to disrupt the viewing experience. This feature also picks up a single promotion to show on each video.", + "description": "Indicates whether the channel's promotional campaign uses \"smart timing.\"\nThis feature attempts to show promotions at a point in the video when they\nare more likely to be clicked and less likely to disrupt the viewing\nexperience. This feature also picks up a single promotion to show on each\nvideo.", "type": "boolean" } }, @@ -7321,20 +7839,20 @@ "id": "InvideoTiming", "properties": { "durationMs": { - "description": "Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.", + "description": "Defines the duration in milliseconds for which the promotion should be\ndisplayed. If missing, the client should use the default.", "format": "uint64", "type": "string" }, "offsetMs": { - "description": "Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.", + "description": "Defines the time at which the promotion will appear. Depending on the value\nof type the value of the offsetMs field will\nrepresent a time offset from the start or from the end of the video,\nexpressed in milliseconds.", "format": "uint64", "type": "string" }, "type": { - "description": "Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.", + "description": "Describes a timing type. If the value is offsetFromStart, then\nthe offsetMs field represents an offset from the start of the\nvideo. If the value is offsetFromEnd, then the\noffsetMs field represents an offset from the end of the video.", "enum": [ - "offsetFromEnd", - "offsetFromStart" + "offsetFromStart", + "offsetFromEnd" ], "enumDescriptions": [ "", @@ -7358,48 +7876,85 @@ "id": "LevelDetails", "properties": { "displayName": { + "description": "The name that should be used when referring to this level.", + "type": "string" + } + }, + "type": "object" + }, + "LinkCard": { + "id": "LinkCard", + "properties": { + "customLinkText": { + "description": "Custom text to show as the website link.\nRequired.", + "type": "string" + }, + "externalImageUrl": { + "description": "URL to an externally hosted image.", + "type": "string" + }, + "targetUrl": { + "description": "The URL to which this card points.\nRequired.", + "type": "string" + }, + "title": { + "description": "The title to show on the card.\nRequired.", + "type": "string" + }, + "uploadedImage": { + "$ref": "LinkCardUploadedImage", + "description": "Previously uploaded image." + } + }, + "type": "object" + }, + "LinkCardUploadedImage": { + "id": "LinkCardUploadedImage", + "properties": { + "imageFile": { + "description": "Image reference on the thumbnail service.", + "type": "string" + }, + "version": { + "description": "The version in the thumbnail service.", + "format": "int64", "type": "string" } }, "type": "object" }, "LiveBroadcast": { - "description": "A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.", + "description": "A liveBroadcast resource represents an event\nthat will be streamed, via live video, on YouTube.", "id": "LiveBroadcast", "properties": { "contentDetails": { "$ref": "LiveBroadcastContentDetails", - "description": "The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded." + "description": "The contentDetails object contains information about the\nevent's video content, such as whether the content can be shown in an\nembedded video player or if it will be archived and therefore available\nfor viewing after the event has concluded." }, "etag": { "description": "Etag of this resource.", "type": "string" }, "id": { - "annotations": { - "required": [ - "youtube.liveBroadcasts.update" - ] - }, "description": "The ID that YouTube assigns to uniquely identify the broadcast.", "type": "string" }, "kind": { "default": "youtube#liveBroadcast", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveBroadcast\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#liveBroadcast\".", "type": "string" }, "snippet": { "$ref": "LiveBroadcastSnippet", - "description": "The snippet object contains basic details about the event, including its title, description, start time, and end time." + "description": "The snippet object contains basic details about the event,\nincluding its title, description, start time, and end time." }, "statistics": { "$ref": "LiveBroadcastStatistics", - "description": "The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live." + "description": "The statistics object contains info about the event's current\nstats. These include concurrent viewers and total chat count. Statistics\ncan change (in either direction) during the lifetime of an event.\nStatistics are only returned while the event is live." }, "status": { "$ref": "LiveBroadcastStatus", - "description": "The status object contains information about the event's status." + "description": "The status object contains information about the event's\nstatus." } }, "type": "object" @@ -7409,21 +7964,22 @@ "id": "LiveBroadcastContentDetails", "properties": { "boundStreamId": { - "description": "This value uniquely identifies the live stream bound to the broadcast.", + "description": "This value uniquely identifies the\nlive stream\nbound to the broadcast.", "type": "string" }, "boundStreamLastUpdateTimeMs": { - "description": "The date and time that the live stream referenced by boundStreamId was last updated.", - "format": "date-time", + "description": "The date and time that the live stream referenced by\nboundStreamId was last updated.", "type": "string" }, "closedCaptionsType": { "enum": [ + "closedCaptionsTypeUnspecified", "closedCaptionsDisabled", - "closedCaptionsEmbedded", - "closedCaptionsHttpPost" + "closedCaptionsHttpPost", + "closedCaptionsEmbedded" ], "enumDescriptions": [ + "", "", "", "" @@ -7431,14 +7987,15 @@ "type": "string" }, "enableAutoStart": { - "description": "This setting indicates whether auto start is enabled for this broadcast.", + "description": "This setting indicates whether auto start is enabled for this broadcast.\n The default value for this property is false.

\n This setting can only be used by Events.", "type": "boolean" }, "enableAutoStop": { + "description": "This setting indicates whether auto stop is enabled for this broadcast.\nThe default value for this property is false.

\nThis setting can only be used by Events.", "type": "boolean" }, "enableClosedCaptions": { - "description": "This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.", + "description": "This setting indicates whether HTTP POST closed captioning is enabled for\nthis broadcast. The ingestion URL of the closed captions is returned\nthrough the liveStreams API. This is mutually exclusive with using the\nclosed_captions_type property, and is equivalent to setting\nclosed_captions_type to CLOSED_CAPTIONS_HTTP_POST.", "type": "boolean" }, "enableContentEncryption": { @@ -7447,7 +8004,7 @@ "youtube.liveBroadcasts.update" ] }, - "description": "This setting indicates whether YouTube should enable content encryption for the broadcast.", + "description": "This setting indicates whether YouTube should enable content encryption\nfor the broadcast.", "type": "boolean" }, "enableDvr": { @@ -7456,7 +8013,7 @@ "youtube.liveBroadcasts.update" ] }, - "description": "This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.\n\n\n\nImportant: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.", + "description": "This setting determines whether viewers can access DVR controls while\nwatching the video. DVR controls enable the viewer to control the video\nplayback experience by pausing, rewinding, or fast forwarding content.\nThe default value for this property is true.

\n\nImportant: You must set the value to true\nand also set the enableArchive property's value to\ntrue if you want to make playback available immediately\nafter the broadcast ends.", "type": "boolean" }, "enableEmbed": { @@ -7465,7 +8022,7 @@ "youtube.liveBroadcasts.update" ] }, - "description": "This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.", + "description": "This setting indicates whether the broadcast video can be played in an\nembedded player. If you choose to archive the video (using the\nenableArchive property), this setting will also apply to\nthe archived video.", "type": "boolean" }, "enableLowLatency": { @@ -7473,36 +8030,40 @@ "type": "boolean" }, "latencyPreference": { - "description": "If both this and enable_low_latency are set, they must match. LATENCY_NORMAL should match enable_low_latency=false LATENCY_LOW should match enable_low_latency=true LATENCY_ULTRA_LOW should have enable_low_latency omitted.", + "description": "If both this and enable_low_latency are set, they must match.\nLATENCY_NORMAL should match enable_low_latency=false\nLATENCY_LOW should match enable_low_latency=true\nLATENCY_ULTRA_LOW should have enable_low_latency omitted.", "enum": [ - "low", + "latencyPreferenceUnspecified", "normal", + "low", "ultraLow" ], "enumDescriptions": [ "", - "", - "" + "Best for: highest quality viewer playbacks and higher resolutions.", + "Best for: near real-time interaction, with minimal playback buffering.", + "Best for: real-time interaction\nDoes not support: Closed captions, 1440p, and 4k resolutions" ], "type": "string" }, "mesh": { - "description": "The mesh for projecting the video if projection is mesh. The mesh value must be a UTF-8 string containing the base-64 encoding of 3D mesh data that follows the Spherical Video V2 RFC specification for an mshp box, excluding the box size and type but including the following four reserved zero bytes for the version and flags.", + "description": "The mesh for projecting the video if projection is\nmesh. The mesh value must be a UTF-8 string containing the\nbase-64 encoding of 3D mesh data that follows the \nSpherical Video V2 RFC specification for an mshp box, excluding the box\nsize and type but including the following four reserved zero bytes for the\nversion and flags.", "format": "byte", "type": "string" }, "monitorStream": { "$ref": "MonitorStreamInfo", - "description": "The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly." + "description": "The monitorStream object contains information about the\nmonitor stream, which the broadcaster can use to review the event\ncontent before the broadcast stream is shown publicly." }, "projection": { - "description": "The projection format of this broadcast. This defaults to rectangular.", + "description": "The projection format of this broadcast. This defaults to\nrectangular.", "enum": [ + "projectionUnspecified", + "rectangular", "360", - "mesh", - "rectangular" + "mesh" ], "enumDescriptions": [ + "", "", "", "" @@ -7515,7 +8076,7 @@ "youtube.liveBroadcasts.update" ] }, - "description": "Automatically start recording after the event goes live. The default value for this property is true.\n\n\n\nImportant: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.", + "description": "Automatically start recording after the event goes live.\nThe default value for this property is true.

\n\nImportant: You must also set the enableDvr\nproperty's value to\ntrue if you want the playback to be available immediately\nafter the broadcast ends. If you set this property's value to\ntrue but do not also set the enableDvr property\nto true, there may be a delay of around one day before the\narchived video will be available for playback.", "type": "boolean" }, "startWithSlate": { @@ -7524,21 +8085,8 @@ "youtube.liveBroadcasts.update" ] }, - "description": "This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.", + "description": "This setting indicates whether the broadcast should automatically begin\nwith an in-stream\nslate when you update the broadcast's status to live.\nAfter updating the status, you then need to send a\nliveCuepoints.insert\nrequest that sets the cuepoint's eventState to\nend to remove the in-stream slate and make your broadcast\nstream visible to viewers.", "type": "boolean" - }, - "stereoLayout": { - "enum": [ - "left_right", - "mono", - "top_bottom" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" } }, "type": "object" @@ -7563,79 +8111,53 @@ }, "kind": { "default": "youtube#liveBroadcastListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveBroadcastListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#liveBroadcastListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "prevPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the previous page in the result set.", "type": "string" }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, "type": "object" }, "LiveBroadcastSnippet": { + "description": "Basic broadcast information.", "id": "LiveBroadcastSnippet", "properties": { "actualEndTime": { - "description": "The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time that the broadcast actually ended. This information is\nonly available once the broadcast's state is complete. The\nvalue is specified in ISO 8601\nformat.", "type": "string" }, "actualStartTime": { - "description": "The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", - "type": "string" - }, - "broadcastType": { - "enum": [ - "fludd", - "fluddArchive", - "gplusHoa", - "lcrEncoder", - "mobile", - "persistent", - "premiere", - "unspecified", - "webcam", - "ytHoa" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], + "description": "The date and time that the broadcast actually started. This information is\nonly available once the broadcast's state is live. The\nvalue is specified in ISO 8601\nformat.", "type": "string" }, "channelId": { - "description": "The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.", + "description": "The ID that YouTube uses to uniquely identify the channel that\nis publishing the broadcast.", "type": "string" }, "description": { - "description": "The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.", + "description": "The broadcast's description. As with the title, you can set\nthis field by modifying the broadcast resource or by setting the\ndescription\nfield of the corresponding video resource.", "type": "string" }, "isDefaultBroadcast": { + "description": "Indicates whether this broadcast is the default broadcast.\nInternal only.", "type": "boolean" }, "liveChatId": { @@ -7643,54 +8165,34 @@ "type": "string" }, "publishedAt": { - "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.", - "format": "date-time", + "description": "The date and time that the broadcast was added to YouTube's live broadcast\nschedule. The value is specified in\nISO 8601\nformat.", "type": "string" }, "scheduledEndTime": { - "description": "The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time that the broadcast is scheduled to end. The value\nis specified in ISO 8601\nformat.", "type": "string" }, "scheduledStartTime": { - "annotations": { - "required": [ - "youtube.liveBroadcasts.insert", - "youtube.liveBroadcasts.update" - ] - }, - "description": "The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time that the broadcast is scheduled to start. The value\nis specified in ISO 8601\nformat.", "type": "string" }, "thumbnails": { "$ref": "ThumbnailDetails", - "description": "A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail." + "description": "A map of thumbnail images associated with the broadcast. For each nested\nobject in this object, the key is the name of the thumbnail image, and\nthe value is an object that contains other information about the\nthumbnail." }, "title": { - "annotations": { - "required": [ - "youtube.liveBroadcasts.insert", - "youtube.liveBroadcasts.update" - ] - }, - "description": "The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.", + "description": "The broadcast's title. Note that the broadcast represents exactly one\nYouTube video. You can set this field by modifying the broadcast resource\nor by setting the\ntitle\nfield of the corresponding video resource.", "type": "string" } }, "type": "object" }, "LiveBroadcastStatistics": { - "description": "Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts.", + "description": "Statistics about the live broadcast. These represent a snapshot of the values\nat the time of the request. Statistics are only returned for live broadcasts.", "id": "LiveBroadcastStatistics", "properties": { - "concurrentViewers": { - "description": "The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.", - "format": "uint64", - "type": "string" - }, "totalChatCount": { - "description": "The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.", + "description": "The total number of live chat messages currently on the broadcast. The\nproperty and its value will be present if the broadcast is public, has\nthe live chat feature enabled, and has at least one message. Note that\nthis field will not be filled after the broadcast ends. So this property\nwould not identify the number of chat messages for an archived video of a\ncompleted live broadcast.", "format": "uint64", "type": "string" } @@ -7698,61 +8200,61 @@ "type": "object" }, "LiveBroadcastStatus": { + "description": "Live broadcast state.", "id": "LiveBroadcastStatus", "properties": { "lifeCycleStatus": { - "description": "The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.", + "description": "The broadcast's status. The status can be updated using the API's\nliveBroadcasts.transition method.", "enum": [ - "complete", + "lifeCycleStatusUnspecified", "created", - "live", - "liveStarting", "ready", + "testing", + "live", + "complete", "revoked", "testStarting", - "testing" + "liveStarting" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" + "No value or the value is unknown.", + "Incomplete settings, but otherwise valid", + "Complete settings", + "Visible only to partner, may need special UI treatment", + "Viper is recording; this means the \"clock\" is running", + "The broadcast is finished.", + "This broadcast was removed by admin action", + "Transition into TESTING has been requested", + "Transition into LIVE has been requested" ], "type": "string" }, "liveBroadcastPriority": { "description": "Priority of the live broadcast event (internal state).", "enum": [ - "high", + "liveBroadcastPriorityUnspecified", "low", - "normal" + "normal", + "high" ], "enumDescriptions": [ "", - "", - "" + "Low priority broadcast: for low view count HoAs or other\nlow priority broadcasts.", + "Normal priority broadcast: for regular HoAs and broadcasts.", + "High priority broadcast: for high profile HoAs, like PixelCorp ones." ], "type": "string" }, "madeForKids": { + "description": "Whether the broadcast is made for kids or not, decided by YouTube instead\nof the creator. This field is read only.", "type": "boolean" }, "privacyStatus": { - "annotations": { - "required": [ - "youtube.liveBroadcasts.insert", - "youtube.liveBroadcasts.update" - ] - }, - "description": "The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.", + "description": "The broadcast's privacy status. Note that the broadcast represents\nexactly one YouTube video, so the privacy settings are identical to\nthose supported for videos. In addition, you can set this field by\nmodifying the broadcast resource or by setting the\nprivacyStatus\nfield of the corresponding video resource.", "enum": [ - "private", "public", - "unlisted" + "unlisted", + "private" ], "enumDescriptions": [ "", @@ -7764,25 +8266,28 @@ "recordingStatus": { "description": "The broadcast's recording status.", "enum": [ + "liveBroadcastRecordingStatusUnspecified", "notRecording", - "recorded", - "recording" + "recording", + "recorded" ], "enumDescriptions": [ - "", - "", - "" + "No value or the value is unknown.", + "The recording has not yet been started.", + "The recording is currently on.", + "The recording is completed, and cannot be started again." ], "type": "string" }, "selfDeclaredMadeForKids": { + "description": "This field will be set to True if the creator declares the broadcast to be\nkids only: go/live-cw-work.", "type": "boolean" } }, "type": "object" }, "LiveChatBan": { - "description": "A liveChatBan resource represents a ban for a YouTube live chat.", + "description": "A `__liveChatBan__` resource represents a ban for a YouTube live chat.", "id": "LiveChatBan", "properties": { "etag": { @@ -7795,12 +8300,12 @@ }, "kind": { "default": "youtube#liveChatBan", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatBan\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n`\"youtube#liveChatBan\"`.", "type": "string" }, "snippet": { "$ref": "LiveChatBanSnippet", - "description": "The snippet object contains basic details about the ban." + "description": "The `snippet` object contains basic details about the ban." } }, "type": "object" @@ -7823,12 +8328,14 @@ "type": { "description": "The type of ban.", "enum": [ + "liveChatBanTypeUnspecified", "permanent", "temporary" ], "enumDescriptions": [ - "", - "" + "An invalid ban type.", + "A permanent ban.", + "A temporary ban." ], "type": "string" } @@ -7859,12 +8366,12 @@ "type": "object" }, "LiveChatMessage": { - "description": "A liveChatMessage resource represents a chat message in a YouTube Live Chat.", + "description": "A liveChatMessage resource represents a chat\nmessage in a YouTube Live Chat.", "id": "LiveChatMessage", "properties": { "authorDetails": { "$ref": "LiveChatMessageAuthorDetails", - "description": "The authorDetails object contains basic details about the user that posted this message." + "description": "The authorDetails object contains basic details about the\nuser that posted this message." }, "etag": { "description": "Etag of this resource.", @@ -7876,12 +8383,12 @@ }, "kind": { "default": "youtube#liveChatMessage", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatMessage\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#liveChatMessage\".", "type": "string" }, "snippet": { "$ref": "LiveChatMessageSnippet", - "description": "The snippet object contains basic details about the message." + "description": "The snippet object contains basic details about the message." } }, "type": "object" @@ -7945,7 +8452,6 @@ "type": "string" }, "items": { - "description": "A list of live chat messages.", "items": { "$ref": "LiveChatMessage" }, @@ -7953,20 +8459,19 @@ }, "kind": { "default": "youtube#liveChatMessageListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatMessageListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#liveChatMessageListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", "type": "string" }, "offlineAt": { - "description": "The date and time when the underlying stream went offline. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time when the underlying stream went offline. The value is\nspecified in ISO 8601\nformat.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "pollingIntervalMillis": { "description": "The amount of time the client should wait before polling again.", @@ -7977,7 +8482,7 @@ "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -7996,16 +8501,16 @@ "id": "LiveChatMessageSnippet", "properties": { "authorChannelId": { - "description": "The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase", + "description": "The ID of the user that authored this message, this field is not always\nfilled.\ntextMessageEvent - the user that wrote the message\nfanFundingEvent - the user that funded the broadcast\nnewSponsorEvent - the user that just became a sponsor\nmessageDeletedEvent - the moderator that took the action\nmessageRetractedEvent - the author that retracted their message\nuserBannedEvent - the moderator that took the action\nsuperChatEvent - the user that made the purchase", "type": "string" }, "displayMessage": { - "description": "Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent.", + "description": "Contains a string that can be displayed to the user.\nIf this field is not present the message is silent, at the moment only\nmessages of type TOMBSTONE and CHAT_ENDED_EVENT are silent.", "type": "string" }, "fanFundingEventDetails": { "$ref": "LiveChatFanFundingEventDetails", - "description": "Details about the funding event, this is only set if the type is 'fanFundingEvent'." + "description": "Details about the funding event, this is only set if the type is\n'fanFundingEvent'." }, "hasDisplayContent": { "description": "Whether the message has display content that should be displayed to users.", @@ -8020,54 +8525,38 @@ "messageRetractedDetails": { "$ref": "LiveChatMessageRetractedDetails" }, - "pollClosedDetails": { - "$ref": "LiveChatPollClosedDetails" - }, - "pollEditedDetails": { - "$ref": "LiveChatPollEditedDetails" - }, - "pollOpenedDetails": { - "$ref": "LiveChatPollOpenedDetails" - }, - "pollVotedDetails": { - "$ref": "LiveChatPollVotedDetails" - }, "publishedAt": { - "description": "The date and time when the message was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time when the message was orignally published. The value is\nspecified in ISO 8601\nformat.", "type": "string" }, "superChatDetails": { "$ref": "LiveChatSuperChatDetails", - "description": "Details about the Super Chat event, this is only set if the type is 'superChatEvent'." + "description": "Details about the Super Chat event, this is only set if the type is\n'superChatEvent'." }, "superStickerDetails": { "$ref": "LiveChatSuperStickerDetails", - "description": "Details about the Super Sticker event, this is only set if the type is 'superStickerEvent'." + "description": "Details about the Super Sticker event, this is only set if the type is\n'superStickerEvent'." }, "textMessageDetails": { "$ref": "LiveChatTextMessageDetails", - "description": "Details about the text message, this is only set if the type is 'textMessageEvent'." + "description": "Details about the text message, this is only set if the type is\n'textMessageEvent'." }, "type": { - "description": "The type of message, this will always be present, it determines the contents of the message as well as which fields will be present.", + "description": "The type of message, this will always be present, it determines the\ncontents of the message as well as which fields will be present.", "enum": [ - "chatEndedEvent", - "fanFundingEvent", - "messageDeletedEvent", - "messageRetractedEvent", - "newSponsorEvent", - "pollClosedEvent", - "pollEditedEvent", - "pollOpenedEvent", - "pollVotedEvent", - "sponsorOnlyModeEndedEvent", - "sponsorOnlyModeStartedEvent", - "superChatEvent", - "superStickerEvent", + "invalidType", "textMessageEvent", "tombstone", - "userBannedEvent" + "fanFundingEvent", + "chatEndedEvent", + "sponsorOnlyModeStartedEvent", + "sponsorOnlyModeEndedEvent", + "newSponsorEvent", + "messageDeletedEvent", + "messageRetractedEvent", + "userBannedEvent", + "superChatEvent", + "superStickerEvent" ], "enumDescriptions": [ "", @@ -8082,9 +8571,6 @@ "", "", "", - "", - "", - "", "" ], "type": "string" @@ -8096,7 +8582,7 @@ "type": "object" }, "LiveChatModerator": { - "description": "A liveChatModerator resource represents a moderator for a YouTube live chat. A chat moderator has the ability to ban/unban users from a chat, remove message, etc.", + "description": "A liveChatModerator resource represents a\nmoderator for a YouTube live chat. A chat moderator has the ability to\nban/unban users from a chat, remove message, etc.", "id": "LiveChatModerator", "properties": { "etag": { @@ -8109,12 +8595,12 @@ }, "kind": { "default": "youtube#liveChatModerator", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatModerator\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#liveChatModerator\".", "type": "string" }, "snippet": { "$ref": "LiveChatModeratorSnippet", - "description": "The snippet object contains basic details about the moderator." + "description": "The snippet object contains basic details about the\nmoderator." } }, "type": "object" @@ -8139,25 +8625,26 @@ }, "kind": { "default": "youtube#liveChatModeratorListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveChatModeratorListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#liveChatModeratorListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "prevPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the previous page in the result set.", "type": "string" }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -8177,79 +8664,6 @@ }, "type": "object" }, - "LiveChatPollClosedDetails": { - "id": "LiveChatPollClosedDetails", - "properties": { - "pollId": { - "description": "The id of the poll that was closed.", - "type": "string" - } - }, - "type": "object" - }, - "LiveChatPollEditedDetails": { - "id": "LiveChatPollEditedDetails", - "properties": { - "id": { - "type": "string" - }, - "items": { - "items": { - "$ref": "LiveChatPollItem" - }, - "type": "array" - }, - "prompt": { - "type": "string" - } - }, - "type": "object" - }, - "LiveChatPollItem": { - "id": "LiveChatPollItem", - "properties": { - "description": { - "description": "Plain text description of the item.", - "type": "string" - }, - "itemId": { - "type": "string" - } - }, - "type": "object" - }, - "LiveChatPollOpenedDetails": { - "id": "LiveChatPollOpenedDetails", - "properties": { - "id": { - "type": "string" - }, - "items": { - "items": { - "$ref": "LiveChatPollItem" - }, - "type": "array" - }, - "prompt": { - "type": "string" - } - }, - "type": "object" - }, - "LiveChatPollVotedDetails": { - "id": "LiveChatPollVotedDetails", - "properties": { - "itemId": { - "description": "The poll item the user chose.", - "type": "string" - }, - "pollId": { - "description": "The poll the user voted on.", - "type": "string" - } - }, - "type": "object" - }, "LiveChatSuperChatDetails": { "id": "LiveChatSuperChatDetails", "properties": { @@ -8267,7 +8681,7 @@ "type": "string" }, "tier": { - "description": "The tier in which the amount belongs. Lower amounts belong to lower tiers. The lowest tier is 1.", + "description": "The tier in which the amount belongs. Lower amounts belong to lower\ntiers. The lowest tier is 1.", "format": "uint32", "type": "integer" }, @@ -8299,7 +8713,7 @@ "description": "Information about the Super Sticker." }, "tier": { - "description": "The tier in which the amount belongs. Lower amounts belong to lower tiers. The lowest tier is 1.", + "description": "The tier in which the amount belongs. Lower amounts belong to lower\ntiers. The lowest tier is 1.", "format": "uint32", "type": "integer" } @@ -8320,7 +8734,7 @@ "id": "LiveChatUserBannedMessageDetails", "properties": { "banDurationSeconds": { - "description": "The duration of the ban. This property is only present if the banType is temporary.", + "description": "The duration of the ban. This property is only present if the\nbanType is temporary.", "format": "uint64", "type": "string" }, @@ -8349,37 +8763,32 @@ "properties": { "cdn": { "$ref": "CdnSettings", - "description": "The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube." + "description": "The cdn object defines the live stream's content delivery\nnetwork (CDN) settings. These settings provide details about the manner\nin which you stream your content to YouTube." }, "contentDetails": { "$ref": "LiveStreamContentDetails", - "description": "The content_details object contains information about the stream, including the closed captions ingestion URL." + "description": "The content_details object contains information about the\nstream, including the closed captions ingestion URL." }, "etag": { "description": "Etag of this resource.", "type": "string" }, "id": { - "annotations": { - "required": [ - "youtube.liveStreams.update" - ] - }, "description": "The ID that YouTube assigns to uniquely identify the stream.", "type": "string" }, "kind": { "default": "youtube#liveStream", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveStream\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#liveStream\".", "type": "string" }, "snippet": { "$ref": "LiveStreamSnippet", - "description": "The snippet object contains basic details about the stream, including its channel, title, and description." + "description": "The snippet object contains basic details about the\nstream, including its channel, title, and description." }, "status": { "$ref": "LiveStreamStatus", - "description": "The status object contains information about live stream's status." + "description": "The status object contains information about\nlive stream's status." } }, "type": "object" @@ -8398,9 +8807,9 @@ "severity": { "description": "How severe this issue is to the stream.", "enum": [ - "error", "info", - "warning" + "warning", + "error" ], "enumDescriptions": [ "", @@ -8412,40 +8821,40 @@ "type": { "description": "The kind of error happening.", "enum": [ + "gopSizeOver", + "gopSizeLong", + "gopSizeShort", + "openGop", + "badContainer", "audioBitrateHigh", "audioBitrateLow", - "audioBitrateMismatch", - "audioCodec", - "audioCodecMismatch", "audioSampleRate", - "audioSampleRateMismatch", - "audioStereoMismatch", - "audioTooManyChannels", - "badContainer", "bitrateHigh", "bitrateLow", - "frameRateHigh", - "framerateMismatch", - "gopMismatch", - "gopSizeLong", - "gopSizeOver", - "gopSizeShort", - "interlacedVideo", - "multipleAudioStreams", - "multipleVideoStreams", + "audioCodec", + "videoCodec", "noAudioStream", "noVideoStream", - "openGop", + "multipleVideoStreams", + "multipleAudioStreams", + "audioTooManyChannels", + "interlacedVideo", + "frameRateHigh", "resolutionMismatch", - "videoBitrateMismatch", - "videoCodec", "videoCodecMismatch", - "videoIngestionFasterThanRealtime", - "videoIngestionStarved", "videoInterlaceMismatch", "videoProfileMismatch", + "videoBitrateMismatch", + "framerateMismatch", + "gopMismatch", + "audioSampleRateMismatch", + "audioStereoMismatch", + "audioCodecMismatch", + "audioBitrateMismatch", "videoResolutionSuboptimal", - "videoResolutionUnsupported" + "videoResolutionUnsupported", + "videoIngestionStarved", + "videoIngestionFasterThanRealtime" ], "enumDescriptions": [ "", @@ -8497,7 +8906,7 @@ "type": "string" }, "isReusable": { - "description": "Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times.\n\nIf you set this value to false, then the stream will not be reusable, which means that it can only be bound to one broadcast. Non-reusable streams differ from reusable streams in the following ways: \n- A non-reusable stream can only be bound to one broadcast. \n- A non-reusable stream might be deleted by an automated process after the broadcast ends. \n- The liveStreams.list method does not list non-reusable streams if you call the method and set the mine parameter to true. The only way to use that method to retrieve the resource for a non-reusable stream is to use the id parameter to identify the stream.", + "description": "Indicates whether the stream is reusable, which means that it\ncan be bound to multiple broadcasts. It is common for\nbroadcasters to reuse the same stream for many different\nbroadcasts if those broadcasts occur at different times.

\nIf you set this value to false, then the stream\nwill not be reusable, which means that it can only be bound to\none broadcast. Non-reusable streams differ from reusable streams in the\nfollowing ways:\n
    \n
  • A non-reusable stream can only be bound to one broadcast.
  • \n
  • A non-reusable stream might be deleted by an automated process\n after the broadcast ends.
  • \n
  • The \n liveStreams.list method does not list non-reusable streams\n if you call the method and set the mine parameter to\n true. The only way to use that method to retrieve the\n resource for a non-reusable stream is to use the id\n parameter to identify the stream.
  • \n
", "type": "boolean" } }, @@ -8521,10 +8930,10 @@ "status": { "description": "The status code of this stream", "enum": [ - "bad", "good", - "noData", "ok", + "bad", + "noData", "revoked" ], "enumDescriptions": [ @@ -8559,25 +8968,25 @@ }, "kind": { "default": "youtube#liveStreamListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#liveStreamListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#liveStreamListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { "$ref": "PageInfo" }, "prevPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the previous page in the result set.", "type": "string" }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -8587,28 +8996,21 @@ "id": "LiveStreamSnippet", "properties": { "channelId": { - "description": "The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.", + "description": "The ID that YouTube uses to uniquely identify the channel that\nis transmitting the stream.", "type": "string" }, "description": { - "description": "The stream's description. The value cannot be longer than 10000 characters.", + "description": "The stream's description. The value cannot be longer than 10000\ncharacters.", "type": "string" }, "isDefaultStream": { "type": "boolean" }, "publishedAt": { - "description": "The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time that the stream was created. The value is specified in\nISO 8601\nformat.", "type": "string" }, "title": { - "annotations": { - "required": [ - "youtube.liveStreams.insert", - "youtube.liveStreams.update" - ] - }, "description": "The stream's title. The value must be between 1 and 128 characters long.", "type": "string" } @@ -8625,11 +9027,11 @@ }, "streamStatus": { "enum": [ - "active", "created", - "error", + "ready", + "active", "inactive", - "ready" + "error" ], "enumDescriptions": [ "", @@ -8675,7 +9077,7 @@ "type": "object" }, "Member": { - "description": "A member resource represents a member for a YouTube channel. A member provides recurring monetary support to a creator and receives special benefits.", + "description": "A member resource represents a member for a\nYouTube channel. A member provides recurring monetary support to a creator\nand receives special benefits.", "id": "Member", "properties": { "etag": { @@ -8684,12 +9086,12 @@ }, "kind": { "default": "youtube#member", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#member\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#member\".", "type": "string" }, "snippet": { "$ref": "MemberSnippet", - "description": "The snippet object contains basic details about the member." + "description": "The snippet object contains basic details about the member." } }, "type": "object" @@ -8714,11 +9116,11 @@ }, "kind": { "default": "youtube#memberListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#memberListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#memberListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { @@ -8728,7 +9130,7 @@ "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -8756,7 +9158,7 @@ "id": "MembershipsDetails", "properties": { "accessibleLevels": { - "description": "Ids of all levels that the user has access to. This includes the currently active level and all other levels that are included because of a higher purchase.", + "description": "Ids of all levels that the user has access to. This includes the currently\nactive level and all other levels that are included because of a higher\npurchase.", "items": { "type": "string" }, @@ -8767,12 +9169,12 @@ "type": "string" }, "highestAccessibleLevelDisplayName": { - "description": "Display name of the highest level that the user has access to at the moment.", + "description": "Display name for the highest level that the user has access to at the\nmoment.", "type": "string" }, "membershipsDuration": { "$ref": "MembershipsDuration", - "description": "Data about memberships duration without taking into consideration pricing levels." + "description": "Data about memberships duration without taking into consideration pricing\nlevels." }, "membershipsDurationAtLevels": { "description": "Data about memberships duration on particular pricing levels.", @@ -8788,11 +9190,11 @@ "id": "MembershipsDuration", "properties": { "memberSince": { - "description": "The date and time when the user became a continuous member across all levels.", + "description": "The date and time when the user became a continuous member across all\nlevels.", "type": "string" }, "memberTotalDurationMonths": { - "description": "The cumulative time the user has been a member across all levels in complete months (the time is rounded down to the nearest integer).", + "description": "The cumulative time the user has been a member across all levels in\ncomplete months (the time is rounded down to the nearest integer).", "format": "int32", "type": "integer" } @@ -8803,15 +9205,15 @@ "id": "MembershipsDurationAtLevel", "properties": { "level": { - "description": "Pricing level id.", + "description": "Pricing level ID.", "type": "string" }, "memberSince": { - "description": "The date and time when the user became a continuous member for the given level.", + "description": "The date and time when the user became a continuous member for the given\nlevel.", "type": "string" }, "memberTotalDurationMonths": { - "description": "The cumulative time the user has been a member for the given level in complete months (the time is rounded down to the nearest integer).", + "description": "The cumulative time the user has been a member for the given level in\ncomplete months (the time is rounded down to the nearest integer).", "format": "int32", "type": "integer" } @@ -8819,7 +9221,7 @@ "type": "object" }, "MembershipsLevel": { - "description": "A membershipsLevel resource represents an offer made by YouTube creators for their fans. Users can become members of the channel by joining one of the available levels. They will provide recurring monetary support and receives special benefits.", + "description": "A membershipsLevel resource represents an offer\nmade by YouTube creators for their fans. Users can become members of the\nchannel by joining one of the available levels. They will provide recurring\nmonetary support and receives special benefits.", "id": "MembershipsLevel", "properties": { "etag": { @@ -8832,12 +9234,12 @@ }, "kind": { "default": "youtube#membershipsLevel", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#membershipsLevel\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#membershipsLevelListResponse\".", "type": "string" }, "snippet": { "$ref": "MembershipsLevelSnippet", - "description": "The snippet object contains basic details about the level." + "description": "The snippet object contains basic details about the level." } }, "type": "object" @@ -8862,11 +9264,11 @@ }, "kind": { "default": "youtube#membershipsLevelListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#membershipsLevelListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#membershipsLevelListResponse\".", "type": "string" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -8880,7 +9282,8 @@ "type": "string" }, "levelDetails": { - "$ref": "LevelDetails" + "$ref": "LevelDetails", + "description": "Details about the pricing level." } }, "type": "object" @@ -8895,7 +9298,7 @@ "youtube.liveBroadcasts.update" ] }, - "description": "If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.", + "description": "If you have set the\nenableMonitorStream\nproperty to true, then this property determines the\nlength of the live broadcast delay.", "format": "uint32", "type": "integer" }, @@ -8909,38 +9312,14 @@ "youtube.liveBroadcasts.update" ] }, - "description": "This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.\n\nYou need to set this value to true if you intend to have a broadcast delay for your event.\n\nNote: This property cannot be updated once the broadcast is in the testing or live state.", + "description": "This value determines whether the monitor stream is enabled for the\nbroadcast. If the monitor stream is enabled, then YouTube will\nbroadcast the event content on a special stream intended only for\nthe broadcaster's consumption. The broadcaster can use the stream\nto review the event content and also to identify the optimal times\nto insert cuepoints.

\nYou need to set this value to true if you intend to have\na broadcast delay for your event.

\nNote: This property cannot be updated once the\nbroadcast is in the testing or live state.", "type": "boolean" } }, "type": "object" }, - "Nonprofit": { - "description": "Nonprofit information.", - "id": "Nonprofit", - "properties": { - "nonprofitId": { - "$ref": "NonprofitId", - "description": "Id of the nonprofit." - }, - "nonprofitLegalName": { - "description": "Legal name of the nonprofit.", - "type": "string" - } - }, - "type": "object" - }, - "NonprofitId": { - "id": "NonprofitId", - "properties": { - "value": { - "type": "string" - } - }, - "type": "object" - }, "PageInfo": { - "description": "Paging details for lists of resources, including total number of items available and number of resources returned in a single page.", + "description": "Paging details for lists of resources, including total number of items\navailable and number of resources returned in a single page.", "id": "PageInfo", "properties": { "resultsPerPage": { @@ -8957,12 +9336,12 @@ "type": "object" }, "Playlist": { - "description": "A playlist resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private.\n\nYouTube also uses playlists to identify special collections of videos for a channel, such as: \n- uploaded videos \n- favorite videos \n- positively rated (liked) videos \n- watch history \n- watch later To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel.\n\nYou can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods.", + "description": "A playlist resource represents a YouTube\nplaylist. A playlist is a collection of videos that can be viewed\nsequentially and shared with other users. A playlist can contain up to\n200 videos, and YouTube does not limit the number of playlists that\neach user creates. By default, playlists are publicly visible to other\nusers, but playlists can be public or private.

YouTube\nalso uses playlists to identify special collections of videos for a\nchannel, such as:\n
    \n
  • uploaded videos
  • \n
  • favorite videos
  • \n
  • positively rated (liked) videos
  • \n
  • watch history
  • \n
  • watch later
  • \n
\nTo be more specific, these lists are associated with a channel, which\nis a collection of a person, group, or company's videos, playlists,\nand other YouTube information. You can retrieve the playlist IDs for\neach of these lists from the channel resource for a\ngiven channel.

You can then use the \nplaylistItems.list method to retrieve any of those\nlists. You can also add or remove items from those lists by calling\nthe \nplaylistItems.insert and \nplaylistItems.delete methods.", "id": "Playlist", "properties": { "contentDetails": { "$ref": "PlaylistContentDetails", - "description": "The contentDetails object contains information like video count." + "description": "The contentDetails object contains information like\nvideo count." }, "etag": { "description": "Etag of this resource.", @@ -8974,28 +9353,45 @@ }, "kind": { "default": "youtube#playlist", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlist\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#playlist\".", "type": "string" }, "localizations": { "additionalProperties": { - "$ref": "PlaylistLocalization", - "description": "The language tag, using string since map_key require simple types." + "$ref": "PlaylistLocalization" }, "description": "Localizations for different languages", "type": "object" }, "player": { "$ref": "PlaylistPlayer", - "description": "The player object contains information that you would use to play the playlist in an embedded player." + "description": "The player object contains information that you would use\nto play the playlist in an embedded player." }, "snippet": { "$ref": "PlaylistSnippet", - "description": "The snippet object contains basic details about the playlist, such as its title and description." + "description": "The snippet object contains basic details about the\nplaylist, such as its title and description." }, "status": { "$ref": "PlaylistStatus", - "description": "The status object contains status information for the playlist." + "description": "The status object contains status information for the\nplaylist." + } + }, + "type": "object" + }, + "PlaylistCard": { + "id": "PlaylistCard", + "properties": { + "customMessage": { + "description": "Each card can have a custom message.\nOptional.", + "type": "string" + }, + "playlistId": { + "description": "External playlist ID.\nRequired.", + "type": "string" + }, + "startVideoId": { + "description": "Starting video, if not the first.\nOptional.", + "type": "string" } }, "type": "object" @@ -9012,12 +9408,12 @@ "type": "object" }, "PlaylistItem": { - "description": "A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.\n\nYouTube uses playlists to identify special collections of videos for a channel, such as: \n- uploaded videos \n- favorite videos \n- positively rated (liked) videos \n- watch history \n- watch later To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.\n\nYou can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.", + "description": "A playlistItem resource identifies\nanother resource, such as a video, that is included in a playlist. In\naddition, the playlistItem resource contains details\nabout the included resource that pertain specifically to how that\nresource is used in that playlist.

YouTube uses playlists to\nidentify special collections of videos for a channel, such as:\n
    \n
  • uploaded videos
  • \n
  • favorite videos
  • \n
  • positively rated (liked) videos
  • \n
  • watch history
  • \n
  • watch later
  • \n
\n To be more specific, these lists are associated with a channel, which\nis a collection of a person, group, or company's videos, playlists,\nand other YouTube information.\n

\n You can retrieve the playlist IDs for each of these lists from the\n channel resource\n for a given channel. You can then use the \nplaylistItems.list method to retrieve any of those\nlists. You can also add or remove items from those lists by calling\nthe \nplaylistItems.insert and \nplaylistItems.delete methods. For example, if a user gives\na positive rating to a video, you would insert that video into the\nliked videos playlist for that user's channel.", "id": "PlaylistItem", "properties": { "contentDetails": { "$ref": "PlaylistItemContentDetails", - "description": "The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video." + "description": "The contentDetails object is included in the resource if\nthe included item is a YouTube video. The object contains additional\ninformation about the video." }, "etag": { "description": "Etag of this resource.", @@ -9029,16 +9425,16 @@ }, "kind": { "default": "youtube#playlistItem", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistItem\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#playlistItem\".", "type": "string" }, "snippet": { "$ref": "PlaylistItemSnippet", - "description": "The snippet object contains basic details about the playlist item, such as its title and position in the playlist." + "description": "The snippet object contains basic details about the\nplaylist item, such as its title and position in the playlist." }, "status": { "$ref": "PlaylistItemStatus", - "description": "The status object contains information about the playlist item's privacy status." + "description": "The status object contains information about the playlist\nitem's privacy status." } }, "type": "object" @@ -9047,7 +9443,7 @@ "id": "PlaylistItemContentDetails", "properties": { "endAt": { - "description": "The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.", + "description": "The time, measured in seconds from the start of the video, when the video\nshould stop playing. (The playlist owner can specify the times when the\nvideo should start and stop playing when the video is played in the context\nof the playlist.) By default, assume that the video.endTime is\nthe end of the video.", "type": "string" }, "note": { @@ -9055,16 +9451,15 @@ "type": "string" }, "startAt": { - "description": "The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.", + "description": "The time, measured in seconds from the start of the video, when the video\nshould start playing. (The playlist owner can specify the times when the\nvideo should start and stop playing when the video is played in the context\nof the playlist.) The default value is 0.", "type": "string" }, "videoId": { - "description": "The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.", + "description": "The ID that YouTube uses to uniquely identify a video. To retrieve the video\nresource, set the id query parameter to this value in your\nAPI request.", "type": "string" }, "videoPublishedAt": { - "description": "The date and time that the video was published to YouTube. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time that the video was published to YouTube. The value is\nspecified in ISO 8601\nformat.", "type": "string" } }, @@ -9074,7 +9469,6 @@ "id": "PlaylistItemListResponse", "properties": { "etag": { - "description": "Etag of this resource.", "type": "string" }, "eventId": { @@ -9090,36 +9484,37 @@ }, "kind": { "default": "youtube#playlistItemListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistItemListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#playlistItemListResponse\".\nEtag of this resource.", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "prevPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the previous page in the result set.", "type": "string" }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, "type": "object" }, "PlaylistItemSnippet": { - "description": "Basic details about a playlist, including title, description and thumbnails.", + "description": "Basic details about a playlist, including title, description and thumbnails.\nBasic details of a YouTube Playlist item provided by the author.\nNext ID: 13", "id": "PlaylistItemSnippet", "properties": { "channelId": { - "description": "The ID that YouTube uses to uniquely identify the user that added the item to the playlist.", + "description": "The ID that YouTube uses to uniquely identify the user that added\nthe item to the playlist.", "type": "string" }, "channelTitle": { @@ -9131,38 +9526,25 @@ "type": "string" }, "playlistId": { - "annotations": { - "required": [ - "youtube.playlistItems.insert", - "youtube.playlistItems.update" - ] - }, - "description": "The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.", + "description": "The ID that YouTube uses to uniquely identify thGe playlist that the\nplaylist item is in.", "type": "string" }, "position": { - "description": "The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.", + "description": "The order in which the item appears in the playlist. The value uses a\nzero-based index, so the first item has a position of 0,\nthe second item has a position of 1, and so forth.", "format": "uint32", "type": "integer" }, "publishedAt": { - "description": "The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", - "format": "date-time", + "description": "The date and time that the item was added to the playlist. The value is\nspecified in ISO 8601\nformat.", "type": "string" }, "resourceId": { "$ref": "ResourceId", - "annotations": { - "required": [ - "youtube.playlistItems.insert", - "youtube.playlistItems.update" - ] - }, - "description": "The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item." + "description": "The id object contains information that can be used to\nuniquely identify the resource that is included in the playlist as\nthe playlist item." }, "thumbnails": { "$ref": "ThumbnailDetails", - "description": "A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail." + "description": "A map of thumbnail images associated with the playlist item. For each\nobject in the map, the key is the name of the thumbnail image, and the\nvalue is an object that contains other information about the thumbnail." }, "title": { "description": "The item's title.", @@ -9178,9 +9560,9 @@ "privacyStatus": { "description": "This resource's privacy status.", "enum": [ - "private", "public", - "unlisted" + "unlisted", + "private" ], "enumDescriptions": [ "", @@ -9204,7 +9586,7 @@ "type": "string" }, "items": { - "description": "A list of playlists that match the request criteria.", + "description": "A list of playlists that match the request criteria", "items": { "$ref": "Playlist" }, @@ -9212,25 +9594,26 @@ }, "kind": { "default": "youtube#playlistListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string\n\"youtube#playlistListResponse\".", "type": "string" }, "nextPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the next page in the result set.", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "prevPageToken": { - "description": "The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.", + "description": "The token that can be used as the value of the pageToken\nparameter to retrieve the previous page in the result set.", "type": "string" }, "tokenPagination": { "$ref": "TokenPagination" }, "visitorId": { - "description": "The visitorId identifies the visitor.", + "description": "The visitorId identifies the visitor.", "type": "string" } }, @@ -9255,7 +9638,7 @@ "id": "PlaylistPlayer", "properties": { "embedHtml": { - "description": "An