diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7dd110e3f72..06067a8c7e9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,7 +16,11 @@ jobs: with: node-version: ${{ matrix.node }} - run: node --version - - run: npm install --engine-strict + # The first installation step ensures that all of our production + # dependencies work on the given Node.js version, this helps us find + # dependencies that don't match our engines field: + - run: npm install --production --engine-strict + - run: npm install - run: npm test - name: coverage uses: codecov/codecov-action@v1 diff --git a/discovery/apigee-v1.json b/discovery/apigee-v1.json index c40f73e8e5b..b1fcfd795e6 100644 --- a/discovery/apigee-v1.json +++ b/discovery/apigee-v1.json @@ -204,6 +204,21 @@ "pattern": "^organizations/[^/]+/deployedIngressConfig$", "required": true, "type": "string" + }, + "view": { + "description": "When set to FULL, additional details about the specific deployments receiving traffic will be included in the IngressConfig response's RoutingRules.", + "enum": [ + "INGRESS_CONFIG_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default/unset value. The API will default to the BASIC view.", + "Include all ingress config data necessary for the runtime to configure ingress, but no more. Routing rules will include only basepath and destination environment. This the default value.", + "Include all ingress config data, including internal debug info for each routing rule such as the proxy claiming a particular basepath and when the routing rule first appeared in the env group." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+name}", @@ -5501,11 +5516,182 @@ } } } + }, + "sites": { + "resources": { + "apicategories": { + "methods": { + "create": { + "description": "Creates a new category on the portal.", + "flatPath": "v1/organizations/{organizationsId}/sites/{sitesId}/apicategories", + "httpMethod": "POST", + "id": "apigee.organizations.sites.apicategories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the portal. Use the following structure in your request: `organizations/{org}/sites/{site}`", + "location": "path", + "pattern": "^organizations/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apicategories", + "request": { + "$ref": "GoogleCloudApigeeV1ApiCategoryData" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a category from the portal.", + "flatPath": "v1/organizations/{organizationsId}/sites/{sitesId}/apicategories/{apicategoriesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.sites.apicategories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the category. Use the following structure in your request: `organizations/{org}/sites/{site}/apicategories/{apicategory}`", + "location": "path", + "pattern": "^organizations/[^/]+/sites/[^/]+/apicategories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiResponseWrapper" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a category on the portal.", + "flatPath": "v1/organizations/{organizationsId}/sites/{sitesId}/apicategories/{apicategoriesId}", + "httpMethod": "GET", + "id": "apigee.organizations.sites.apicategories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the category. Use the following structure in your request: `organizations/{org}/sites/{site}/apicategories/{apicategory}`", + "location": "path", + "pattern": "^organizations/[^/]+/sites/[^/]+/apicategories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the categories on the portal.", + "flatPath": "v1/organizations/{organizationsId}/sites/{sitesId}/apicategories", + "httpMethod": "GET", + "id": "apigee.organizations.sites.apicategories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the portal. Use the following structure in your request: `organizations/{org}/sites/{site}`", + "location": "path", + "pattern": "^organizations/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apicategories", + "response": { + "$ref": "GoogleCloudApigeeV1ListApiCategoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a category on the portal.", + "flatPath": "v1/organizations/{organizationsId}/sites/{sitesId}/apicategories/{apicategoriesId}", + "httpMethod": "PATCH", + "id": "apigee.organizations.sites.apicategories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the category. Use the following structure in your request: `organizations/{org}/sites/{site}/apicategories/{apicategory}`", + "location": "path", + "pattern": "^organizations/[^/]+/sites/[^/]+/apicategories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1ApiCategoryData" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "projects": { + "methods": { + "provisionOrganization": { + "description": "Provisions a new Apigee organization with a functioning runtime. This is the standard way to create trial organizations for a free Apigee trial.", + "flatPath": "v1/projects/{projectsId}:provisionOrganization", + "httpMethod": "POST", + "id": "apigee.projects.provisionOrganization", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Required. Name of the GCP project with which to associate the Apigee organization.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+project}:provisionOrganization", + "request": { + "$ref": "GoogleCloudApigeeV1ProvisionOrganizationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } }, - "revision": "20200924", + "revision": "20201002", "rootUrl": "https://apigee.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -5648,6 +5834,57 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ApiCategory": { + "description": "the Api category resource wrapped with response status, error_code etc.", + "id": "GoogleCloudApigeeV1ApiCategory", + "properties": { + "data": { + "$ref": "GoogleCloudApigeeV1ApiCategoryData", + "description": "Details of category." + }, + "errorCode": { + "description": "ID that can be used to find errors in the log files.", + "type": "string" + }, + "message": { + "description": "Description of the operation.", + "type": "string" + }, + "requestId": { + "description": "ID that can be used to find request details in the log files.", + "type": "string" + }, + "status": { + "description": "Status of the operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiCategoryData": { + "description": "the Api category resource.", + "id": "GoogleCloudApigeeV1ApiCategoryData", + "properties": { + "id": { + "description": "ID of the category (a UUID).", + "type": "string" + }, + "name": { + "description": "Name of the category.", + "type": "string" + }, + "siteId": { + "description": "Name of the portal.", + "type": "string" + }, + "updateTime": { + "description": "Time the category was last modified in milliseconds since epoch.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ApiProduct": { "id": "GoogleCloudApigeeV1ApiProduct", "properties": { @@ -5901,6 +6138,28 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ApiResponseWrapper": { + "id": "GoogleCloudApigeeV1ApiResponseWrapper", + "properties": { + "errorCode": { + "description": "ID that can be used to find errors in the log files.", + "type": "string" + }, + "message": { + "description": "Description of the operation.", + "type": "string" + }, + "requestId": { + "description": "ID that can be used to find request details in the log files.", + "type": "string" + }, + "status": { + "description": "Status of the operation.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1App": { "id": "GoogleCloudApigeeV1App", "properties": { @@ -7457,6 +7716,23 @@ "description": "Output only. Port number of the exposed Apigee endpoint.", "readOnly": true, "type": "string" + }, + "state": { + "description": "Output only. State of the instance. Values other than ACTIVE means the resource is not ready to use.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING" + ], + "enumDescriptions": [ + "Resource is in an unspecified state.", + "Resource is being created.", + "Resource is provisioned and ready to use.", + "The resource is being deleted." + ], + "readOnly": true, + "type": "string" } }, "type": "object" @@ -7613,6 +7889,36 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ListApiCategoriesResponse": { + "description": "the response for ListApiCategoriesRequest.", + "id": "GoogleCloudApigeeV1ListApiCategoriesResponse", + "properties": { + "data": { + "description": "Details of categories.", + "items": { + "$ref": "GoogleCloudApigeeV1ApiCategoryData" + }, + "type": "array" + }, + "errorCode": { + "description": "ID that can be used to find errors in the log files.", + "type": "string" + }, + "message": { + "description": "Description of the operation.", + "type": "string" + }, + "requestId": { + "description": "ID that can be used to find request details in the log files.", + "type": "string" + }, + "status": { + "description": "Status of the operation.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ListApiProductsResponse": { "id": "GoogleCloudApigeeV1ListApiProductsResponse", "properties": { @@ -8305,6 +8611,25 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ProvisionOrganizationRequest": { + "description": "Request for ProvisionOrganization.", + "id": "GoogleCloudApigeeV1ProvisionOrganizationRequest", + "properties": { + "analyticsRegion": { + "description": "Primary Cloud Platform region for analytics data storage. For valid values, see [Create an organization](https://docs.apigee.com/hybrid/latest/precog-provision). Defaults to us-west1.", + "type": "string" + }, + "authorizedNetwork": { + "description": "Name of the customer project's VPC network. If provided, the network needs to be peered through Service Networking. If none is provided, the organization will have access only to the public internet.", + "type": "string" + }, + "runtimeLocation": { + "description": "Cloud Platform location for the runtime instance. Defaults to us-west1-a.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1Query": { "id": "GoogleCloudApigeeV1Query", "properties": { @@ -8680,9 +9005,23 @@ "description": "URI path prefix used to route to the specified environment. May contain one or more wildcards. For example, path segments consisting of a single `*` character will match any string.", "type": "string" }, + "envGroupRevision": { + "description": "The env group config revision_id when this rule was added or last updated. This value is set when the rule is created and will only update if the the environment_id changes. It is used to determine if the runtime is up to date with respect to this rule. This field is omitted from the IngressConfig unless the GetDeployedIngressConfig API is called with debug=true.", + "format": "int64", + "type": "string" + }, "environment": { "description": "Name of an environment bound to the environment group in the following format: `organizations/{org}/environments/{env}`.", "type": "string" + }, + "receiver": { + "description": "The resource name of the proxy revision that is receiving this basepath in the following format: `organizations/{org}/apis/{api}/revisions/{rev}`. This field is omitted from the IngressConfig unless the GetDeployedIngressConfig API is called with debug=true.", + "type": "string" + }, + "updateTime": { + "description": "The unix timestamp when this rule was updated. This is updated whenever env_group_revision is updated. This field is omitted from the IngressConfig unless the GetDeployedIngressConfig API is called with debug=true.", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -9206,7 +9545,7 @@ "description": "The TLS Common Name of the certificate." }, "enabled": { - "description": "Required. Enables one-way TLS.", + "description": "Required. Enables TLS. If false, neither one-way nor two-way TLS will be enabled.", "type": "boolean" }, "ignoreValidationErrors": { diff --git a/discovery/index.json b/discovery/index.json index 01cc81a8196..241b0c919c7 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -209,7 +209,7 @@ "name": "admob", "version": "v1", "title": "AdMob API", - "description": "The Google AdMob API lets you programmatically get reports on earnings.", + "description": "The AdMob API allows publishers to programmatically get information about their AdMob account.", "discoveryRestUrl": "https://admob.googleapis.com/$discovery/rest?version=v1", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", @@ -748,15 +748,14 @@ "id": "calendar:v3", "name": "calendar", "version": "v3", - "title": "Calendar API", - "description": "Manipulates events and other calendar data.", - "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest", - "discoveryLink": "./apis/calendar/v3/rest", + "title": "Google Calendar API", + "description": "The Google Calendar API lets you manage your calendars and events.", + "discoveryRestUrl": "https://calendar-json.googleapis.com/$discovery/rest?version=v3", "icons": { - "x16": "http://www.google.com/images/icons/product/calendar-16.png", - "x32": "http://www.google.com/images/icons/product/calendar-32.png" + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" }, - "documentationLink": "https://developers.google.com/google-apps/calendar/firstapp", + "documentationLink": "http://code.google.com/apis/calendar/v3/", "preferred": true }, { @@ -1871,7 +1870,7 @@ "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" }, - "documentationLink": "http://developers.google.com/cloud-dns", + "documentationLink": "https://cloud.google.com/dns/docs", "preferred": true }, { @@ -1886,7 +1885,7 @@ "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" }, - "documentationLink": "http://developers.google.com/cloud-dns", + "documentationLink": "https://cloud.google.com/dns/docs", "preferred": false }, { @@ -1934,6 +1933,36 @@ "documentationLink": "https://cloud.google.com/document-ai/docs/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "domains:v1alpha2", + "name": "domains", + "version": "v1alpha2", + "title": "Cloud Domains API", + "description": "Enables management and configuration of domain names.", + "discoveryRestUrl": "https://domains.googleapis.com/$discovery/rest?version=v1alpha2", + "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" + }, + "documentationLink": "https://cloud.google.com/domains/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "domains:v1beta1", + "name": "domains", + "version": "v1beta1", + "title": "Cloud Domains API", + "description": "Enables management and configuration of domain names.", + "discoveryRestUrl": "https://domains.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/domains/", + "preferred": false + }, { "kind": "discovery#directoryItem", "id": "domainsrdap:v1", @@ -2927,6 +2956,22 @@ "documentationLink": "https://cloud.google.com/", "preferred": false }, + { + "kind": "discovery#directoryItem", + "id": "oauth2:v2", + "name": "oauth2", + "version": "v2", + "title": "Google OAuth2 API", + "description": "[Deprecated] Obtains end-user authorization grants for use with other Google APIs.", + "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/oauth2/v2/rest", + "discoveryLink": "./apis/oauth2/v2/rest", + "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" + }, + "documentationLink": "https://developers.google.com/accounts/docs/OAuth2", + "preferred": true + }, { "kind": "discovery#directoryItem", "id": "osconfig:v1alpha2", @@ -4335,7 +4380,7 @@ "name": "webmasters", "version": "v3", "title": "Search Console API", - "description": "View Google Search Console data for your verified sites.", + "description": "[Deprecated] View Google Search Console data for your verified sites.", "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/webmasters/v3/rest", "discoveryLink": "./apis/webmasters/v3/rest", "icons": { diff --git a/discovery/youtube-v3.json b/discovery/youtube-v3.json index 64ef1e7995a..2a23e3ff7fe 100644 --- a/discovery/youtube-v3.json +++ b/discovery/youtube-v3.json @@ -3855,7 +3855,7 @@ } } }, - "revision": "20200930", + "revision": "20201017", "rootUrl": "https://www.googleapis.com/", "schemas": { "AbuseReport": { @@ -5161,7 +5161,7 @@ }, "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. When 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. Beginning 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 the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail. When 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. Beginning 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. Thumbnail images might be empty for newly created channels and might take up to one day to populate." }, "title": { "description": "The channel's title.", diff --git a/src/apis/index.ts b/src/apis/index.ts index 15fbd7c66ed..611481d9d0e 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -88,6 +88,7 @@ import * as dlp from './dlp'; import * as dns from './dns'; import * as docs from './docs'; import * as documentai from './documentai'; +import * as domains from './domains'; import * as domainsrdap from './domainsrdap'; import * as doubleclickbidmanager from './doubleclickbidmanager'; import * as doubleclicksearch from './doubleclicksearch'; @@ -283,6 +284,7 @@ export const APIS: APIList = { dns: dns.VERSIONS, docs: docs.VERSIONS, documentai: documentai.VERSIONS, + domains: domains.VERSIONS, domainsrdap: domainsrdap.VERSIONS, doubleclickbidmanager: doubleclickbidmanager.VERSIONS, doubleclicksearch: doubleclicksearch.VERSIONS, @@ -475,6 +477,7 @@ export class GeneratedAPIs { dns = dns.dns; docs = docs.docs; documentai = documentai.documentai; + domains = domains.domains; domainsrdap = domainsrdap.domainsrdap; doubleclickbidmanager = doubleclickbidmanager.doubleclickbidmanager; doubleclicksearch = doubleclicksearch.doubleclicksearch; diff --git a/src/index.ts b/src/index.ts index 7f56d692736..444964fabc5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -149,6 +149,8 @@ export {dns_v2beta1} from './apis/dns/v2beta1'; export {docs_v1} from './apis/docs/v1'; export {documentai_v1beta2} from './apis/documentai/v1beta2'; export {documentai_v1beta3} from './apis/documentai/v1beta3'; +export {domains_v1alpha2} from './apis/domains/v1alpha2'; +export {domains_v1beta1} from './apis/domains/v1beta1'; export {domainsrdap_v1} from './apis/domainsrdap/v1'; export {doubleclickbidmanager_v1_1} from './apis/doubleclickbidmanager/v1.1'; export {doubleclickbidmanager_v1} from './apis/doubleclickbidmanager/v1';